---
Fuzzer filename: "JoranFuzzer"
Fuzzing method: "fuzzerTestOneInput"
All functions:
  Function list name: "All functions"
  Elements:
  - functionName: "[ch.qos.logback.core.joran.util.ParentTag_Tag_Class_Tuple].<init>(java.lang.String,java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.util.ParentTag_Tag_Class_Tuple"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 9
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.ParentTag_Tag_Class_Tuple:33,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.ParentTag_Tag_Class_Tuple].toString()"
    functionSourceFile: "ch.qos.logback.core.joran.util.ParentTag_Tag_Class_Tuple"
    linkageType: null
    functionLinenumber: 40
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,java.lang.String)"
    functionUses: 3
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.ParentTag_Tag_Class_Tuple:41,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.STEUtil].<init>()"
    functionSourceFile: "ch.qos.logback.classic.spi.STEUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.STEUtil:16,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.STEUtil].UNUSED_findNumberOfCommonFrames(java.lang.StackTraceElement[],java.lang.StackTraceElement[])"
    functionSourceFile: "ch.qos.logback.classic.spi.STEUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.lang.StackTraceElement[]"
    - "java.lang.StackTraceElement[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StackTraceElement].equals(java.lang.Object)"
    functionUses: 0
    ICount: 22
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.STEUtil:19"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.STEUtil:23"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.STEUtil:22"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.STEUtil:26"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.STEUtil:35"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.STEUtil:34"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.STEUtil:26"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.STEUtil:35"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.STEUtil:34"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.STEUtil:27"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.STEUtil:35"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.STEUtil:34"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.STEUtil:27,1"
      Dst: "[java.lang.StackTraceElement].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.classic.spi.STEUtil].findNumberOfCommonFrames(java.lang.StackTraceElement[],ch.qos.logback.classic.spi.StackTraceElementProxy[])"
    functionSourceFile: "ch.qos.logback.classic.spi.STEUtil"
    linkageType: null
    functionLinenumber: 38
    functionDepth: 0
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.lang.StackTraceElement[]"
    - "ch.qos.logback.classic.spi.StackTraceElementProxy[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StackTraceElement].equals(java.lang.Object)"
    functionUses: 1
    ICount: 23
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.STEUtil:39"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.STEUtil:43"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.STEUtil:42"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.STEUtil:46"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.STEUtil:55"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.STEUtil:54"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.STEUtil:46"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.STEUtil:55"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.STEUtil:54"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.STEUtil:47"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.STEUtil:55"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.STEUtil:54"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.STEUtil:47,1"
      Dst: "[java.lang.StackTraceElement].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.classic.model.RootLoggerModel].<init>()"
    functionSourceFile: "ch.qos.logback.classic.model.RootLoggerModel"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.RootLoggerModel:23,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.RootLoggerModel].makeNewInstance()"
    functionSourceFile: "ch.qos.logback.classic.model.RootLoggerModel"
    linkageType: null
    functionLinenumber: 29
    functionDepth: 2
    returnType: "ch.qos.logback.classic.model.RootLoggerModel"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.model.RootLoggerModel].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.RootLoggerModel:30,1"
      Dst: "[ch.qos.logback.classic.model.RootLoggerModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.RootLoggerModel].<init>()"
    functionSourceFile: "ch.qos.logback.classic.model.RootLoggerModel"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.RootLoggerModel:23,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.ArrayList].<init>()"
    functionUses: 16
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:27,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.model.Model:40,1"
      Dst: "[java.util.ArrayList].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.RootLoggerModel].mirror(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.classic.model.RootLoggerModel"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].mirror(ch.qos.logback.core.model.Model)"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.RootLoggerModel:36,1"
      Dst: "[ch.qos.logback.core.model.Model].mirror(ch.qos.logback.core.model.Model)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].mirror(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 56
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 11
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.RootLoggerModel].getLevel()"
    functionSourceFile: "ch.qos.logback.classic.model.RootLoggerModel"
    linkageType: null
    functionLinenumber: 41
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.RootLoggerModel].setLevel(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.model.RootLoggerModel"
    linkageType: null
    functionLinenumber: 45
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.RootLoggerModel].hashCode()"
    functionSourceFile: "ch.qos.logback.classic.model.RootLoggerModel"
    linkageType: null
    functionLinenumber: 51
    functionDepth: 1
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].hashCode()"
    - "[java.util.Objects].hash(java.lang.Object[])"
    functionUses: 5
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.RootLoggerModel:52,1"
      Dst: "[ch.qos.logback.core.model.Model].hashCode()"
    - Src: "ch.qos.logback.classic.model.RootLoggerModel:53,1"
      Dst: "[java.util.Objects].hash(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].hashCode()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 145
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Integer].valueOf(int)"
    - "[java.util.Objects].hash(java.lang.Object[])"
    functionUses: 15
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:146,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "ch.qos.logback.core.model.Model:146,1"
      Dst: "[java.util.Objects].hash(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.RootLoggerModel].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.model.RootLoggerModel"
    linkageType: null
    functionLinenumber: 58
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].equals(java.lang.Object)"
    - "[java.lang.Object].getClass()"
    - "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    functionUses: 6
    ICount: 16
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.model.RootLoggerModel:59"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.RootLoggerModel:61"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.model.RootLoggerModel:60"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "ch.qos.logback.classic.model.RootLoggerModel:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.RootLoggerModel:63"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.model.RootLoggerModel:62"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.model.RootLoggerModel:63"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.RootLoggerModel:65"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.model.RootLoggerModel:64"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.RootLoggerModel:61,1"
      Dst: "[ch.qos.logback.core.model.Model].equals(java.lang.Object)"
    - Src: "ch.qos.logback.classic.model.RootLoggerModel:63,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.classic.model.RootLoggerModel:66,1"
      Dst: "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 150
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    functionUses: 16
    ICount: 30
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.Model:151"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:153"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:152"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:153"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:155"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:154"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:155"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:157"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:156"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:158"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:-1"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:158"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:-1"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:159"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:159"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:-2"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:155,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.model.Model:158,1"
      Dst: "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 13
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.spi.AppenderAttachableImpl].<init>()"
    functionSourceFile: "ch.qos.logback.core.spi.AppenderAttachableImpl"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].<init>(java.lang.Object[])"
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:27,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:29,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].<init>(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.AppenderAttachableImpl].addAppender(ch.qos.logback.core.Appender)"
    functionSourceFile: "ch.qos.logback.core.spi.AppenderAttachableImpl"
    linkageType: null
    functionLinenumber: 36
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Appender"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].addIfAbsent(java.lang.Object)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 3
    ICount: 9
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.AppenderAttachableImpl:37"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:40"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:39"
        BranchSideFuncs:
        - "addIfAbsent(java.lang.Object)"
    Callsites:
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:38,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:40,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].addIfAbsent(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.COWArrayList].addIfAbsent(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: 131
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].markAsStale()"
    - "[java.util.concurrent.CopyOnWriteArrayList].addIfAbsent(java.lang.Object)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:132,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].addIfAbsent(java.lang.Object)"
    - Src: "ch.qos.logback.core.util.COWArrayList:133,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].markAsStale()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.COWArrayList].markAsStale()"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: 127
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicBoolean].set(boolean)"
    functionUses: 9
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:128,1"
      Dst: "[java.util.concurrent.atomic.AtomicBoolean].set(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.AppenderAttachableImpl].appendLoopOnAppenders(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.spi.AppenderAttachableImpl"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 3
    returnType: "int"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].asTypedArray()"
    - "[ch.qos.logback.core.UnsynchronizedAppenderBase].doAppend(java.lang.Object)"
    - "[ch.qos.logback.core.AppenderBase].doAppend(java.lang.Object)"
    - "[ch.qos.logback.core.Appender].doAppend(java.lang.Object)"
    functionUses: 3
    ICount: 15
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.AppenderAttachableImpl:50"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:53"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:48,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].asTypedArray()"
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:51,1"
      Dst: "[ch.qos.logback.core.Appender].doAppend(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.COWArrayList].asTypedArray()"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: 122
    functionDepth: 2
    returnType: "java.lang.Object[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].refreshCopyIfNecessary()"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:123,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].refreshCopyIfNecessary()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.COWArrayList].refreshCopyIfNecessary()"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: 87
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].isFresh()"
    - "[ch.qos.logback.core.util.COWArrayList].refreshCopy()"
    functionUses: 3
    ICount: 5
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.COWArrayList:88"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.COWArrayList:91"
        BranchSideFuncs:
        - "refreshCopy()"
      - BranchSide: "ch.qos.logback.core.util.COWArrayList:90"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:88,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].isFresh()"
    - Src: "ch.qos.logback.core.util.COWArrayList:89,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].refreshCopy()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.COWArrayList].isFresh()"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: 93
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicBoolean].get()"
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:94,1"
      Dst: "[java.util.concurrent.atomic.AtomicBoolean].get()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.COWArrayList].refreshCopy()"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: 97
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.CopyOnWriteArrayList].toArray(java.lang.Object[])"
    - "[java.util.concurrent.atomic.AtomicBoolean].set(boolean)"
    functionUses: 1
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:98,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].toArray(java.lang.Object[])"
    - Src: "ch.qos.logback.core.util.COWArrayList:99,1"
      Dst: "[java.util.concurrent.atomic.AtomicBoolean].set(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.AppenderAttachableImpl].iteratorForAppenders()"
    functionSourceFile: "ch.qos.logback.core.spi.AppenderAttachableImpl"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.Iterator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:64,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].iterator()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.COWArrayList].iterator()"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: 83
    functionDepth: 0
    returnType: "java.util.Iterator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    functionUses: 57
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:84,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.AppenderAttachableImpl].getAppender(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.AppenderAttachableImpl"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.Appender"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[ch.qos.logback.core.Appender].getName()"
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.AppenderAttachableImpl:74"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:77"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:76"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.AppenderAttachableImpl:77"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:82"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:81"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.AppenderAttachableImpl:78"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:81"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:80"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:77,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:77,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:77,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:78,1"
      Dst: "[ch.qos.logback.core.Appender].getName()"
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:78,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.COWArrayList].iterator()"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: 83
    functionDepth: 0
    returnType: "java.util.Iterator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    functionUses: 57
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:84,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.AppenderAttachableImpl].isAttached(ch.qos.logback.core.Appender)"
    functionSourceFile: "ch.qos.logback.core.spi.AppenderAttachableImpl"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Appender"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.AppenderAttachableImpl:92"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:95"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:94"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.AppenderAttachableImpl:95"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:99"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:98"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.AppenderAttachableImpl:96"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:98"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:97"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:95,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:95,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:95,1"
      Dst: "[java.util.Iterator].next()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.COWArrayList].iterator()"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: 83
    functionDepth: 0
    returnType: "java.util.Iterator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    functionUses: 57
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:84,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.AppenderAttachableImpl].detachAndStopAllAppenders()"
    functionSourceFile: "ch.qos.logback.core.spi.AppenderAttachableImpl"
    linkageType: null
    functionLinenumber: 105
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.read.CyclicBufferAppender].stop()"
    - "[ch.qos.logback.core.FileAppender].stop()"
    - "[ch.qos.logback.core.net.server.AbstractServerSocketAppender].stop()"
    - "[ch.qos.logback.core.sift.SiftingAppenderBase].stop()"
    - "[ch.qos.logback.core.AsyncAppenderBase].stop()"
    - "[ch.qos.logback.core.OutputStreamAppender].stop()"
    - "[ch.qos.logback.core.net.AbstractSocketAppender].stop()"
    - "[ch.qos.logback.core.rolling.RollingFileAppender].stop()"
    - "[ch.qos.logback.core.net.SyslogAppenderBase].stop()"
    - "[ch.qos.logback.core.testUtil.StringListAppender].stop()"
    - "[ch.qos.logback.core.AppenderBase:ch.qos.logback.core.UnsynchronizedAppenderBase:ch.qos.logback.core.net.SMTPAppenderBase].stop()"
    - "[ch.qos.logback.core.util.COWArrayList].clear()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[ch.qos.logback.core.spi.LifeCycle].stop()"
    functionUses: 2
    ICount: 12
    EdgeCount: 13
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.AppenderAttachableImpl:106"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:109"
        BranchSideFuncs:
        - "iterator()"
        - "stop()"
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:108"
        BranchSideFuncs:
        - "clear()"
    Callsites:
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:106,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:106,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:106,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:107,1"
      Dst: "[ch.qos.logback.core.spi.LifeCycle].stop()"
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:109,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].clear()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.COWArrayList].iterator()"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: 83
    functionDepth: 0
    returnType: "java.util.Iterator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    functionUses: 57
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:84,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.COWArrayList].clear()"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: 184
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].markAsStale()"
    - "[java.util.concurrent.CopyOnWriteArrayList].clear()"
    functionUses: 6
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:185,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].markAsStale()"
    - Src: "ch.qos.logback.core.util.COWArrayList:186,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].clear()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.COWArrayList].markAsStale()"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: 127
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicBoolean].set(boolean)"
    functionUses: 9
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:128,1"
      Dst: "[java.util.concurrent.atomic.AtomicBoolean].set(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.AppenderAttachableImpl].detachAppender(ch.qos.logback.core.Appender)"
    functionSourceFile: "ch.qos.logback.core.spi.AppenderAttachableImpl"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Appender"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].remove(java.lang.Object)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.AppenderAttachableImpl:116"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:120"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:119"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:120,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].remove(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.COWArrayList].remove(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: 144
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].markAsStale()"
    - "[java.util.concurrent.CopyOnWriteArrayList].remove(java.lang.Object)"
    functionUses: 3
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:145,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].remove(java.lang.Object)"
    - Src: "ch.qos.logback.core.util.COWArrayList:146,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].markAsStale()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.COWArrayList].markAsStale()"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: 127
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicBoolean].set(boolean)"
    functionUses: 9
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:128,1"
      Dst: "[java.util.concurrent.atomic.AtomicBoolean].set(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.AppenderAttachableImpl].detachAppender(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.AppenderAttachableImpl"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 3
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].asTypedArray()"
    - "[ch.qos.logback.core.Appender].getName()"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[ch.qos.logback.core.util.COWArrayList].remove(java.lang.Object)"
    functionUses: 0
    ICount: 21
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.AppenderAttachableImpl:129"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:132"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:131"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.AppenderAttachableImpl:133"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:139"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:138"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.AppenderAttachableImpl:134"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:132"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:131"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:133,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].asTypedArray()"
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:134,1"
      Dst: "[ch.qos.logback.core.Appender].getName()"
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:134,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:135,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].remove(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.util.COWArrayList].asTypedArray()"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: 122
    functionDepth: 2
    returnType: "java.lang.Object[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].refreshCopyIfNecessary()"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:123,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].refreshCopyIfNecessary()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.COWArrayList].remove(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: 144
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].markAsStale()"
    - "[java.util.concurrent.CopyOnWriteArrayList].remove(java.lang.Object)"
    functionUses: 3
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:145,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].remove(java.lang.Object)"
    - Src: "ch.qos.logback.core.util.COWArrayList:146,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].markAsStale()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.property.FileExistsPropertyDefiner].<init>()"
    functionSourceFile: "ch.qos.logback.core.property.FileExistsPropertyDefiner"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.PropertyDefinerBase].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.property.FileExistsPropertyDefiner:30,1"
      Dst: "[ch.qos.logback.core.PropertyDefinerBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.property.FileExistsPropertyDefiner].getPath()"
    functionSourceFile: "ch.qos.logback.core.property.FileExistsPropertyDefiner"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.property.FileExistsPropertyDefiner].setPath(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.property.FileExistsPropertyDefiner"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.property.FileExistsPropertyDefiner].getPropertyValue()"
    functionSourceFile: "ch.qos.logback.core.property.FileExistsPropertyDefiner"
    linkageType: null
    functionLinenumber: 53
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.PropertyDefinerBase].booleanAsStr(boolean)"
    - "[java.io.File].<init>(java.lang.String)"
    - "[java.io.File].exists()"
    functionUses: 1
    ICount: 12
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.property.FileExistsPropertyDefiner:54"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.property.FileExistsPropertyDefiner:59"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.property.FileExistsPropertyDefiner:58"
        BranchSideFuncs:
        - "booleanAsStr(boolean)"
    Callsites:
    - Src: "ch.qos.logback.core.property.FileExistsPropertyDefiner:54,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Src: "ch.qos.logback.core.property.FileExistsPropertyDefiner:55,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.property.FileExistsPropertyDefiner:59,1"
      Dst: "[java.io.File].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.property.FileExistsPropertyDefiner:60,1"
      Dst: "[java.io.File].exists()"
    - Src: "ch.qos.logback.core.property.FileExistsPropertyDefiner:60,1"
      Dst: "[ch.qos.logback.core.PropertyDefinerBase].booleanAsStr(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 282
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    - "[java.lang.String].length()"
    functionUses: 62
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].length()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 67
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 6
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.status.ErrorStatus"
    linkageType: null
    functionLinenumber: 18
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    functionUses: 7
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.ErrorStatus:19,1"
      Dst: "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 71
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.status.Status"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - "[ch.qos.logback.core.BasicStatusManager].add(ch.qos.logback.core.status.Status)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.ContextAwareBase)"
    - "[java.io.PrintStream].println(java.lang.String)"
    - "[ch.qos.logback.core.Context].getStatusManager()"
    - "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    functionUses: 24
    ICount: 17
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:78"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:77"
        BranchSideFuncs:
        - "getStatusManager()"
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:73"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:76"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:75"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:79"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:82"
        BranchSideFuncs:
        - "add(ch.qos.logback.core.status.Status)"
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:81"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:74,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.ContextAwareBase)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:74,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:78,1"
      Dst: "[ch.qos.logback.core.Context].getStatusManager()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:80,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.joran.spi.ConsoleTarget$1].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ConsoleTarget$1"
    linkageType: null
    functionLinenumber: 30
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.OutputStream].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ConsoleTarget$1:31,1"
      Dst: "[java.io.OutputStream].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ConsoleTarget$1].write(int)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ConsoleTarget$1"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.PrintStream].write(int)"
    functionUses: 2
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ConsoleTarget$1:34,1"
      Dst: "[java.io.PrintStream].write(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ConsoleTarget$1].write(byte[])"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ConsoleTarget$1"
    linkageType: null
    functionLinenumber: 38
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.FilterOutputStream].write(byte[])"
    functionUses: 3
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ConsoleTarget$1:39,1"
      Dst: "[java.io.FilterOutputStream].write(byte[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ConsoleTarget$1].write(byte[],int,int)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ConsoleTarget$1"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "byte[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.PrintStream].write(byte[],int,int)"
    functionUses: 2
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ConsoleTarget$1:44,1"
      Dst: "[java.io.PrintStream].write(byte[],int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ConsoleTarget$1].flush()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ConsoleTarget$1"
    linkageType: null
    functionLinenumber: 48
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.PrintStream].flush()"
    functionUses: 4
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ConsoleTarget$1:49,1"
      Dst: "[java.io.PrintStream].flush()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SimpleRuleStore$lambda_removeTransparentPathParts_0__94].bootstrap$(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SimpleRuleStore$lambda_removeTransparentPathParts_0__94"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Predicate"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.SimpleRuleStore$lambda_removeTransparentPathParts_0__94].<init>(java.lang.String)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore$lambda_removeTransparentPathParts_0__94:-1,1"
      Dst: "[ch.qos.logback.core.joran.spi.SimpleRuleStore$lambda_removeTransparentPathParts_0__94].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SimpleRuleStore$lambda_removeTransparentPathParts_0__94].<init>(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SimpleRuleStore$lambda_removeTransparentPathParts_0__94"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore$lambda_removeTransparentPathParts_0__94:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SimpleRuleStore$lambda_removeTransparentPathParts_0__94].<init>(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SimpleRuleStore$lambda_removeTransparentPathParts_0__94"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore$lambda_removeTransparentPathParts_0__94:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SimpleRuleStore$lambda_removeTransparentPathParts_0__94].test(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SimpleRuleStore$lambda_removeTransparentPathParts_0__94"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.SimpleRuleStore].lambda$removeTransparentPathParts$0(java.lang.String,java.lang.String)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore$lambda_removeTransparentPathParts_0__94:-1,1"
      Dst: "[ch.qos.logback.core.joran.spi.SimpleRuleStore].lambda$removeTransparentPathParts$0(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SimpleRuleStore].lambda$removeTransparentPathParts$0(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SimpleRuleStore"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:130,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.ContextUtil].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.util.ContextUtil"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.ContextUtil:33,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - Src: "ch.qos.logback.core.util.ContextUtil:34,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.ContextUtil].addProperties(java.util.Properties)"
    functionSourceFile: "ch.qos.logback.core.util.ContextUtil"
    linkageType: null
    functionLinenumber: 37
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.Properties"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].putProperty(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.ContextBase].putProperty(java.lang.String,java.lang.String)"
    - "[java.util.Properties].entrySet()"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.Map$Entry].getKey()"
    - "[java.util.Map$Entry].getValue()"
    - "[ch.qos.logback.core.Context].putProperty(java.lang.String,java.lang.String)"
    functionUses: 1
    ICount: 18
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.ContextUtil:38"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.ContextUtil:42"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.ContextUtil:41"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.ContextUtil:42"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.ContextUtil:47"
        BranchSideFuncs:
        - "putProperty(java.lang.String,java.lang.String)"
      - BranchSide: "ch.qos.logback.core.util.ContextUtil:46"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.ContextUtil:42,1"
      Dst: "[java.util.Properties].entrySet()"
    - Src: "ch.qos.logback.core.util.ContextUtil:42,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "ch.qos.logback.core.util.ContextUtil:42,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.util.ContextUtil:42,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.util.ContextUtil:43,1"
      Dst: "[java.util.Map$Entry].getKey()"
    - Src: "ch.qos.logback.core.util.ContextUtil:44,1"
      Dst: "[java.util.Map$Entry].getValue()"
    - Src: "ch.qos.logback.core.util.ContextUtil:44,1"
      Dst: "[ch.qos.logback.core.Context].putProperty(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.ContextUtil].getFilenameCollisionMap(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.util.ContextUtil"
    linkageType: null
    functionLinenumber: 49
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getObject(java.lang.String)"
    - "[ch.qos.logback.core.Context].getObject(java.lang.String)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.ContextUtil:50"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.ContextUtil:53"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.ContextUtil:52"
        BranchSideFuncs:
        - "getObject(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.util.ContextUtil:53,1"
      Dst: "[ch.qos.logback.core.Context].getObject(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.ContextUtil].getFilenamePatternCollisionMap(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.util.ContextUtil"
    linkageType: null
    functionLinenumber: 57
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getObject(java.lang.String)"
    - "[ch.qos.logback.core.Context].getObject(java.lang.String)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.ContextUtil:58"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.ContextUtil:62"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.ContextUtil:61"
        BranchSideFuncs:
        - "getObject(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.util.ContextUtil:62,1"
      Dst: "[ch.qos.logback.core.Context].getObject(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.ContextUtil].addGroovyPackages(java.util.List)"
    functionSourceFile: "ch.qos.logback.core.util.ContextUtil"
    linkageType: null
    functionLinenumber: 66
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.ContextUtil].addFrameworkPackage(java.util.List,java.lang.String)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.ContextUtil:67,1"
      Dst: "[ch.qos.logback.core.util.ContextUtil].addFrameworkPackage(java.util.List,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.ContextUtil].addFrameworkPackage(java.util.List,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.ContextUtil"
    linkageType: null
    functionLinenumber: 70
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.util.List"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].contains(java.lang.Object)"
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.util.List].contains(java.lang.Object)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.ContextUtil:71"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.ContextUtil:74"
        BranchSideFuncs:
        - "add(java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.util.ContextUtil:73"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.ContextUtil:71,1"
      Dst: "[java.util.List].contains(java.lang.Object)"
    - Src: "ch.qos.logback.core.util.ContextUtil:72,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.ContextUtil].addFrameworkPackage(java.util.List,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.ContextUtil"
    linkageType: null
    functionLinenumber: 70
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.util.List"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].contains(java.lang.Object)"
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.util.List].contains(java.lang.Object)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.ContextUtil:71"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.ContextUtil:74"
        BranchSideFuncs:
        - "add(java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.util.ContextUtil:73"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.ContextUtil:71,1"
      Dst: "[java.util.List].contains(java.lang.Object)"
    - Src: "ch.qos.logback.core.util.ContextUtil:72,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__86].bootstrap$()"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__86"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__86].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__86:-1,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__86].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__86].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__86"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__86:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__86].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__86"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__86:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__86].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__86"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.model.processor.ConfigurationModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__86:-1,1"
      Dst: "[ch.qos.logback.classic.model.processor.ConfigurationModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.ConfigurationModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.model.processor.ConfigurationModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:51,1"
      Dst: "[ch.qos.logback.classic.model.processor.ConfigurationModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.ConfigurationModelHandler].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:47,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.encoder.EchoEncoder].<init>()"
    functionSourceFile: "ch.qos.logback.core.encoder.EchoEncoder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.encoder.EncoderBase].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.encoder.EchoEncoder:18,1"
      Dst: "[ch.qos.logback.core.encoder.EncoderBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.encoder.EchoEncoder].encode(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.encoder.EchoEncoder"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 0
    returnType: "byte[]"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Object,java.lang.String)"
    - "[java.lang.String].getBytes()"
    functionUses: 2
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.encoder.EchoEncoder:24,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Object,java.lang.String)"
    - Src: "ch.qos.logback.core.encoder.EchoEncoder:25,1"
      Dst: "[java.lang.String].getBytes()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.encoder.EchoEncoder].footerBytes()"
    functionSourceFile: "ch.qos.logback.core.encoder.EchoEncoder"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 0
    returnType: "byte[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].getBytes()"
    functionUses: 1
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.encoder.EchoEncoder:29"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.encoder.EchoEncoder:32"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.encoder.EchoEncoder:31"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.encoder.EchoEncoder:32,1"
      Dst: "[java.lang.String].getBytes()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.encoder.EchoEncoder].headerBytes()"
    functionSourceFile: "ch.qos.logback.core.encoder.EchoEncoder"
    linkageType: null
    functionLinenumber: 35
    functionDepth: 0
    returnType: "byte[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].getBytes()"
    functionUses: 1
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.encoder.EchoEncoder:36"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.encoder.EchoEncoder:39"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.encoder.EchoEncoder:38"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.encoder.EchoEncoder:39,1"
      Dst: "[java.lang.String].getBytes()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_5__25].bootstrap$()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_5__25"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_5__25].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_5__25:-1,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_5__25].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_5__25].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_5__25"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_5__25:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_5__25].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_5__25"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_5__25:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_5__25].get()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_5__25"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator].lambda$addElementSelectorAndActionAssociations$5()"
    functionUses: 3
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_5__25:-1,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator].lambda$addElementSelectorAndActionAssociations$5()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator].lambda$addElementSelectorAndActionAssociations$5()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator"
    linkageType: null
    functionLinenumber: 56
    functionDepth: 1
    returnType: "ch.qos.logback.core.joran.action.Action"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.action.LevelAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:57,1"
      Dst: "[ch.qos.logback.classic.joran.action.LevelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.action.LevelAction].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.action.LevelAction"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.action.LevelAction:35,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__40].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__40"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__40].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__40:-1,1"
      Dst: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__40].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__40].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__40"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__40:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__40].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__40"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__40:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__40].get()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__40"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.SerializeModelAction].<init>()"
    functionUses: 3
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__40:-1,1"
      Dst: "[ch.qos.logback.core.joran.action.SerializeModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.SerializeModelAction].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.action.SerializeModelAction"
    linkageType: null
    functionLinenumber: 21
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.SerializeModelAction:22,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.AbstractComponentTracker$Entry].<init>(java.lang.String,java.lang.Object,long)"
    functionSourceFile: "ch.qos.logback.core.spi.AbstractComponentTracker$Entry"
    linkageType: null
    functionLinenumber: 277
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.AbstractComponentTracker$Entry:278,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.AbstractComponentTracker$Entry].setTimestamp(long)"
    functionSourceFile: "ch.qos.logback.core.spi.AbstractComponentTracker$Entry"
    linkageType: null
    functionLinenumber: 284
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.AbstractComponentTracker$Entry].hashCode()"
    functionSourceFile: "ch.qos.logback.core.spi.AbstractComponentTracker$Entry"
    linkageType: null
    functionLinenumber: 289
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].hashCode()"
    functionUses: 4
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.AbstractComponentTracker$Entry:290,1"
      Dst: "[java.lang.String].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.AbstractComponentTracker$Entry].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.spi.AbstractComponentTracker$Entry"
    linkageType: null
    functionLinenumber: 294
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.model.RootLoggerModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.parser.SimpleKeywordNode].equals(java.lang.Object)"
    - "[ch.qos.logback.classic.spi.StackTraceElementProxy].equals(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.parser.CompositeNode].equals(java.lang.Object)"
    - "[org.slf4j.helpers.SubstituteLogger].equals(java.lang.Object)"
    - "[org.slf4j.event.KeyValuePair].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.PropertyModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.DefineModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.parser.FormattingNode].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.ParamModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.InsertFromJNDIModel].equals(java.lang.Object)"
    - "[ch.qos.logback.classic.model.LevelModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.NamedModel].equals(java.lang.Object)"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].equals(java.lang.Object)"
    - "[ch.qos.logback.classic.spi.ClassPackagingData].equals(java.lang.Object)"
    - "[ch.qos.logback.core.subst.Node].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.TimestampModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.parser.Node].equals(java.lang.Object)"
    - "[ch.qos.logback.classic.model.LoggerModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].equals(java.lang.Object)"
    - "[ch.qos.logback.core.joran.spi.ElementSelector].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.NamedComponentModel].equals(java.lang.Object)"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].equals(java.lang.Object)"
    - "[ch.qos.logback.core.subst.Token].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.AppenderRefModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.conditional.IfModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.status.StatusBase].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.Model].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.ComponentModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble].equals(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.parser.Token].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.SerializeModelModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.joran.spi.ElementPath].equals(java.lang.Object)"
    - "[ch.qos.logback.core.spi.AbstractComponentTracker$Entry].equals(java.lang.Object)"
    - "[ch.qos.logback.classic.model.ConfigurationModel].equals(java.lang.Object)"
    - "[org.slf4j.helpers.BasicMarker].equals(java.lang.Object)"
    - "[ch.qos.logback.classic.spi.LoggerContextVO].equals(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.FormatInfo].equals(java.lang.Object)"
    - "[java.lang.Object].getClass()"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.lang.Object].equals(java.lang.Object)"
    functionUses: 6
    ICount: 32
    EdgeCount: 38
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.AbstractComponentTracker$Entry:295"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.AbstractComponentTracker$Entry:297"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.AbstractComponentTracker$Entry:296"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.AbstractComponentTracker$Entry:297"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.AbstractComponentTracker$Entry:299"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.AbstractComponentTracker$Entry:298"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.AbstractComponentTracker$Entry:299"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.AbstractComponentTracker$Entry:302"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.AbstractComponentTracker$Entry:301"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.AbstractComponentTracker$Entry:303"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.AbstractComponentTracker$Entry:306"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.AbstractComponentTracker$Entry:305"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.AbstractComponentTracker$Entry:304"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.AbstractComponentTracker$Entry:308"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.AbstractComponentTracker$Entry:307"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.AbstractComponentTracker$Entry:306"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.AbstractComponentTracker$Entry:308"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.AbstractComponentTracker$Entry:307"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.AbstractComponentTracker$Entry:308"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.AbstractComponentTracker$Entry:311"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.AbstractComponentTracker$Entry:310"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "ch.qos.logback.core.spi.AbstractComponentTracker$Entry:309"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.AbstractComponentTracker$Entry:313"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.AbstractComponentTracker$Entry:312"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.AbstractComponentTracker$Entry:311"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.AbstractComponentTracker$Entry:313"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.AbstractComponentTracker$Entry:312"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.AbstractComponentTracker$Entry:299,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.spi.AbstractComponentTracker$Entry:306,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.AbstractComponentTracker$Entry:311,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 17
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.spi.AbstractComponentTracker$Entry].toString()"
    functionSourceFile: "ch.qos.logback.core.spi.AbstractComponentTracker$Entry"
    linkageType: null
    functionLinenumber: 317
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.Object)"
    functionUses: 3
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.AbstractComponentTracker$Entry:318,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.MicrosecondConverter].<init>()"
    functionSourceFile: "ch.qos.logback.classic.pattern.MicrosecondConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.ClassicConverter].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.MicrosecondConverter:25,1"
      Dst: "[ch.qos.logback.classic.pattern.ClassicConverter].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.MicrosecondConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.pattern.MicrosecondConverter"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getNanoseconds()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getNanoseconds()"
    - "[java.lang.Integer].toString(int)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 15
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.MicrosecondConverter:33"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.MicrosecondConverter:35"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.MicrosecondConverter:34"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.MicrosecondConverter:35"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.MicrosecondConverter:38"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.MicrosecondConverter:37"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.MicrosecondConverter:29,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getNanoseconds()"
    - Src: "ch.qos.logback.classic.pattern.MicrosecondConverter:34,1"
      Dst: "[java.lang.Integer].toString(int)"
    - Src: "ch.qos.logback.classic.pattern.MicrosecondConverter:36,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.MicrosecondConverter].convert(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.pattern.MicrosecondConverter"
    linkageType: null
    functionLinenumber: 24
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.MicrosecondConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 11
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.MicrosecondConverter:25,1"
      Dst: "[ch.qos.logback.classic.pattern.MicrosecondConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.MicrosecondConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.pattern.MicrosecondConverter"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getNanoseconds()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getNanoseconds()"
    - "[java.lang.Integer].toString(int)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 15
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.MicrosecondConverter:33"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.MicrosecondConverter:35"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.MicrosecondConverter:34"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.MicrosecondConverter:35"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.MicrosecondConverter:38"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.MicrosecondConverter:37"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.MicrosecondConverter:29,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getNanoseconds()"
    - Src: "ch.qos.logback.classic.pattern.MicrosecondConverter:34,1"
      Dst: "[java.lang.Integer].toString(int)"
    - Src: "ch.qos.logback.classic.pattern.MicrosecondConverter:36,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.PropertyModelHandler].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.model.processor.PropertyModelHandler"
    linkageType: null
    functionLinenumber: 24
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:25,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.PropertyModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.PropertyModelHandler"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.PropertyModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:29,1"
      Dst: "[ch.qos.logback.core.model.processor.PropertyModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.PropertyModelHandler].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.model.processor.PropertyModelHandler"
    linkageType: null
    functionLinenumber: 24
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:25,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.PropertyModelHandler].getSupportedModelClass()"
    functionSourceFile: "ch.qos.logback.core.model.processor.PropertyModelHandler"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 0
    returnType: "java.lang.Class"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.PropertyModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.PropertyModelHandler"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 13
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.PropertyModel].getScopeStr()"
    - "[ch.qos.logback.core.joran.action.ActionUtil].stringToScope(java.lang.String)"
    - "[ch.qos.logback.core.model.processor.PropertyModelHandler].checkFileAttributeSanity(ch.qos.logback.core.model.PropertyModel)"
    - "[ch.qos.logback.core.model.processor.PropertyModelHandler].checkResourceAttributeSanity(ch.qos.logback.core.model.PropertyModel)"
    - "[ch.qos.logback.core.model.processor.PropertyModelHandler].checkValueNameAttributesSanity(ch.qos.logback.core.model.PropertyModel)"
    - "[ch.qos.logback.core.model.PropertyModel].getFile()"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    - "[ch.qos.logback.core.model.processor.PropertyModelHandler].loadAndSetProperties(ch.qos.logback.core.model.processor.ModelInterpretationContext,java.io.InputStream,ch.qos.logback.core.joran.action.ActionUtil$Scope)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.model.PropertyModel].getResource()"
    - "[ch.qos.logback.core.util.Loader].getResourceBySelfClassLoader(java.lang.String)"
    - "[ch.qos.logback.core.encoder.NonClosableInputStream:ch.qos.logback.core.model.PropertyModel].getValue()"
    - "[ch.qos.logback.core.model.NamedModel].getName()"
    - "[ch.qos.logback.core.joran.action.ActionUtil].setProperty(ch.qos.logback.core.model.processor.ModelInterpretationContext,java.lang.String,java.lang.String,ch.qos.logback.core.joran.action.ActionUtil$Scope)"
    - "[java.io.FileInputStream].<init>(java.lang.String)"
    - "[java.io.FileInputStream].close()"
    - "[java.lang.Throwable].addSuppressed(java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.net.URL].openStream()"
    - "[java.io.InputStream].close()"
    - "[ch.qos.logback.core.model.PropertyModel].getValue()"
    - "[java.lang.String].trim()"
    functionUses: 3
    ICount: 66
    EdgeCount: 21
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.PropertyModelHandler:44"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.PropertyModelHandler:40"
        BranchSideFuncs:
        - "getFile()"
      - BranchSide: "ch.qos.logback.core.model.processor.PropertyModelHandler:39"
        BranchSideFuncs:
        - "getScopeStr()"
        - "stringToScope(java.lang.String)"
        - "checkFileAttributeSanity(ch.qos.logback.core.model.PropertyModel)"
        - "checkResourceAttributeSanity(ch.qos.logback.core.model.PropertyModel)"
        - "checkValueNameAttributesSanity(ch.qos.logback.core.model.PropertyModel)"
    - Branch String: "ch.qos.logback.core.model.processor.PropertyModelHandler:44"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.PropertyModelHandler:40"
        BranchSideFuncs:
        - "getFile()"
      - BranchSide: "ch.qos.logback.core.model.processor.PropertyModelHandler:39"
        BranchSideFuncs:
        - "getScopeStr()"
        - "stringToScope(java.lang.String)"
        - "checkFileAttributeSanity(ch.qos.logback.core.model.PropertyModel)"
        - "checkResourceAttributeSanity(ch.qos.logback.core.model.PropertyModel)"
        - "checkValueNameAttributesSanity(ch.qos.logback.core.model.PropertyModel)"
    - Branch String: "ch.qos.logback.core.model.processor.PropertyModelHandler:59"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.PropertyModelHandler:62"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.PropertyModelHandler:61"
        BranchSideFuncs:
        - "loadAndSetProperties(ch.qos.logback.core.model.processor.ModelInterpretationContext,java.io.InputStream,ch.qos.logback.core.joran.action.ActionUtil$Scope)"
    - Branch String: "ch.qos.logback.core.model.processor.PropertyModelHandler:64"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.PropertyModelHandler:65"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.PropertyModelHandler:62"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.PropertyModelHandler:68"
        BranchSideFuncs:
        - "loadAndSetProperties(ch.qos.logback.core.model.processor.ModelInterpretationContext,java.io.InputStream,ch.qos.logback.core.joran.action.ActionUtil$Scope)"
      - BranchSide: "ch.qos.logback.core.model.processor.PropertyModelHandler:67"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.PropertyModelHandler:44"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.PropertyModelHandler:79"
        BranchSideFuncs:
        - "getFile()"
      - BranchSide: "ch.qos.logback.core.model.processor.PropertyModelHandler:78"
        BranchSideFuncs:
        - "addError(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:42,1"
      Dst: "[ch.qos.logback.core.model.PropertyModel].getScopeStr()"
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:42,1"
      Dst: "[ch.qos.logback.core.joran.action.ActionUtil].stringToScope(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:44,1"
      Dst: "[ch.qos.logback.core.model.processor.PropertyModelHandler].checkFileAttributeSanity(ch.qos.logback.core.model.PropertyModel)"
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:45,1"
      Dst: "[ch.qos.logback.core.model.PropertyModel].getFile()"
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:46,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:47,1"
      Dst: "[java.io.FileInputStream].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:48,1"
      Dst: "[ch.qos.logback.core.model.processor.PropertyModelHandler].loadAndSetProperties(ch.qos.logback.core.model.processor.ModelInterpretationContext,java.io.InputStream,ch.qos.logback.core.joran.action.ActionUtil$Scope)"
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:49,1"
      Dst: "[java.io.FileInputStream].close()"
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:55,1"
      Dst: "[java.lang.Throwable].addSuppressed(java.lang.Throwable)"
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:50,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:50,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:53,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:44,1"
      Dst: "[ch.qos.logback.core.model.processor.PropertyModelHandler].checkResourceAttributeSanity(ch.qos.logback.core.model.PropertyModel)"
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:56,1"
      Dst: "[ch.qos.logback.core.model.PropertyModel].getResource()"
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:58,1"
      Dst: "[ch.qos.logback.core.util.Loader].getResourceBySelfClassLoader(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:62,1"
      Dst: "[java.net.URL].openStream()"
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:64,1"
      Dst: "[java.io.InputStream].close()"
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:44,1"
      Dst: "[ch.qos.logback.core.model.processor.PropertyModelHandler].checkValueNameAttributesSanity(ch.qos.logback.core.model.PropertyModel)"
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:71,1"
      Dst: "[ch.qos.logback.core.model.PropertyModel].getValue()"
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:74,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:76,1"
      Dst: "[ch.qos.logback.core.model.NamedModel].getName()"
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:76,1"
      Dst: "[ch.qos.logback.core.joran.action.ActionUtil].setProperty(ch.qos.logback.core.model.processor.ModelInterpretationContext,java.lang.String,java.lang.String,ch.qos.logback.core.joran.action.ActionUtil$Scope)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 25
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.model.PropertyModel].getScopeStr()"
    functionSourceFile: "ch.qos.logback.core.model.PropertyModel"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.ActionUtil].stringToScope(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.action.ActionUtil"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 0
    returnType: "ch.qos.logback.core.joran.action.ActionUtil$Scope"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].toString()"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    functionUses: 4
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.action.ActionUtil:32"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.ActionUtil:34"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.action.ActionUtil:33"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.action.ActionUtil:34"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.ActionUtil:37"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.action.ActionUtil:36"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.ActionUtil:32,1"
      Dst: "[java.lang.Enum].toString()"
    - Src: "ch.qos.logback.core.joran.action.ActionUtil:32,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.PropertyModelHandler].checkFileAttributeSanity(ch.qos.logback.core.model.PropertyModel)"
    functionSourceFile: "ch.qos.logback.core.model.processor.PropertyModelHandler"
    linkageType: null
    functionLinenumber: 89
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.PropertyModel"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.PropertyModel].getFile()"
    - "[ch.qos.logback.core.model.NamedModel].getName()"
    - "[ch.qos.logback.core.model.PropertyModel].getValue()"
    - "[ch.qos.logback.core.model.PropertyModel].getResource()"
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    functionUses: 1
    ICount: 18
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.PropertyModelHandler:95"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.PropertyModelHandler:-1"
        BranchSideFuncs:
        - "isNullOrEmptyOrAllSpaces(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.model.processor.PropertyModelHandler:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.PropertyModelHandler:95"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.PropertyModelHandler:-1"
        BranchSideFuncs:
        - "isNullOrEmptyOrAllSpaces(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.model.processor.PropertyModelHandler:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.PropertyModelHandler:96"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.PropertyModelHandler:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.PropertyModelHandler:96"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.PropertyModelHandler:-2"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:90,1"
      Dst: "[ch.qos.logback.core.model.PropertyModel].getFile()"
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:91,1"
      Dst: "[ch.qos.logback.core.model.NamedModel].getName()"
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:92,1"
      Dst: "[ch.qos.logback.core.model.PropertyModel].getValue()"
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:93,1"
      Dst: "[ch.qos.logback.core.model.PropertyModel].getResource()"
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:95,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.model.PropertyModel].getFile()"
    functionSourceFile: "ch.qos.logback.core.model.PropertyModel"
    linkageType: null
    functionLinenumber: 47
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.NamedModel].getName()"
    functionSourceFile: "ch.qos.logback.core.model.NamedModel"
    linkageType: null
    functionLinenumber: 36
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 6
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.PropertyModel].getValue()"
    functionSourceFile: "ch.qos.logback.core.model.PropertyModel"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.PropertyModel].getResource()"
    functionSourceFile: "ch.qos.logback.core.model.PropertyModel"
    linkageType: null
    functionLinenumber: 55
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 282
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    - "[java.lang.String].length()"
    functionUses: 62
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].length()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 152
    functionDepth: 12
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.OptionHelper].substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 26
    ICount: 11
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:153"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:158"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:157"
        BranchSideFuncs:
        - "substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:158,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:160,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:160,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 111
    functionDepth: 11
    returnType: "java.lang.String"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "ch.qos.logback.core.spi.PropertyContainer"
    - "ch.qos.logback.core.spi.PropertyContainer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.subst.NodeToStringTransformer].substituteVariable(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    functionUses: 3
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:112,1"
      Dst: "[ch.qos.logback.core.subst.NodeToStringTransformer].substituteVariable(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.NodeToStringTransformer].substituteVariable(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    functionSourceFile: "ch.qos.logback.core.subst.NodeToStringTransformer"
    linkageType: null
    functionLinenumber: 49
    functionDepth: 10
    returnType: "java.lang.String"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "ch.qos.logback.core.spi.PropertyContainer"
    - "ch.qos.logback.core.spi.PropertyContainer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.subst.NodeToStringTransformer].tokenizeAndParseString(java.lang.String)"
    - "[ch.qos.logback.core.subst.NodeToStringTransformer].<init>(ch.qos.logback.core.subst.Node,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    - "[ch.qos.logback.core.subst.NodeToStringTransformer].transform()"
    functionUses: 1
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:50,1"
      Dst: "[ch.qos.logback.core.subst.NodeToStringTransformer].tokenizeAndParseString(java.lang.String)"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:51,1"
      Dst: "[ch.qos.logback.core.subst.NodeToStringTransformer].<init>(ch.qos.logback.core.subst.Node,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:52,1"
      Dst: "[ch.qos.logback.core.subst.NodeToStringTransformer].transform()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.NodeToStringTransformer].tokenizeAndParseString(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.subst.NodeToStringTransformer"
    linkageType: null
    functionLinenumber: 55
    functionDepth: 6
    returnType: "ch.qos.logback.core.subst.Node"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.subst.Tokenizer].<init>(java.lang.String)"
    - "[ch.qos.logback.core.subst.Tokenizer].tokenize()"
    - "[ch.qos.logback.core.subst.Parser].<init>(java.util.List)"
    - "[ch.qos.logback.core.subst.Parser].parse()"
    functionUses: 2
    ICount: 8
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:56,1"
      Dst: "[ch.qos.logback.core.subst.Tokenizer].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:57,1"
      Dst: "[ch.qos.logback.core.subst.Tokenizer].tokenize()"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:58,1"
      Dst: "[ch.qos.logback.core.subst.Parser].<init>(java.util.List)"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:59,1"
      Dst: "[ch.qos.logback.core.subst.Parser].parse()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.Tokenizer].<init>(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.subst.Tokenizer"
    linkageType: null
    functionLinenumber: 30
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.lang.String].length()"
    functionUses: 1
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.Tokenizer:31,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.subst.Tokenizer:33,1"
      Dst: "[java.lang.String].length()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.Tokenizer].tokenize()"
    functionSourceFile: "ch.qos.logback.core.subst.Tokenizer"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 3
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.subst.Tokenizer].handleLiteralState(char,java.util.List,java.lang.StringBuilder)"
    - "[ch.qos.logback.core.subst.Tokenizer].handleStartState(char,java.util.List,java.lang.StringBuilder)"
    - "[ch.qos.logback.core.subst.Tokenizer].handleDefaultValueState(char,java.util.List,java.lang.StringBuilder)"
    - "[ch.qos.logback.core.subst.Tokenizer].addLiteralToken(java.util.List,java.lang.StringBuilder)"
    - "[java.util.ArrayList].<init>()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.String].charAt(int)"
    - "[java.lang.Enum].ordinal()"
    - "[java.lang.StringBuilder].append(char)"
    functionUses: 1
    ICount: 38
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.subst.Tokenizer:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Tokenizer:60"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.Tokenizer:59"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.Tokenizer:40,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.core.subst.Tokenizer:41,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.core.subst.Tokenizer:44,1"
      Dst: "[java.lang.String].charAt(int)"
    - Src: "ch.qos.logback.core.subst.Tokenizer:47,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "ch.qos.logback.core.subst.Tokenizer:49,1"
      Dst: "[ch.qos.logback.core.subst.Tokenizer].handleLiteralState(char,java.util.List,java.lang.StringBuilder)"
    - Src: "ch.qos.logback.core.subst.Tokenizer:52,1"
      Dst: "[ch.qos.logback.core.subst.Tokenizer].handleStartState(char,java.util.List,java.lang.StringBuilder)"
    - Src: "ch.qos.logback.core.subst.Tokenizer:55,1"
      Dst: "[ch.qos.logback.core.subst.Tokenizer].handleDefaultValueState(char,java.util.List,java.lang.StringBuilder)"
    - Src: "ch.qos.logback.core.subst.Tokenizer:62,1"
      Dst: "[ch.qos.logback.core.subst.Tokenizer].addLiteralToken(java.util.List,java.lang.StringBuilder)"
    - Src: "ch.qos.logback.core.subst.Tokenizer:66,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 12
    CyclomaticComplexity: 8
  - functionName: "[ch.qos.logback.core.subst.Tokenizer].handleLiteralState(char,java.util.List,java.lang.StringBuilder)"
    functionSourceFile: "ch.qos.logback.core.subst.Tokenizer"
    linkageType: null
    functionLinenumber: 114
    functionDepth: 2
    returnType: "void"
    argCount: 3
    argTypes:
    - "char"
    - "java.util.List"
    - "java.lang.StringBuilder"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.subst.Tokenizer].addLiteralToken(java.util.List,java.lang.StringBuilder)"
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.lang.StringBuilder].setLength(int)"
    - "[java.util.List].add(java.lang.Object)"
    - "[java.lang.StringBuilder].append(char)"
    functionUses: 1
    ICount: 28
    EdgeCount: 6
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.Tokenizer:117,1"
      Dst: "[ch.qos.logback.core.subst.Tokenizer].addLiteralToken(java.util.List,java.lang.StringBuilder)"
    - Src: "ch.qos.logback.core.subst.Tokenizer:118,1"
      Dst: "[java.lang.StringBuilder].setLength(int)"
    - Src: "ch.qos.logback.core.subst.Tokenizer:128,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "ch.qos.logback.core.subst.Tokenizer:137,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.subst.Tokenizer].addLiteralToken(java.util.List,java.lang.StringBuilder)"
    functionSourceFile: "ch.qos.logback.core.subst.Tokenizer"
    linkageType: null
    functionLinenumber: 142
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.util.List"
    - "java.lang.StringBuilder"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.subst.Token].<init>(ch.qos.logback.core.subst.Token$Type,java.lang.String)"
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.lang.StringBuilder].length()"
    - "[java.lang.StringBuilder].toString()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 9
    ICount: 12
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.subst.Tokenizer:143"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Tokenizer:145"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.Tokenizer:144"
        BranchSideFuncs:
        - "add(java.lang.Object)"
        - "<init>(ch.qos.logback.core.subst.Token$Type,java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.subst.Tokenizer:143,1"
      Dst: "[java.lang.StringBuilder].length()"
    - Src: "ch.qos.logback.core.subst.Tokenizer:145,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "ch.qos.logback.core.subst.Tokenizer:145,1"
      Dst: "[ch.qos.logback.core.subst.Token].<init>(ch.qos.logback.core.subst.Token$Type,java.lang.String)"
    - Src: "ch.qos.logback.core.subst.Tokenizer:145,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.Token].<init>(ch.qos.logback.core.subst.Token$Type,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.subst.Token"
    linkageType: null
    functionLinenumber: 29
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.subst.Token$Type"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 5
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.Token:30,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.Tokenizer].handleStartState(char,java.util.List,java.lang.StringBuilder)"
    functionSourceFile: "ch.qos.logback.core.subst.Tokenizer"
    linkageType: null
    functionLinenumber: 105
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "char"
    - "java.util.List"
    - "java.lang.StringBuilder"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.util.List].add(java.lang.Object)"
    - "[java.lang.StringBuilder].append(char)"
    functionUses: 1
    ICount: 14
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.subst.Tokenizer:106"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Tokenizer:109"
        BranchSideFuncs:
        - "add(java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.subst.Tokenizer:108"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.Tokenizer:107,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "ch.qos.logback.core.subst.Tokenizer:109,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.subst.Tokenizer].handleDefaultValueState(char,java.util.List,java.lang.StringBuilder)"
    functionSourceFile: "ch.qos.logback.core.subst.Tokenizer"
    linkageType: null
    functionLinenumber: 78
    functionDepth: 2
    returnType: "void"
    argCount: 3
    argTypes:
    - "char"
    - "java.util.List"
    - "java.lang.StringBuilder"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[ch.qos.logback.core.subst.Tokenizer].addLiteralToken(java.util.List,java.lang.StringBuilder)"
    - "[java.util.List].add(java.lang.Object)"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].setLength(int)"
    functionUses: 1
    ICount: 30
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.Tokenizer:81,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "ch.qos.logback.core.subst.Tokenizer:85,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.core.subst.Tokenizer:86,1"
      Dst: "[ch.qos.logback.core.subst.Tokenizer].addLiteralToken(java.util.List,java.lang.StringBuilder)"
    - Src: "ch.qos.logback.core.subst.Tokenizer:87,1"
      Dst: "[java.lang.StringBuilder].setLength(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.subst.Parser].<init>(java.util.List)"
    functionSourceFile: "ch.qos.logback.core.subst.Parser"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.Parser:47,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.Parser].parse()"
    functionSourceFile: "ch.qos.logback.core.subst.Parser"
    linkageType: null
    functionLinenumber: 51
    functionDepth: 5
    returnType: "ch.qos.logback.core.subst.Node"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].isEmpty()"
    - "[ch.qos.logback.core.subst.Parser].E()"
    - "[java.util.List].isEmpty()"
    functionUses: 1
    ICount: 9
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.subst.Parser:52"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Parser:53"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.Parser:52"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.subst.Parser:52"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Parser:54"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.Parser:53"
        BranchSideFuncs:
        - "E()"
    Callsites:
    - Src: "ch.qos.logback.core.subst.Parser:52,1"
      Dst: "[java.util.List].isEmpty()"
    - Src: "ch.qos.logback.core.subst.Parser:54,1"
      Dst: "[ch.qos.logback.core.subst.Parser].E()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.subst.Parser].E()"
    functionSourceFile: "ch.qos.logback.core.subst.Parser"
    linkageType: null
    functionLinenumber: 57
    functionDepth: 4
    returnType: "ch.qos.logback.core.subst.Node"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.subst.Parser].T()"
    - "[ch.qos.logback.core.subst.Parser].Eopt()"
    - "[ch.qos.logback.core.subst.Node].append(ch.qos.logback.core.subst.Node)"
    functionUses: 5
    ICount: 8
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.subst.Parser:59"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Parser:62"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.Parser:61"
        BranchSideFuncs:
        - "Eopt()"
    - Branch String: "ch.qos.logback.core.subst.Parser:63"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Parser:66"
        BranchSideFuncs:
        - "append(ch.qos.logback.core.subst.Node)"
      - BranchSide: "ch.qos.logback.core.subst.Parser:65"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.Parser:58,1"
      Dst: "[ch.qos.logback.core.subst.Parser].T()"
    - Src: "ch.qos.logback.core.subst.Parser:62,1"
      Dst: "[ch.qos.logback.core.subst.Parser].Eopt()"
    - Src: "ch.qos.logback.core.subst.Parser:64,1"
      Dst: "[ch.qos.logback.core.subst.Node].append(ch.qos.logback.core.subst.Node)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.subst.Parser].T()"
    functionSourceFile: "ch.qos.logback.core.subst.Parser"
    linkageType: null
    functionLinenumber: 80
    functionDepth: 3
    returnType: "ch.qos.logback.core.subst.Node"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.subst.Parser].peekAtCurentToken()"
    - "[ch.qos.logback.core.subst.Parser].advanceTokenPointer()"
    - "[ch.qos.logback.core.subst.Parser].makeNewLiteralNode(java.lang.String)"
    - "[ch.qos.logback.core.subst.Parser].C()"
    - "[ch.qos.logback.core.subst.Parser].expectCurlyRight(ch.qos.logback.core.subst.Token)"
    - "[ch.qos.logback.core.subst.Node].append(ch.qos.logback.core.subst.Node)"
    - "[ch.qos.logback.core.subst.Parser].V()"
    - "[java.lang.Enum].ordinal()"
    functionUses: 1
    ICount: 32
    EdgeCount: 17
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.subst.Parser:82"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Parser:85"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.Parser:84"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.Parser:81,1"
      Dst: "[ch.qos.logback.core.subst.Parser].peekAtCurentToken()"
    - Src: "ch.qos.logback.core.subst.Parser:85,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "ch.qos.logback.core.subst.Parser:87,1"
      Dst: "[ch.qos.logback.core.subst.Parser].advanceTokenPointer()"
    - Src: "ch.qos.logback.core.subst.Parser:88,1"
      Dst: "[ch.qos.logback.core.subst.Parser].makeNewLiteralNode(java.lang.String)"
    - Src: "ch.qos.logback.core.subst.Parser:91,1"
      Dst: "[ch.qos.logback.core.subst.Parser].C()"
    - Src: "ch.qos.logback.core.subst.Parser:93,1"
      Dst: "[ch.qos.logback.core.subst.Parser].expectCurlyRight(ch.qos.logback.core.subst.Token)"
    - Src: "ch.qos.logback.core.subst.Parser:96,1"
      Dst: "[ch.qos.logback.core.subst.Node].append(ch.qos.logback.core.subst.Node)"
    - Src: "ch.qos.logback.core.subst.Parser:101,1"
      Dst: "[ch.qos.logback.core.subst.Parser].V()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.Parser].peekAtCurentToken()"
    functionSourceFile: "ch.qos.logback.core.subst.Parser"
    linkageType: null
    functionLinenumber: 171
    functionDepth: 0
    returnType: "ch.qos.logback.core.subst.Token"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.util.COWArrayList].get(int)"
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    functionUses: 6
    ICount: 11
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.subst.Parser:172"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Parser:175"
        BranchSideFuncs:
        - "get(int)"
      - BranchSide: "ch.qos.logback.core.subst.Parser:174"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.Parser:172,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.core.subst.Parser:173,1"
      Dst: "[java.util.List].get(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.Parser].advanceTokenPointer()"
    functionSourceFile: "ch.qos.logback.core.subst.Parser"
    linkageType: null
    functionLinenumber: 154
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 7
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.Parser].makeNewLiteralNode(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.subst.Parser"
    linkageType: null
    functionLinenumber: 111
    functionDepth: 1
    returnType: "ch.qos.logback.core.subst.Node"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.subst.Node].<init>(ch.qos.logback.core.subst.Node$Type,java.lang.Object)"
    functionUses: 5
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.Parser:112,1"
      Dst: "[ch.qos.logback.core.subst.Node].<init>(ch.qos.logback.core.subst.Node$Type,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.Node].<init>(ch.qos.logback.core.subst.Node$Type,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.subst.Node"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.subst.Node$Type"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 2
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.Node:27,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.Parser].C()"
    functionSourceFile: "ch.qos.logback.core.subst.Parser"
    linkageType: null
    functionLinenumber: 134
    functionDepth: 2
    returnType: "ch.qos.logback.core.subst.Node"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.subst.Parser].E()"
    - "[ch.qos.logback.core.subst.Parser].peekAtCurentToken()"
    - "[ch.qos.logback.core.subst.Parser].isDefaultToken(ch.qos.logback.core.subst.Token)"
    - "[ch.qos.logback.core.subst.Parser].advanceTokenPointer()"
    - "[ch.qos.logback.core.subst.Parser].makeNewLiteralNode(java.lang.String)"
    - "[ch.qos.logback.core.spi.ScanException].<init>(java.lang.String)"
    - "[ch.qos.logback.core.subst.Node].append(ch.qos.logback.core.subst.Node)"
    functionUses: 1
    ICount: 15
    EdgeCount: 9
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.subst.Parser:137"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Parser:147"
        BranchSideFuncs:
        - "advanceTokenPointer()"
        - "makeNewLiteralNode(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.subst.Parser:146"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.subst.Parser:140"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Parser:143"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.subst.Parser:142"
        BranchSideFuncs:
        - "E()"
        - "append(ch.qos.logback.core.subst.Node)"
    Callsites:
    - Src: "ch.qos.logback.core.subst.Parser:135,1"
      Dst: "[ch.qos.logback.core.subst.Parser].E()"
    - Src: "ch.qos.logback.core.subst.Parser:136,1"
      Dst: "[ch.qos.logback.core.subst.Parser].peekAtCurentToken()"
    - Src: "ch.qos.logback.core.subst.Parser:137,1"
      Dst: "[ch.qos.logback.core.subst.Parser].isDefaultToken(ch.qos.logback.core.subst.Token)"
    - Src: "ch.qos.logback.core.subst.Parser:138,1"
      Dst: "[ch.qos.logback.core.subst.Parser].advanceTokenPointer()"
    - Src: "ch.qos.logback.core.subst.Parser:139,1"
      Dst: "[ch.qos.logback.core.subst.Parser].makeNewLiteralNode(java.lang.String)"
    - Src: "ch.qos.logback.core.subst.Parser:141,1"
      Dst: "[ch.qos.logback.core.spi.ScanException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.subst.Parser:143,1"
      Dst: "[ch.qos.logback.core.subst.Node].append(ch.qos.logback.core.subst.Node)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.subst.Parser].isDefaultToken(ch.qos.logback.core.subst.Token)"
    functionSourceFile: "ch.qos.logback.core.subst.Parser"
    linkageType: null
    functionLinenumber: 150
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.subst.Token"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.subst.Parser:151"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Parser:150"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.subst.Parser:151"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Parser:150"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.spi.ScanException].<init>(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ScanException"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Exception].<init>(java.lang.String)"
    functionUses: 6
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ScanException:23,1"
      Dst: "[java.lang.Exception].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.Node].append(ch.qos.logback.core.subst.Node)"
    functionSourceFile: "ch.qos.logback.core.subst.Node"
    linkageType: null
    functionLinenumber: 38
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.subst.Node"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 5
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.subst.Node:39"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Node:41"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.Node:40"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.subst.Node:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Node:47"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.Node:46"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.subst.Parser].expectCurlyRight(ch.qos.logback.core.subst.Token)"
    functionSourceFile: "ch.qos.logback.core.subst.Parser"
    linkageType: null
    functionLinenumber: 164
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.subst.Token"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.subst.Parser].expectNotNull(ch.qos.logback.core.subst.Token,java.lang.String)"
    - "[ch.qos.logback.core.spi.ScanException].<init>(java.lang.String)"
    functionUses: 2
    ICount: 10
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.subst.Parser:166"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Parser:169"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.subst.Parser:168"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.Parser:165,1"
      Dst: "[ch.qos.logback.core.subst.Parser].expectNotNull(ch.qos.logback.core.subst.Token,java.lang.String)"
    - Src: "ch.qos.logback.core.subst.Parser:167,1"
      Dst: "[ch.qos.logback.core.spi.ScanException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.Parser].expectNotNull(ch.qos.logback.core.subst.Token,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.subst.Parser"
    linkageType: null
    functionLinenumber: 158
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.subst.Token"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.subst.Parser:159"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Parser:162"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.Parser:161"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.Parser:160,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.subst.Parser:160,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.Parser].V()"
    functionSourceFile: "ch.qos.logback.core.subst.Parser"
    linkageType: null
    functionLinenumber: 116
    functionDepth: 2
    returnType: "ch.qos.logback.core.subst.Node"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.subst.Parser].E()"
    - "[ch.qos.logback.core.subst.Node].<init>(ch.qos.logback.core.subst.Node$Type,java.lang.Object)"
    - "[ch.qos.logback.core.subst.Parser].peekAtCurentToken()"
    - "[ch.qos.logback.core.subst.Parser].isDefaultToken(ch.qos.logback.core.subst.Token)"
    - "[ch.qos.logback.core.subst.Parser].advanceTokenPointer()"
    - "[ch.qos.logback.core.subst.Parser].Eopt()"
    - "[ch.qos.logback.core.subst.Parser].makeNewLiteralNode(java.lang.String)"
    functionUses: 1
    ICount: 16
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.subst.Parser:120"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Parser:129"
        BranchSideFuncs:
        - "Eopt()"
        - "advanceTokenPointer()"
      - BranchSide: "ch.qos.logback.core.subst.Parser:128"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.subst.Parser:123"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Parser:126"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.Parser:125"
        BranchSideFuncs:
        - "makeNewLiteralNode(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.subst.Parser:117,1"
      Dst: "[ch.qos.logback.core.subst.Parser].E()"
    - Src: "ch.qos.logback.core.subst.Parser:118,1"
      Dst: "[ch.qos.logback.core.subst.Node].<init>(ch.qos.logback.core.subst.Node$Type,java.lang.Object)"
    - Src: "ch.qos.logback.core.subst.Parser:119,1"
      Dst: "[ch.qos.logback.core.subst.Parser].peekAtCurentToken()"
    - Src: "ch.qos.logback.core.subst.Parser:120,1"
      Dst: "[ch.qos.logback.core.subst.Parser].isDefaultToken(ch.qos.logback.core.subst.Token)"
    - Src: "ch.qos.logback.core.subst.Parser:121,1"
      Dst: "[ch.qos.logback.core.subst.Parser].advanceTokenPointer()"
    - Src: "ch.qos.logback.core.subst.Parser:122,1"
      Dst: "[ch.qos.logback.core.subst.Parser].Eopt()"
    - Src: "ch.qos.logback.core.subst.Parser:126,1"
      Dst: "[ch.qos.logback.core.subst.Parser].makeNewLiteralNode(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.subst.Parser].Eopt()"
    functionSourceFile: "ch.qos.logback.core.subst.Parser"
    linkageType: null
    functionLinenumber: 70
    functionDepth: 1
    returnType: "ch.qos.logback.core.subst.Node"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.subst.Parser].peekAtCurentToken()"
    - "[ch.qos.logback.core.subst.Parser].E()"
    functionUses: 2
    ICount: 6
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.subst.Parser:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Parser:75"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.Parser:74"
        BranchSideFuncs:
        - "E()"
    Callsites:
    - Src: "ch.qos.logback.core.subst.Parser:71,1"
      Dst: "[ch.qos.logback.core.subst.Parser].peekAtCurentToken()"
    - Src: "ch.qos.logback.core.subst.Parser:75,1"
      Dst: "[ch.qos.logback.core.subst.Parser].E()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.NodeToStringTransformer].<init>(ch.qos.logback.core.subst.Node,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    functionSourceFile: "ch.qos.logback.core.subst.NodeToStringTransformer"
    linkageType: null
    functionLinenumber: 37
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.subst.Node"
    - "ch.qos.logback.core.spi.PropertyContainer"
    - "ch.qos.logback.core.spi.PropertyContainer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:38,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.NodeToStringTransformer].transform()"
    functionSourceFile: "ch.qos.logback.core.subst.NodeToStringTransformer"
    linkageType: null
    functionLinenumber: 62
    functionDepth: 9
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.subst.NodeToStringTransformer].compileNode(ch.qos.logback.core.subst.Node,java.lang.StringBuilder,java.util.Stack)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.util.Stack].<init>()"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:63,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:64,1"
      Dst: "[java.util.Stack].<init>()"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:64,1"
      Dst: "[ch.qos.logback.core.subst.NodeToStringTransformer].compileNode(ch.qos.logback.core.subst.Node,java.lang.StringBuilder,java.util.Stack)"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:65,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.NodeToStringTransformer].compileNode(ch.qos.logback.core.subst.Node,java.lang.StringBuilder,java.util.Stack)"
    functionSourceFile: "ch.qos.logback.core.subst.NodeToStringTransformer"
    linkageType: null
    functionLinenumber: 69
    functionDepth: 8
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.subst.Node"
    - "java.lang.StringBuilder"
    - "java.util.Stack"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.subst.NodeToStringTransformer].handleLiteral(ch.qos.logback.core.subst.Node,java.lang.StringBuilder)"
    - "[ch.qos.logback.core.subst.NodeToStringTransformer].handleVariable(ch.qos.logback.core.subst.Node,java.lang.StringBuilder,java.util.Stack)"
    - "[java.lang.Enum].ordinal()"
    functionUses: 4
    ICount: 17
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.subst.NodeToStringTransformer:71"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:82"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:81"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:72,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:74,1"
      Dst: "[ch.qos.logback.core.subst.NodeToStringTransformer].handleLiteral(ch.qos.logback.core.subst.Node,java.lang.StringBuilder)"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:77,1"
      Dst: "[ch.qos.logback.core.subst.NodeToStringTransformer].handleVariable(ch.qos.logback.core.subst.Node,java.lang.StringBuilder,java.util.Stack)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.subst.NodeToStringTransformer].handleLiteral(ch.qos.logback.core.subst.Node,java.lang.StringBuilder)"
    functionSourceFile: "ch.qos.logback.core.subst.NodeToStringTransformer"
    linkageType: null
    functionLinenumber: 146
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.subst.Node"
    - "java.lang.StringBuilder"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 1
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:147,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.NodeToStringTransformer].handleVariable(ch.qos.logback.core.subst.Node,java.lang.StringBuilder,java.util.Stack)"
    functionSourceFile: "ch.qos.logback.core.subst.NodeToStringTransformer"
    linkageType: null
    functionLinenumber: 86
    functionDepth: 7
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.subst.Node"
    - "java.lang.StringBuilder"
    - "java.util.Stack"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.subst.NodeToStringTransformer].haveVisitedNodeAlready(ch.qos.logback.core.subst.Node,java.util.Stack)"
    - "[ch.qos.logback.core.subst.NodeToStringTransformer].constructRecursionErrorMessage(java.util.Stack)"
    - "[ch.qos.logback.core.subst.NodeToStringTransformer].compileNode(ch.qos.logback.core.subst.Node,java.lang.StringBuilder,java.util.Stack)"
    - "[ch.qos.logback.core.subst.NodeToStringTransformer].lookupKey(java.lang.String)"
    - "[ch.qos.logback.core.subst.NodeToStringTransformer].tokenizeAndParseString(java.lang.String)"
    - "[java.util.Stack].push(java.lang.Object)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].toString()"
    - "[java.util.Stack].pop()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 1
    ICount: 39
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.subst.NodeToStringTransformer:87"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:92"
        BranchSideFuncs:
        - "constructRecursionErrorMessage(java.util.Stack)"
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:91"
        BranchSideFuncs:
        - "lookupKey(java.lang.String)"
    - Branch String: "ch.qos.logback.core.subst.NodeToStringTransformer:101"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:109"
        BranchSideFuncs:
        - "tokenizeAndParseString(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:108"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.subst.NodeToStringTransformer:109"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:115"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:114"
        BranchSideFuncs:
        - "compileNode(ch.qos.logback.core.subst.Node,java.lang.StringBuilder,java.util.Stack)"
    Callsites:
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:87,1"
      Dst: "[ch.qos.logback.core.subst.NodeToStringTransformer].haveVisitedNodeAlready(ch.qos.logback.core.subst.Node,java.util.Stack)"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:88,1"
      Dst: "[java.util.Stack].push(java.lang.Object)"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:89,1"
      Dst: "[ch.qos.logback.core.subst.NodeToStringTransformer].constructRecursionErrorMessage(java.util.Stack)"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:90,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:94,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:96,1"
      Dst: "[ch.qos.logback.core.subst.NodeToStringTransformer].compileNode(ch.qos.logback.core.subst.Node,java.lang.StringBuilder,java.util.Stack)"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:97,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:98,1"
      Dst: "[ch.qos.logback.core.subst.NodeToStringTransformer].lookupKey(java.lang.String)"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:102,1"
      Dst: "[ch.qos.logback.core.subst.NodeToStringTransformer].tokenizeAndParseString(java.lang.String)"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:104,1"
      Dst: "[java.util.Stack].pop()"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:110,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:110,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.NodeToStringTransformer].haveVisitedNodeAlready(ch.qos.logback.core.subst.Node,java.util.Stack)"
    functionSourceFile: "ch.qos.logback.core.subst.NodeToStringTransformer"
    linkageType: null
    functionLinenumber: 185
    functionDepth: 1
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.subst.Node"
    - "java.util.Stack"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.subst.NodeToStringTransformer].equalNodes(ch.qos.logback.core.subst.Node,ch.qos.logback.core.subst.Node)"
    - "[java.util.Vector].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    functionUses: 1
    ICount: 13
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.subst.NodeToStringTransformer:186"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:191"
        BranchSideFuncs:
        - "equalNodes(ch.qos.logback.core.subst.Node,ch.qos.logback.core.subst.Node)"
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:190"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.subst.NodeToStringTransformer:187"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:190"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:189"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:186,1"
      Dst: "[java.util.Vector].iterator()"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:186,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:186,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:187,1"
      Dst: "[ch.qos.logback.core.subst.NodeToStringTransformer].equalNodes(ch.qos.logback.core.subst.Node,ch.qos.logback.core.subst.Node)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.subst.NodeToStringTransformer].equalNodes(ch.qos.logback.core.subst.Node,ch.qos.logback.core.subst.Node)"
    functionSourceFile: "ch.qos.logback.core.subst.NodeToStringTransformer"
    linkageType: null
    functionLinenumber: 194
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.subst.Node"
    - "ch.qos.logback.core.subst.Node"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.model.RootLoggerModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.parser.SimpleKeywordNode].equals(java.lang.Object)"
    - "[ch.qos.logback.classic.spi.StackTraceElementProxy].equals(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.parser.CompositeNode].equals(java.lang.Object)"
    - "[org.slf4j.helpers.SubstituteLogger].equals(java.lang.Object)"
    - "[org.slf4j.event.KeyValuePair].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.PropertyModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.DefineModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.parser.FormattingNode].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.ParamModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.InsertFromJNDIModel].equals(java.lang.Object)"
    - "[ch.qos.logback.classic.model.LevelModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.NamedModel].equals(java.lang.Object)"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].equals(java.lang.Object)"
    - "[ch.qos.logback.classic.spi.ClassPackagingData].equals(java.lang.Object)"
    - "[ch.qos.logback.core.subst.Node].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.TimestampModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.parser.Node].equals(java.lang.Object)"
    - "[ch.qos.logback.classic.model.LoggerModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].equals(java.lang.Object)"
    - "[ch.qos.logback.core.joran.spi.ElementSelector].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.NamedComponentModel].equals(java.lang.Object)"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].equals(java.lang.Object)"
    - "[ch.qos.logback.core.subst.Token].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.AppenderRefModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.conditional.IfModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.status.StatusBase].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.Model].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.ComponentModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble].equals(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.parser.Token].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.SerializeModelModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.joran.spi.ElementPath].equals(java.lang.Object)"
    - "[ch.qos.logback.core.spi.AbstractComponentTracker$Entry].equals(java.lang.Object)"
    - "[ch.qos.logback.classic.model.ConfigurationModel].equals(java.lang.Object)"
    - "[org.slf4j.helpers.BasicMarker].equals(java.lang.Object)"
    - "[ch.qos.logback.classic.spi.LoggerContextVO].equals(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.FormatInfo].equals(java.lang.Object)"
    - "[java.lang.Enum].equals(java.lang.Object)"
    - "[java.lang.Object].equals(java.lang.Object)"
    functionUses: 1
    ICount: 25
    EdgeCount: 76
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.subst.NodeToStringTransformer:195"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:197"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:196"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.subst.NodeToStringTransformer:195"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:197"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:196"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.subst.NodeToStringTransformer:197"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:199"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:198"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "ch.qos.logback.core.subst.NodeToStringTransformer:197"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:199"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:198"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "ch.qos.logback.core.subst.NodeToStringTransformer:199"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:202"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:201"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.subst.NodeToStringTransformer:199"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:202"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:201"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:195,1"
      Dst: "[java.lang.Enum].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:197,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.subst.NodeToStringTransformer].constructRecursionErrorMessage(java.util.Stack)"
    functionSourceFile: "ch.qos.logback.core.subst.NodeToStringTransformer"
    linkageType: null
    functionLinenumber: 166
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.util.Stack"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.subst.NodeToStringTransformer].variableNodeValue(ch.qos.logback.core.subst.Node)"
    - "[java.lang.StringBuilder].<init>(java.lang.String)"
    - "[java.util.Vector].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.util.Vector].lastElement()"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 20
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.subst.NodeToStringTransformer:169"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:175"
        BranchSideFuncs:
        - "variableNodeValue(ch.qos.logback.core.subst.Node)"
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:174"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.subst.NodeToStringTransformer:171"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:174"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:173"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:167,1"
      Dst: "[java.lang.StringBuilder].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:169,1"
      Dst: "[java.util.Vector].iterator()"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:169,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:169,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:170,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:170,1"
      Dst: "[ch.qos.logback.core.subst.NodeToStringTransformer].variableNodeValue(ch.qos.logback.core.subst.Node)"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:171,1"
      Dst: "[java.util.Vector].lastElement()"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:176,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.subst.NodeToStringTransformer].variableNodeValue(ch.qos.logback.core.subst.Node)"
    functionSourceFile: "ch.qos.logback.core.subst.NodeToStringTransformer"
    linkageType: null
    functionLinenumber: 150
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.subst.Node"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.subst.NodeToStringTransformer].variableNodeValue(ch.qos.logback.core.subst.Node)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 2
    ICount: 21
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.subst.NodeToStringTransformer:152"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:156"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:155"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.subst.NodeToStringTransformer:156"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:160"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:159"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.subst.NodeToStringTransformer:160"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:163"
        BranchSideFuncs:
        - "variableNodeValue(ch.qos.logback.core.subst.Node)"
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:162"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:161,1"
      Dst: "[ch.qos.logback.core.subst.NodeToStringTransformer].variableNodeValue(ch.qos.logback.core.subst.Node)"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:161,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:163,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.NodeToStringTransformer].lookupKey(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.subst.NodeToStringTransformer"
    linkageType: null
    functionLinenumber: 123
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getProperty(java.lang.String)"
    - "[ch.qos.logback.core.ContextBase].getProperty(java.lang.String)"
    - "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].getProperty(java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].getSystemProperty(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].getEnv(java.lang.String)"
    - "[ch.qos.logback.core.spi.PropertyContainer].getProperty(java.lang.String)"
    functionUses: 1
    ICount: 19
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.subst.NodeToStringTransformer:125"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:128"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:127"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.subst.NodeToStringTransformer:128"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:134"
        BranchSideFuncs:
        - "getProperty(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:133"
        BranchSideFuncs:
        - "getSystemProperty(java.lang.String,java.lang.String)"
    - Branch String: "ch.qos.logback.core.subst.NodeToStringTransformer:130"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:134"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:133"
        BranchSideFuncs:
        - "getSystemProperty(java.lang.String,java.lang.String)"
    - Branch String: "ch.qos.logback.core.subst.NodeToStringTransformer:135"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:138"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:137"
        BranchSideFuncs:
        - "getEnv(java.lang.String)"
    - Branch String: "ch.qos.logback.core.subst.NodeToStringTransformer:139"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:143"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:142"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:124,1"
      Dst: "[ch.qos.logback.core.spi.PropertyContainer].getProperty(java.lang.String)"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:134,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].getSystemProperty(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:138,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].getEnv(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.OptionHelper].getSystemProperty(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 145
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].getProperty(java.lang.String,java.lang.String)"
    functionUses: 3
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:146,1"
      Dst: "[java.lang.System].getProperty(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].getEnv(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 159
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].getenv(java.lang.String)"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:160,1"
      Dst: "[java.lang.System].getenv(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 74
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 67
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 6
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.status.ErrorStatus"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionUses: 14
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.ErrorStatus:23,1"
      Dst: "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 71
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.status.Status"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - "[ch.qos.logback.core.BasicStatusManager].add(ch.qos.logback.core.status.Status)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.ContextAwareBase)"
    - "[java.io.PrintStream].println(java.lang.String)"
    - "[ch.qos.logback.core.Context].getStatusManager()"
    - "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    functionUses: 24
    ICount: 17
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:78"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:77"
        BranchSideFuncs:
        - "getStatusManager()"
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:73"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:76"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:75"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:79"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:82"
        BranchSideFuncs:
        - "add(ch.qos.logback.core.status.Status)"
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:81"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:74,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.ContextAwareBase)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:74,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:78,1"
      Dst: "[ch.qos.logback.core.Context].getStatusManager()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:80,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.model.processor.PropertyModelHandler].loadAndSetProperties(ch.qos.logback.core.model.processor.ModelInterpretationContext,java.io.InputStream,ch.qos.logback.core.joran.action.ActionUtil$Scope)"
    functionSourceFile: "ch.qos.logback.core.model.processor.PropertyModelHandler"
    linkageType: null
    functionLinenumber: 83
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "java.io.InputStream"
    - "ch.qos.logback.core.joran.action.ActionUtil$Scope"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.ModelUtil].setProperties(ch.qos.logback.core.model.processor.ModelInterpretationContext,java.util.Properties,ch.qos.logback.core.joran.action.ActionUtil$Scope)"
    - "[java.util.Properties].<init>()"
    - "[java.util.Properties].load(java.io.InputStream)"
    functionUses: 2
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:84,1"
      Dst: "[java.util.Properties].<init>()"
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:85,1"
      Dst: "[java.util.Properties].load(java.io.InputStream)"
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:86,1"
      Dst: "[ch.qos.logback.core.model.ModelUtil].setProperties(ch.qos.logback.core.model.processor.ModelInterpretationContext,java.util.Properties,ch.qos.logback.core.joran.action.ActionUtil$Scope)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ModelUtil].setProperties(ch.qos.logback.core.model.processor.ModelInterpretationContext,java.util.Properties,ch.qos.logback.core.joran.action.ActionUtil$Scope)"
    functionSourceFile: "ch.qos.logback.core.model.ModelUtil"
    linkageType: null
    functionLinenumber: 40
    functionDepth: 2
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "java.util.Properties"
    - "ch.qos.logback.core.joran.action.ActionUtil$Scope"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].addSubstitutionProperties(java.util.Properties)"
    - "[ch.qos.logback.core.util.ContextUtil].<init>(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - "[ch.qos.logback.core.util.ContextUtil].addProperties(java.util.Properties)"
    - "[ch.qos.logback.core.util.OptionHelper].setSystemProperties(ch.qos.logback.core.spi.ContextAware,java.util.Properties)"
    - "[java.lang.Enum].ordinal()"
    functionUses: 1
    ICount: 16
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.ModelUtil:41,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "ch.qos.logback.core.model.ModelUtil:43,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].addSubstitutionProperties(java.util.Properties)"
    - Src: "ch.qos.logback.core.model.ModelUtil:46,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - Src: "ch.qos.logback.core.model.ModelUtil:46,1"
      Dst: "[ch.qos.logback.core.util.ContextUtil].<init>(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.model.ModelUtil:47,1"
      Dst: "[ch.qos.logback.core.util.ContextUtil].addProperties(java.util.Properties)"
    - Src: "ch.qos.logback.core.model.ModelUtil:50,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].setSystemProperties(ch.qos.logback.core.spi.ContextAware,java.util.Properties)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].addSubstitutionProperties(java.util.Properties)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 179
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.Properties"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].addSubstitutionProperty(java.lang.String,java.lang.String)"
    - "[java.util.Properties].keySet()"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.Properties].getProperty(java.lang.String)"
    functionUses: 1
    ICount: 14
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:180"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:183"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:182"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:183"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:188"
        BranchSideFuncs:
        - "addSubstitutionProperty(java.lang.String,java.lang.String)"
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:187"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:183,1"
      Dst: "[java.util.Properties].keySet()"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:183,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:183,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:183,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:185,1"
      Dst: "[java.util.Properties].getProperty(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:186,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].addSubstitutionProperty(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].addSubstitutionProperty(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 170
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 4
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:171"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:172"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:171"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:171"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:175"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:174"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:175,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:176,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 0
    returnType: "ch.qos.logback.core.Context"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 35
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.ContextUtil].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.util.ContextUtil"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.ContextUtil:33,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - Src: "ch.qos.logback.core.util.ContextUtil:34,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 34
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:34,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 67
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:45"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:44"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:47"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:46,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.ContextUtil].addProperties(java.util.Properties)"
    functionSourceFile: "ch.qos.logback.core.util.ContextUtil"
    linkageType: null
    functionLinenumber: 37
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.Properties"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].putProperty(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.ContextBase].putProperty(java.lang.String,java.lang.String)"
    - "[java.util.Properties].entrySet()"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.Map$Entry].getKey()"
    - "[java.util.Map$Entry].getValue()"
    - "[ch.qos.logback.core.Context].putProperty(java.lang.String,java.lang.String)"
    functionUses: 1
    ICount: 18
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.ContextUtil:38"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.ContextUtil:42"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.ContextUtil:41"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.ContextUtil:42"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.ContextUtil:47"
        BranchSideFuncs:
        - "putProperty(java.lang.String,java.lang.String)"
      - BranchSide: "ch.qos.logback.core.util.ContextUtil:46"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.ContextUtil:42,1"
      Dst: "[java.util.Properties].entrySet()"
    - Src: "ch.qos.logback.core.util.ContextUtil:42,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "ch.qos.logback.core.util.ContextUtil:42,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.util.ContextUtil:42,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.util.ContextUtil:43,1"
      Dst: "[java.util.Map$Entry].getKey()"
    - Src: "ch.qos.logback.core.util.ContextUtil:44,1"
      Dst: "[java.util.Map$Entry].getValue()"
    - Src: "ch.qos.logback.core.util.ContextUtil:44,1"
      Dst: "[ch.qos.logback.core.Context].putProperty(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.OptionHelper].setSystemProperties(ch.qos.logback.core.spi.ContextAware,java.util.Properties)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 181
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.spi.ContextAware"
    - "java.util.Properties"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.OptionHelper].setSystemProperty(ch.qos.logback.core.spi.ContextAware,java.lang.String,java.lang.String)"
    - "[java.util.Properties].keySet()"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.Properties].getProperty(java.lang.String)"
    functionUses: 1
    ICount: 12
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.OptionHelper:182"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:187"
        BranchSideFuncs:
        - "setSystemProperty(ch.qos.logback.core.spi.ContextAware,java.lang.String,java.lang.String)"
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:186"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:182,1"
      Dst: "[java.util.Properties].keySet()"
    - Src: "ch.qos.logback.core.util.OptionHelper:182,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "ch.qos.logback.core.util.OptionHelper:182,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.util.OptionHelper:182,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.util.OptionHelper:184,1"
      Dst: "[java.util.Properties].getProperty(java.lang.String)"
    - Src: "ch.qos.logback.core.util.OptionHelper:185,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].setSystemProperty(ch.qos.logback.core.spi.ContextAware,java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.OptionHelper].setSystemProperty(ch.qos.logback.core.spi.ContextAware,java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 190
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.spi.ContextAware"
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].addError(java.lang.String,java.lang.Throwable)"
    - "[java.lang.System].setProperty(java.lang.String,java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAware].addError(java.lang.String,java.lang.Throwable)"
    functionUses: 3
    ICount: 9
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:191,1"
      Dst: "[java.lang.System].setProperty(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.util.OptionHelper:193,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.util.OptionHelper:193,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.PropertyModelHandler].checkResourceAttributeSanity(ch.qos.logback.core.model.PropertyModel)"
    functionSourceFile: "ch.qos.logback.core.model.processor.PropertyModelHandler"
    linkageType: null
    functionLinenumber: 99
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.PropertyModel"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.PropertyModel].getFile()"
    - "[ch.qos.logback.core.model.NamedModel].getName()"
    - "[ch.qos.logback.core.model.PropertyModel].getValue()"
    - "[ch.qos.logback.core.model.PropertyModel].getResource()"
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    functionUses: 1
    ICount: 18
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.PropertyModelHandler:105"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.PropertyModelHandler:-1"
        BranchSideFuncs:
        - "isNullOrEmptyOrAllSpaces(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.model.processor.PropertyModelHandler:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.PropertyModelHandler:105"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.PropertyModelHandler:-1"
        BranchSideFuncs:
        - "isNullOrEmptyOrAllSpaces(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.model.processor.PropertyModelHandler:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.PropertyModelHandler:106"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.PropertyModelHandler:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.PropertyModelHandler:106"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.PropertyModelHandler:-2"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:100,1"
      Dst: "[ch.qos.logback.core.model.PropertyModel].getFile()"
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:101,1"
      Dst: "[ch.qos.logback.core.model.NamedModel].getName()"
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:102,1"
      Dst: "[ch.qos.logback.core.model.PropertyModel].getValue()"
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:103,1"
      Dst: "[ch.qos.logback.core.model.PropertyModel].getResource()"
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:105,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.util.Loader].getResourceBySelfClassLoader(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.Loader"
    linkageType: null
    functionLinenumber: 114
    functionDepth: 2
    returnType: "java.net.URL"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].getClassLoaderOfClass(java.lang.Class)"
    - "[ch.qos.logback.core.util.Loader].getResource(java.lang.String,java.lang.ClassLoader)"
    functionUses: 6
    ICount: 4
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.Loader:115,1"
      Dst: "[ch.qos.logback.core.util.Loader].getClassLoaderOfClass(java.lang.Class)"
    - Src: "ch.qos.logback.core.util.Loader:115,1"
      Dst: "[ch.qos.logback.core.util.Loader].getResource(java.lang.String,java.lang.ClassLoader)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.Loader].getClassLoaderOfClass(java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.util.Loader"
    linkageType: null
    functionLinenumber: 173
    functionDepth: 1
    returnType: "java.lang.ClassLoader"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].systemClassloaderIfNull(java.lang.ClassLoader)"
    - "[java.lang.Class].getClassLoader()"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.Loader:174,1"
      Dst: "[java.lang.Class].getClassLoader()"
    - Src: "ch.qos.logback.core.util.Loader:175,1"
      Dst: "[ch.qos.logback.core.util.Loader].systemClassloaderIfNull(java.lang.ClassLoader)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.Loader].systemClassloaderIfNull(java.lang.ClassLoader)"
    functionSourceFile: "ch.qos.logback.core.util.Loader"
    linkageType: null
    functionLinenumber: 67
    functionDepth: 0
    returnType: "java.lang.ClassLoader"
    argCount: 1
    argTypes:
    - "java.lang.ClassLoader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ClassLoader].getSystemClassLoader()"
    functionUses: 2
    ICount: 5
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.Loader:68"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.Loader:71"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.Loader:70"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.Loader:69,1"
      Dst: "[java.lang.ClassLoader].getSystemClassLoader()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.Loader].getResource(java.lang.String,java.lang.ClassLoader)"
    functionSourceFile: "ch.qos.logback.core.util.Loader"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 0
    returnType: "java.net.URL"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.ClassLoader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ClassLoader].getResource(java.lang.String)"
    functionUses: 6
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.Loader:101,1"
      Dst: "[java.lang.ClassLoader].getResource(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.PropertyModelHandler].checkValueNameAttributesSanity(ch.qos.logback.core.model.PropertyModel)"
    functionSourceFile: "ch.qos.logback.core.model.processor.PropertyModelHandler"
    linkageType: null
    functionLinenumber: 109
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.PropertyModel"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.PropertyModel].getFile()"
    - "[ch.qos.logback.core.model.NamedModel].getName()"
    - "[ch.qos.logback.core.model.PropertyModel].getValue()"
    - "[ch.qos.logback.core.model.PropertyModel].getResource()"
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    functionUses: 1
    ICount: 18
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.PropertyModelHandler:114"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.PropertyModelHandler:-1"
        BranchSideFuncs:
        - "isNullOrEmptyOrAllSpaces(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.model.processor.PropertyModelHandler:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.PropertyModelHandler:114"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.PropertyModelHandler:-1"
        BranchSideFuncs:
        - "isNullOrEmptyOrAllSpaces(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.model.processor.PropertyModelHandler:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.PropertyModelHandler:115"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.PropertyModelHandler:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.PropertyModelHandler:115"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.PropertyModelHandler:-2"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:110,1"
      Dst: "[ch.qos.logback.core.model.PropertyModel].getFile()"
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:111,1"
      Dst: "[ch.qos.logback.core.model.NamedModel].getName()"
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:112,1"
      Dst: "[ch.qos.logback.core.model.PropertyModel].getValue()"
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:113,1"
      Dst: "[ch.qos.logback.core.model.PropertyModel].getResource()"
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:114,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.joran.action.ActionUtil].setProperty(ch.qos.logback.core.model.processor.ModelInterpretationContext,java.lang.String,java.lang.String,ch.qos.logback.core.joran.action.ActionUtil$Scope)"
    functionSourceFile: "ch.qos.logback.core.joran.action.ActionUtil"
    linkageType: null
    functionLinenumber: 53
    functionDepth: 1
    returnType: "void"
    argCount: 4
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "java.lang.String"
    - "java.lang.String"
    - "ch.qos.logback.core.joran.action.ActionUtil$Scope"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].addSubstitutionProperty(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - "[ch.qos.logback.classic.LoggerContext].putProperty(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.ContextBase].putProperty(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].setSystemProperty(ch.qos.logback.core.spi.ContextAware,java.lang.String,java.lang.String)"
    - "[java.lang.Enum].ordinal()"
    - "[ch.qos.logback.core.Context].putProperty(java.lang.String,java.lang.String)"
    functionUses: 3
    ICount: 15
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.ActionUtil:54,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "ch.qos.logback.core.joran.action.ActionUtil:56,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].addSubstitutionProperty(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.ActionUtil:59,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - Src: "ch.qos.logback.core.joran.action.ActionUtil:59,1"
      Dst: "[ch.qos.logback.core.Context].putProperty(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.ActionUtil:62,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].setSystemProperty(ch.qos.logback.core.spi.ContextAware,java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.model.processor.PropertyModelHandler].loadAndSetProperties(ch.qos.logback.core.model.processor.ModelInterpretationContext,java.io.InputStream,ch.qos.logback.core.joran.action.ActionUtil$Scope)"
    functionSourceFile: "ch.qos.logback.core.model.processor.PropertyModelHandler"
    linkageType: null
    functionLinenumber: 83
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "java.io.InputStream"
    - "ch.qos.logback.core.joran.action.ActionUtil$Scope"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.ModelUtil].setProperties(ch.qos.logback.core.model.processor.ModelInterpretationContext,java.util.Properties,ch.qos.logback.core.joran.action.ActionUtil$Scope)"
    - "[java.util.Properties].<init>()"
    - "[java.util.Properties].load(java.io.InputStream)"
    functionUses: 2
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:84,1"
      Dst: "[java.util.Properties].<init>()"
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:85,1"
      Dst: "[java.util.Properties].load(java.io.InputStream)"
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:86,1"
      Dst: "[ch.qos.logback.core.model.ModelUtil].setProperties(ch.qos.logback.core.model.processor.ModelInterpretationContext,java.util.Properties,ch.qos.logback.core.joran.action.ActionUtil$Scope)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.PropertyModelHandler].checkFileAttributeSanity(ch.qos.logback.core.model.PropertyModel)"
    functionSourceFile: "ch.qos.logback.core.model.processor.PropertyModelHandler"
    linkageType: null
    functionLinenumber: 89
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.PropertyModel"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.PropertyModel].getFile()"
    - "[ch.qos.logback.core.model.NamedModel].getName()"
    - "[ch.qos.logback.core.model.PropertyModel].getValue()"
    - "[ch.qos.logback.core.model.PropertyModel].getResource()"
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    functionUses: 1
    ICount: 18
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.PropertyModelHandler:95"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.PropertyModelHandler:-1"
        BranchSideFuncs:
        - "isNullOrEmptyOrAllSpaces(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.model.processor.PropertyModelHandler:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.PropertyModelHandler:95"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.PropertyModelHandler:-1"
        BranchSideFuncs:
        - "isNullOrEmptyOrAllSpaces(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.model.processor.PropertyModelHandler:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.PropertyModelHandler:96"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.PropertyModelHandler:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.PropertyModelHandler:96"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.PropertyModelHandler:-2"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:90,1"
      Dst: "[ch.qos.logback.core.model.PropertyModel].getFile()"
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:91,1"
      Dst: "[ch.qos.logback.core.model.NamedModel].getName()"
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:92,1"
      Dst: "[ch.qos.logback.core.model.PropertyModel].getValue()"
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:93,1"
      Dst: "[ch.qos.logback.core.model.PropertyModel].getResource()"
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:95,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.model.processor.PropertyModelHandler].checkResourceAttributeSanity(ch.qos.logback.core.model.PropertyModel)"
    functionSourceFile: "ch.qos.logback.core.model.processor.PropertyModelHandler"
    linkageType: null
    functionLinenumber: 99
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.PropertyModel"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.PropertyModel].getFile()"
    - "[ch.qos.logback.core.model.NamedModel].getName()"
    - "[ch.qos.logback.core.model.PropertyModel].getValue()"
    - "[ch.qos.logback.core.model.PropertyModel].getResource()"
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    functionUses: 1
    ICount: 18
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.PropertyModelHandler:105"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.PropertyModelHandler:-1"
        BranchSideFuncs:
        - "isNullOrEmptyOrAllSpaces(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.model.processor.PropertyModelHandler:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.PropertyModelHandler:105"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.PropertyModelHandler:-1"
        BranchSideFuncs:
        - "isNullOrEmptyOrAllSpaces(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.model.processor.PropertyModelHandler:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.PropertyModelHandler:106"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.PropertyModelHandler:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.PropertyModelHandler:106"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.PropertyModelHandler:-2"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:100,1"
      Dst: "[ch.qos.logback.core.model.PropertyModel].getFile()"
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:101,1"
      Dst: "[ch.qos.logback.core.model.NamedModel].getName()"
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:102,1"
      Dst: "[ch.qos.logback.core.model.PropertyModel].getValue()"
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:103,1"
      Dst: "[ch.qos.logback.core.model.PropertyModel].getResource()"
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:105,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.model.processor.PropertyModelHandler].checkValueNameAttributesSanity(ch.qos.logback.core.model.PropertyModel)"
    functionSourceFile: "ch.qos.logback.core.model.processor.PropertyModelHandler"
    linkageType: null
    functionLinenumber: 109
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.PropertyModel"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.PropertyModel].getFile()"
    - "[ch.qos.logback.core.model.NamedModel].getName()"
    - "[ch.qos.logback.core.model.PropertyModel].getValue()"
    - "[ch.qos.logback.core.model.PropertyModel].getResource()"
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    functionUses: 1
    ICount: 18
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.PropertyModelHandler:114"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.PropertyModelHandler:-1"
        BranchSideFuncs:
        - "isNullOrEmptyOrAllSpaces(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.model.processor.PropertyModelHandler:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.PropertyModelHandler:114"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.PropertyModelHandler:-1"
        BranchSideFuncs:
        - "isNullOrEmptyOrAllSpaces(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.model.processor.PropertyModelHandler:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.PropertyModelHandler:115"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.PropertyModelHandler:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.PropertyModelHandler:115"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.PropertyModelHandler:-2"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:110,1"
      Dst: "[ch.qos.logback.core.model.PropertyModel].getFile()"
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:111,1"
      Dst: "[ch.qos.logback.core.model.NamedModel].getName()"
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:112,1"
      Dst: "[ch.qos.logback.core.model.PropertyModel].getValue()"
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:113,1"
      Dst: "[ch.qos.logback.core.model.PropertyModel].getResource()"
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:114,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:23,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:24,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory].create(java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 2
    returnType: "ch.qos.logback.core.joran.util.beans.BeanDescription"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.beans.BeanUtil].isAdder(java.lang.reflect.Method)"
    - "[ch.qos.logback.core.joran.util.beans.BeanUtil].isGetter(java.lang.reflect.Method)"
    - "[ch.qos.logback.core.joran.util.beans.BeanUtil].isSetter(java.lang.reflect.Method)"
    - "[ch.qos.logback.core.joran.util.beans.BeanUtil].getPropertyName(java.lang.reflect.Method)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.joran.util.beans.BeanDescription].<init>(java.lang.Class,java.util.Map,java.util.Map,java.util.Map)"
    - "[java.util.HashMap].<init>()"
    - "[java.lang.Class].getMethods()"
    - "[java.lang.reflect.Method].isBridge()"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - "[java.lang.reflect.Method].getName()"
    - "[java.lang.String].startsWith(java.lang.String)"
    - "[java.lang.Class].getCanonicalName()"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    functionUses: 1
    ICount: 63
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:37"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:71"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:70"
        BranchSideFuncs:
        - "<init>(java.lang.Class,java.util.Map,java.util.Map,java.util.Map)"
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:38"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:41"
        BranchSideFuncs:
        - "isSetter(java.lang.reflect.Method)"
        - "isGetter(java.lang.reflect.Method)"
        - "isAdder(java.lang.reflect.Method)"
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:42"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:42"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:41"
        BranchSideFuncs:
        - "isSetter(java.lang.reflect.Method)"
        - "isGetter(java.lang.reflect.Method)"
        - "isAdder(java.lang.reflect.Method)"
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:53"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:52"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:46"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:49"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:48"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:42"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:42"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:41"
        BranchSideFuncs:
        - "isSetter(java.lang.reflect.Method)"
        - "isGetter(java.lang.reflect.Method)"
        - "isAdder(java.lang.reflect.Method)"
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:56"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:61"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:60"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:42"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:33"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:32"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:64"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:33"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:32"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:33,1"
      Dst: "[java.util.HashMap].<init>()"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:36,1"
      Dst: "[java.lang.Class].getMethods()"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:38,1"
      Dst: "[java.lang.reflect.Method].isBridge()"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:42,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanUtil].isGetter(java.lang.reflect.Method)"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:43,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanUtil].getPropertyName(java.lang.reflect.Method)"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:44,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:46,1"
      Dst: "[java.lang.reflect.Method].getName()"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:46,1"
      Dst: "[java.lang.String].startsWith(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:50,1"
      Dst: "[java.lang.Class].getCanonicalName()"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:49,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:51,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:42,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanUtil].isSetter(java.lang.reflect.Method)"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:42,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanUtil].isAdder(java.lang.reflect.Method)"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:71,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanDescription].<init>(java.lang.Class,java.util.Map,java.util.Map,java.util.Map)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 19
    CyclomaticComplexity: 10
  - functionName: "[ch.qos.logback.core.joran.util.beans.BeanUtil].isGetter(java.lang.reflect.Method)"
    functionSourceFile: "ch.qos.logback.core.joran.util.beans.BeanUtil"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Method"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.beans.BeanUtil].getParameterCount(java.lang.reflect.Method)"
    - "[java.lang.reflect.Method].getReturnType()"
    - "[java.lang.reflect.Method].getName()"
    - "[java.lang.String].startsWith(java.lang.String)"
    - "[java.lang.Object].equals(java.lang.Object)"
    functionUses: 1
    ICount: 23
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanUtil:44"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:47"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:46"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanUtil:48"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:51"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:50"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanUtil:52"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:55"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:54"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanUtil:52"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:55"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:54"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanUtil:55"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:60"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:59"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanUtil:56"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:60"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:59"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanUtil:56"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:60"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:59"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:43,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanUtil].getParameterCount(java.lang.reflect.Method)"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:47,1"
      Dst: "[java.lang.reflect.Method].getReturnType()"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:51,1"
      Dst: "[java.lang.reflect.Method].getName()"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:52,1"
      Dst: "[java.lang.String].startsWith(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:56,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 12
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.joran.util.beans.BeanUtil].getParameterCount(java.lang.reflect.Method)"
    functionSourceFile: "ch.qos.logback.core.joran.util.beans.BeanUtil"
    linkageType: null
    functionLinenumber: 63
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Method"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.reflect.Method].getParameterTypes()"
    functionUses: 3
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:64,1"
      Dst: "[java.lang.reflect.Method].getParameterTypes()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.beans.BeanUtil].getPropertyName(java.lang.reflect.Method)"
    functionSourceFile: "ch.qos.logback.core.joran.util.beans.BeanUtil"
    linkageType: null
    functionLinenumber: 93
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Method"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.beans.BeanUtil].getSubstringIfPrefixMatches(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.joran.util.beans.BeanUtil].toLowerCamelCase(java.lang.String)"
    - "[java.lang.reflect.Method].getName()"
    functionUses: 3
    ICount: 12
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanUtil:96"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:99"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:98"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanUtil:99"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:102"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:101"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanUtil:102"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:105"
        BranchSideFuncs:
        - "getSubstringIfPrefixMatches(java.lang.String,java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:104"
        BranchSideFuncs:
        - "toLowerCamelCase(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:94,1"
      Dst: "[java.lang.reflect.Method].getName()"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:95,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanUtil].getSubstringIfPrefixMatches(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:105,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanUtil].toLowerCamelCase(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.joran.util.beans.BeanUtil].getSubstringIfPrefixMatches(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.util.beans.BeanUtil"
    linkageType: null
    functionLinenumber: 132
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].startsWith(java.lang.String)"
    - "[java.lang.String].length()"
    - "[java.lang.String].substring(int)"
    functionUses: 4
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanUtil:133"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:136"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:135"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:133,1"
      Dst: "[java.lang.String].startsWith(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:134,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:134,1"
      Dst: "[java.lang.String].substring(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.beans.BeanUtil].toLowerCamelCase(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.util.beans.BeanUtil"
    linkageType: null
    functionLinenumber: 117
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].isEmpty()"
    - "[java.lang.String].length()"
    - "[java.lang.String].charAt(int)"
    - "[java.lang.Character].isUpperCase(char)"
    - "[java.lang.String].toCharArray()"
    - "[java.lang.Character].toLowerCase(char)"
    - "[java.lang.String].<init>(char[])"
    functionUses: 3
    ICount: 22
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanUtil:118"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:121"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:120"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanUtil:121"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:124"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:123"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanUtil:124"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:127"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:126"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanUtil:124"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:127"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:126"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanUtil:124"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:127"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:126"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:121,1"
      Dst: "[java.lang.String].isEmpty()"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:124,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:124,1"
      Dst: "[java.lang.String].charAt(int)"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:124,1"
      Dst: "[java.lang.Character].isUpperCase(char)"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:127,1"
      Dst: "[java.lang.String].toCharArray()"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:128,1"
      Dst: "[java.lang.Character].toLowerCase(char)"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:129,1"
      Dst: "[java.lang.String].<init>(char[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 96
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 67
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 6
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.status.WarnStatus"
    linkageType: null
    functionLinenumber: 18
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    functionUses: 12
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.WarnStatus:19,1"
      Dst: "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 71
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.status.Status"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - "[ch.qos.logback.core.BasicStatusManager].add(ch.qos.logback.core.status.Status)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.ContextAwareBase)"
    - "[java.io.PrintStream].println(java.lang.String)"
    - "[ch.qos.logback.core.Context].getStatusManager()"
    - "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    functionUses: 24
    ICount: 17
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:78"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:77"
        BranchSideFuncs:
        - "getStatusManager()"
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:73"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:76"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:75"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:79"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:82"
        BranchSideFuncs:
        - "add(ch.qos.logback.core.status.Status)"
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:81"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:74,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.ContextAwareBase)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:74,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:78,1"
      Dst: "[ch.qos.logback.core.Context].getStatusManager()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:80,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.joran.util.beans.BeanUtil].isSetter(java.lang.reflect.Method)"
    functionSourceFile: "ch.qos.logback.core.joran.util.beans.BeanUtil"
    linkageType: null
    functionLinenumber: 72
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Method"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.beans.BeanUtil].getParameterCount(java.lang.reflect.Method)"
    - "[java.lang.reflect.Method].getReturnType()"
    - "[java.lang.reflect.Method].getName()"
    - "[java.lang.String].startsWith(java.lang.String)"
    functionUses: 1
    ICount: 13
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanUtil:74"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:77"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:76"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanUtil:78"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:81"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:80"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanUtil:82"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:85"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:84"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:73,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanUtil].getParameterCount(java.lang.reflect.Method)"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:77,1"
      Dst: "[java.lang.reflect.Method].getReturnType()"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:81,1"
      Dst: "[java.lang.reflect.Method].getName()"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:82,1"
      Dst: "[java.lang.String].startsWith(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.beans.BeanUtil].isAdder(java.lang.reflect.Method)"
    functionSourceFile: "ch.qos.logback.core.joran.util.beans.BeanUtil"
    linkageType: null
    functionLinenumber: 24
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Method"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.beans.BeanUtil].getParameterCount(java.lang.reflect.Method)"
    - "[java.lang.reflect.Method].getReturnType()"
    - "[java.lang.reflect.Method].getName()"
    - "[java.lang.String].startsWith(java.lang.String)"
    functionUses: 1
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanUtil:26"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:29"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:28"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanUtil:30"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:33"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:32"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:25,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanUtil].getParameterCount(java.lang.reflect.Method)"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:29,1"
      Dst: "[java.lang.reflect.Method].getReturnType()"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:33,1"
      Dst: "[java.lang.reflect.Method].getName()"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:34,1"
      Dst: "[java.lang.String].startsWith(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.beans.BeanDescription].<init>(java.lang.Class,java.util.Map,java.util.Map,java.util.Map)"
    functionSourceFile: "ch.qos.logback.core.joran.util.beans.BeanDescription"
    linkageType: null
    functionLinenumber: 36
    functionDepth: 0
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.lang.Class"
    - "java.util.Map"
    - "java.util.Map"
    - "java.util.Map"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.Collections].unmodifiableMap(java.util.Map)"
    functionUses: 1
    ICount: 14
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescription:37,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescription:39,1"
      Dst: "[java.util.Collections].unmodifiableMap(java.util.Map)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.FixedDelay].<init>(long,long)"
    functionSourceFile: "ch.qos.logback.core.util.FixedDelay"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.FixedDelay:34,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.FixedDelay].<init>(int)"
    functionSourceFile: "ch.qos.logback.core.util.FixedDelay"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.FixedDelay].<init>(long,long)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.FixedDelay:46,1"
      Dst: "[ch.qos.logback.core.util.FixedDelay].<init>(long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.FixedDelay].nextDelay()"
    functionSourceFile: "ch.qos.logback.core.util.FixedDelay"
    linkageType: null
    functionLinenumber: 52
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DenyAllModelFilter].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.processor.DenyAllModelFilter"
    linkageType: null
    functionLinenumber: 5
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DenyAllModelFilter:6,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DenyAllModelFilter].decide(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DenyAllModelFilter"
    linkageType: null
    functionLinenumber: 9
    functionDepth: 0
    returnType: "ch.qos.logback.core.spi.FilterReply"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.sift.ContextBasedDiscriminator].<init>()"
    functionSourceFile: "ch.qos.logback.classic.sift.ContextBasedDiscriminator"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.sift.AbstractDiscriminator].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.sift.ContextBasedDiscriminator:29,1"
      Dst: "[ch.qos.logback.core.sift.AbstractDiscriminator].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.sift.ContextBasedDiscriminator].getDiscriminatingValue(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.sift.ContextBasedDiscriminator"
    linkageType: null
    functionLinenumber: 37
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].getLoggerContextVO()"
    - "[ch.qos.logback.classic.spi.LoggerContextVO].getName()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerContextVO()"
    functionUses: 1
    ICount: 8
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.sift.ContextBasedDiscriminator:40"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.sift.ContextBasedDiscriminator:43"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.sift.ContextBasedDiscriminator:42"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.sift.ContextBasedDiscriminator:38,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerContextVO()"
    - Src: "ch.qos.logback.classic.sift.ContextBasedDiscriminator:38,1"
      Dst: "[ch.qos.logback.classic.spi.LoggerContextVO].getName()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggerContextVO].getName()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggerContextVO"
    linkageType: null
    functionLinenumber: 56
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.sift.ContextBasedDiscriminator].getKey()"
    functionSourceFile: "ch.qos.logback.classic.sift.ContextBasedDiscriminator"
    linkageType: null
    functionLinenumber: 47
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.sift.ContextBasedDiscriminator].setKey(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.sift.ContextBasedDiscriminator"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.UnsupportedOperationException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.sift.ContextBasedDiscriminator:52,1"
      Dst: "[java.lang.UnsupportedOperationException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.sift.ContextBasedDiscriminator].getDefaultValue()"
    functionSourceFile: "ch.qos.logback.classic.sift.ContextBasedDiscriminator"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.sift.ContextBasedDiscriminator].setDefaultValue(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.sift.ContextBasedDiscriminator"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.sift.ContextBasedDiscriminator].getDiscriminatingValue(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.sift.ContextBasedDiscriminator"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.sift.ContextBasedDiscriminator].getDiscriminatingValue(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.sift.ContextBasedDiscriminator:29,1"
      Dst: "[ch.qos.logback.classic.sift.ContextBasedDiscriminator].getDiscriminatingValue(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.sift.ContextBasedDiscriminator].getDiscriminatingValue(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.sift.ContextBasedDiscriminator"
    linkageType: null
    functionLinenumber: 37
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].getLoggerContextVO()"
    - "[ch.qos.logback.classic.spi.LoggerContextVO].getName()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerContextVO()"
    functionUses: 1
    ICount: 8
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.sift.ContextBasedDiscriminator:40"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.sift.ContextBasedDiscriminator:43"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.sift.ContextBasedDiscriminator:42"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.sift.ContextBasedDiscriminator:38,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerContextVO()"
    - Src: "ch.qos.logback.classic.sift.ContextBasedDiscriminator:38,1"
      Dst: "[ch.qos.logback.classic.spi.LoggerContextVO].getName()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.DirectJson].<init>()"
    functionSourceFile: "ch.qos.logback.core.util.DirectJson"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.nio.ByteBuffer].allocateDirect(int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.DirectJson:63,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.util.DirectJson:64,1"
      Dst: "[java.nio.ByteBuffer].allocateDirect(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.DirectJson].openObject()"
    functionSourceFile: "ch.qos.logback.core.util.DirectJson"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.nio.ByteBuffer].put(byte)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.DirectJson:67,1"
      Dst: "[java.nio.ByteBuffer].put(byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.DirectJson].openArray()"
    functionSourceFile: "ch.qos.logback.core.util.DirectJson"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.nio.ByteBuffer].put(byte)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.DirectJson:68,1"
      Dst: "[java.nio.ByteBuffer].put(byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.DirectJson].openObject(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.DirectJson"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.DirectJson].writeString(java.lang.String)"
    - "[ch.qos.logback.core.util.DirectJson].writeEntrySep()"
    - "[java.nio.ByteBuffer].put(byte)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.DirectJson:71,1"
      Dst: "[ch.qos.logback.core.util.DirectJson].writeString(java.lang.String)"
    - Src: "ch.qos.logback.core.util.DirectJson:72,1"
      Dst: "[ch.qos.logback.core.util.DirectJson].writeEntrySep()"
    - Src: "ch.qos.logback.core.util.DirectJson:73,1"
      Dst: "[java.nio.ByteBuffer].put(byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.DirectJson].writeString(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.DirectJson"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].length()"
    - "[ch.qos.logback.core.util.DirectJson].checkSpace(int)"
    - "[java.nio.ByteBuffer].put(byte)"
    - "[ch.qos.logback.core.util.DirectJson].writeRaw(java.lang.String)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.DirectJson:130,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.core.util.DirectJson:130,1"
      Dst: "[ch.qos.logback.core.util.DirectJson].checkSpace(int)"
    - Src: "ch.qos.logback.core.util.DirectJson:131,1"
      Dst: "[java.nio.ByteBuffer].put(byte)"
    - Src: "ch.qos.logback.core.util.DirectJson:132,1"
      Dst: "[ch.qos.logback.core.util.DirectJson].writeRaw(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.DirectJson].checkSpace(int)"
    functionSourceFile: "ch.qos.logback.core.util.DirectJson"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.nio.Buffer].position()"
    - "[java.nio.Buffer].capacity()"
    - "[java.nio.ByteBuffer].allocateDirect(int)"
    - "[java.nio.ByteBuffer].flip()"
    - "[java.nio.ByteBuffer].put(java.nio.ByteBuffer)"
    functionUses: 0
    ICount: 19
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.DirectJson:228"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.DirectJson:235"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.DirectJson:234"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.DirectJson:228,1"
      Dst: "[java.nio.Buffer].position()"
    - Src: "ch.qos.logback.core.util.DirectJson:228,1"
      Dst: "[java.nio.Buffer].capacity()"
    - Src: "ch.qos.logback.core.util.DirectJson:230,1"
      Dst: "[java.nio.ByteBuffer].allocateDirect(int)"
    - Src: "ch.qos.logback.core.util.DirectJson:231,1"
      Dst: "[java.nio.ByteBuffer].flip()"
    - Src: "ch.qos.logback.core.util.DirectJson:232,1"
      Dst: "[java.nio.ByteBuffer].put(java.nio.ByteBuffer)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.DirectJson].writeRaw(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.DirectJson"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].length()"
    - "[java.lang.String].codePointAt(int)"
    - "[java.nio.ByteBuffer].put(byte[])"
    - "[java.lang.String].charAt(int)"
    - "[java.lang.String].valueOf(char)"
    - "[java.lang.String].getBytes()"
    - "[java.nio.ByteBuffer].put(byte)"
    functionUses: 0
    ICount: 38
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.DirectJson:101"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.DirectJson:123"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.DirectJson:122"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.DirectJson:117"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.DirectJson:119"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.DirectJson:118"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.DirectJson:117"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.DirectJson:119"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.DirectJson:118"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.DirectJson:119"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.DirectJson:100"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.DirectJson:101,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.core.util.DirectJson:102,1"
      Dst: "[java.lang.String].codePointAt(int)"
    - Src: "ch.qos.logback.core.util.DirectJson:105,1"
      Dst: "[java.nio.ByteBuffer].put(byte[])"
    - Src: "ch.qos.logback.core.util.DirectJson:118,1"
      Dst: "[java.lang.String].charAt(int)"
    - Src: "ch.qos.logback.core.util.DirectJson:118,1"
      Dst: "[java.lang.String].valueOf(char)"
    - Src: "ch.qos.logback.core.util.DirectJson:118,1"
      Dst: "[java.lang.String].getBytes()"
    - Src: "ch.qos.logback.core.util.DirectJson:119,1"
      Dst: "[java.nio.ByteBuffer].put(byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 14
    CyclomaticComplexity: 9
  - functionName: "[ch.qos.logback.core.util.DirectJson].writeEntrySep()"
    functionSourceFile: "ch.qos.logback.core.util.DirectJson"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.nio.Buffer].position()"
    - "[java.nio.ByteBuffer].put(int,byte)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.DirectJson:197,1"
      Dst: "[java.nio.Buffer].position()"
    - Src: "ch.qos.logback.core.util.DirectJson:197,1"
      Dst: "[java.nio.ByteBuffer].put(int,byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.DirectJson].openArray(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.DirectJson"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.DirectJson].writeString(java.lang.String)"
    - "[ch.qos.logback.core.util.DirectJson].writeEntrySep()"
    - "[java.nio.ByteBuffer].put(byte)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.DirectJson:77,1"
      Dst: "[ch.qos.logback.core.util.DirectJson].writeString(java.lang.String)"
    - Src: "ch.qos.logback.core.util.DirectJson:78,1"
      Dst: "[ch.qos.logback.core.util.DirectJson].writeEntrySep()"
    - Src: "ch.qos.logback.core.util.DirectJson:79,1"
      Dst: "[java.nio.ByteBuffer].put(byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.DirectJson].writeString(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.DirectJson"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].length()"
    - "[ch.qos.logback.core.util.DirectJson].checkSpace(int)"
    - "[java.nio.ByteBuffer].put(byte)"
    - "[ch.qos.logback.core.util.DirectJson].writeRaw(java.lang.String)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.DirectJson:130,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.core.util.DirectJson:130,1"
      Dst: "[ch.qos.logback.core.util.DirectJson].checkSpace(int)"
    - Src: "ch.qos.logback.core.util.DirectJson:131,1"
      Dst: "[java.nio.ByteBuffer].put(byte)"
    - Src: "ch.qos.logback.core.util.DirectJson:132,1"
      Dst: "[ch.qos.logback.core.util.DirectJson].writeRaw(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.DirectJson].writeEntrySep()"
    functionSourceFile: "ch.qos.logback.core.util.DirectJson"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.nio.Buffer].position()"
    - "[java.nio.ByteBuffer].put(int,byte)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.DirectJson:197,1"
      Dst: "[java.nio.Buffer].position()"
    - Src: "ch.qos.logback.core.util.DirectJson:197,1"
      Dst: "[java.nio.ByteBuffer].put(int,byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.DirectJson].closeObject()"
    functionSourceFile: "ch.qos.logback.core.util.DirectJson"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.nio.Buffer].position()"
    - "[java.nio.ByteBuffer].get(int)"
    - "[java.nio.ByteBuffer].put(int,byte)"
    - "[java.nio.ByteBuffer].put(byte)"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.DirectJson:84"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.DirectJson:87"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.DirectJson:86"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.DirectJson:83,1"
      Dst: "[java.nio.Buffer].position()"
    - Src: "ch.qos.logback.core.util.DirectJson:84,1"
      Dst: "[java.nio.ByteBuffer].get(int)"
    - Src: "ch.qos.logback.core.util.DirectJson:85,1"
      Dst: "[java.nio.ByteBuffer].put(int,byte)"
    - Src: "ch.qos.logback.core.util.DirectJson:87,1"
      Dst: "[java.nio.ByteBuffer].put(byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.DirectJson].closeArray()"
    functionSourceFile: "ch.qos.logback.core.util.DirectJson"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.nio.Buffer].position()"
    - "[java.nio.ByteBuffer].get(int)"
    - "[java.nio.ByteBuffer].put(int,byte)"
    - "[java.nio.ByteBuffer].put(byte)"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.DirectJson:93"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.DirectJson:96"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.DirectJson:95"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.DirectJson:92,1"
      Dst: "[java.nio.Buffer].position()"
    - Src: "ch.qos.logback.core.util.DirectJson:93,1"
      Dst: "[java.nio.ByteBuffer].get(int)"
    - Src: "ch.qos.logback.core.util.DirectJson:94,1"
      Dst: "[java.nio.ByteBuffer].put(int,byte)"
    - Src: "ch.qos.logback.core.util.DirectJson:96,1"
      Dst: "[java.nio.ByteBuffer].put(byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.DirectJson].writeRaw(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.DirectJson"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].length()"
    - "[java.lang.String].codePointAt(int)"
    - "[java.nio.ByteBuffer].put(byte[])"
    - "[java.lang.String].charAt(int)"
    - "[java.lang.String].valueOf(char)"
    - "[java.lang.String].getBytes()"
    - "[java.nio.ByteBuffer].put(byte)"
    functionUses: 0
    ICount: 38
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.DirectJson:101"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.DirectJson:123"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.DirectJson:122"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.DirectJson:117"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.DirectJson:119"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.DirectJson:118"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.DirectJson:117"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.DirectJson:119"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.DirectJson:118"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.DirectJson:119"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.DirectJson:100"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.DirectJson:101,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.core.util.DirectJson:102,1"
      Dst: "[java.lang.String].codePointAt(int)"
    - Src: "ch.qos.logback.core.util.DirectJson:105,1"
      Dst: "[java.nio.ByteBuffer].put(byte[])"
    - Src: "ch.qos.logback.core.util.DirectJson:118,1"
      Dst: "[java.lang.String].charAt(int)"
    - Src: "ch.qos.logback.core.util.DirectJson:118,1"
      Dst: "[java.lang.String].valueOf(char)"
    - Src: "ch.qos.logback.core.util.DirectJson:118,1"
      Dst: "[java.lang.String].getBytes()"
    - Src: "ch.qos.logback.core.util.DirectJson:119,1"
      Dst: "[java.nio.ByteBuffer].put(byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 14
    CyclomaticComplexity: 9
  - functionName: "[ch.qos.logback.core.util.DirectJson].writeRaw(char)"
    functionSourceFile: "ch.qos.logback.core.util.DirectJson"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.nio.ByteBuffer].put(byte)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.DirectJson:125,1"
      Dst: "[java.nio.ByteBuffer].put(byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.DirectJson].writeRaw(byte[])"
    functionSourceFile: "ch.qos.logback.core.util.DirectJson"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.nio.ByteBuffer].put(byte[])"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.DirectJson:126,1"
      Dst: "[java.nio.ByteBuffer].put(byte[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.DirectJson].writeQuote()"
    functionSourceFile: "ch.qos.logback.core.util.DirectJson"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.nio.ByteBuffer].put(byte)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.DirectJson:128,1"
      Dst: "[java.nio.ByteBuffer].put(byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.DirectJson].writeString(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.DirectJson"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].length()"
    - "[ch.qos.logback.core.util.DirectJson].checkSpace(int)"
    - "[java.nio.ByteBuffer].put(byte)"
    - "[ch.qos.logback.core.util.DirectJson].writeRaw(java.lang.String)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.DirectJson:130,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.core.util.DirectJson:130,1"
      Dst: "[ch.qos.logback.core.util.DirectJson].checkSpace(int)"
    - Src: "ch.qos.logback.core.util.DirectJson:131,1"
      Dst: "[java.nio.ByteBuffer].put(byte)"
    - Src: "ch.qos.logback.core.util.DirectJson:132,1"
      Dst: "[ch.qos.logback.core.util.DirectJson].writeRaw(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.DirectJson].writeSep()"
    functionSourceFile: "ch.qos.logback.core.util.DirectJson"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.nio.ByteBuffer].put(byte)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.DirectJson:136,1"
      Dst: "[java.nio.ByteBuffer].put(byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.DirectJson].writeNumberRaw(long)"
    functionSourceFile: "ch.qos.logback.core.util.DirectJson"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.nio.Buffer].position()"
    - "[java.lang.Math].log10(double)"
    - "[java.nio.ByteBuffer].put(int,byte)"
    - "[java.nio.ByteBuffer].position(int)"
    functionUses: 0
    ICount: 28
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.DirectJson:143"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.DirectJson:149"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.DirectJson:139,1"
      Dst: "[java.nio.Buffer].position()"
    - Src: "ch.qos.logback.core.util.DirectJson:140,1"
      Dst: "[java.lang.Math].log10(double)"
    - Src: "ch.qos.logback.core.util.DirectJson:147,1"
      Dst: "[java.nio.ByteBuffer].put(int,byte)"
    - Src: "ch.qos.logback.core.util.DirectJson:150,1"
      Dst: "[java.nio.ByteBuffer].position(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.DirectJson].writeNumber(long)"
    functionSourceFile: "ch.qos.logback.core.util.DirectJson"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.nio.Buffer].position()"
    - "[java.lang.Math].log10(double)"
    - "[java.nio.ByteBuffer].put(int,byte)"
    - "[java.nio.ByteBuffer].position(int)"
    - "[java.nio.ByteBuffer].put(byte)"
    functionUses: 0
    ICount: 35
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.DirectJson:155"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.DirectJson:154"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.DirectJson:153"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.DirectJson:158"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.DirectJson:164"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.DirectJson:154,1"
      Dst: "[java.nio.Buffer].position()"
    - Src: "ch.qos.logback.core.util.DirectJson:155,1"
      Dst: "[java.lang.Math].log10(double)"
    - Src: "ch.qos.logback.core.util.DirectJson:162,1"
      Dst: "[java.nio.ByteBuffer].put(int,byte)"
    - Src: "ch.qos.logback.core.util.DirectJson:165,1"
      Dst: "[java.nio.ByteBuffer].position(int)"
    - Src: "ch.qos.logback.core.util.DirectJson:166,1"
      Dst: "[java.nio.ByteBuffer].put(byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.util.DirectJson].writeNumber(double)"
    functionSourceFile: "ch.qos.logback.core.util.DirectJson"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.nio.Buffer].position()"
    - "[java.lang.Math].log10(double)"
    - "[java.nio.ByteBuffer].put(int,byte)"
    - "[java.nio.ByteBuffer].position(int)"
    - "[java.nio.ByteBuffer].put(byte)"
    - "[java.math.BigDecimal].valueOf(double)"
    - "[java.math.BigDecimal].remainder(java.math.BigDecimal)"
    - "[java.math.BigDecimal].equals(java.lang.Object)"
    - "[java.math.BigDecimal].movePointRight(int)"
    - "[java.math.BigDecimal].intValue()"
    functionUses: 0
    ICount: 54
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.DirectJson:174"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.DirectJson:179"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.DirectJson:185"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.DirectJson:193"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.DirectJson:192"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.DirectJson:170,1"
      Dst: "[java.nio.Buffer].position()"
    - Src: "ch.qos.logback.core.util.DirectJson:172,1"
      Dst: "[java.lang.Math].log10(double)"
    - Src: "ch.qos.logback.core.util.DirectJson:178,1"
      Dst: "[java.nio.ByteBuffer].put(int,byte)"
    - Src: "ch.qos.logback.core.util.DirectJson:180,1"
      Dst: "[java.nio.ByteBuffer].position(int)"
    - Src: "ch.qos.logback.core.util.DirectJson:181,1"
      Dst: "[java.nio.ByteBuffer].put(byte)"
    - Src: "ch.qos.logback.core.util.DirectJson:183,1"
      Dst: "[java.math.BigDecimal].valueOf(double)"
    - Src: "ch.qos.logback.core.util.DirectJson:183,1"
      Dst: "[java.math.BigDecimal].remainder(java.math.BigDecimal)"
    - Src: "ch.qos.logback.core.util.DirectJson:185,1"
      Dst: "[java.math.BigDecimal].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.util.DirectJson:186,1"
      Dst: "[java.math.BigDecimal].movePointRight(int)"
    - Src: "ch.qos.logback.core.util.DirectJson:187,1"
      Dst: "[java.math.BigDecimal].intValue()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.util.DirectJson].writeEntrySep()"
    functionSourceFile: "ch.qos.logback.core.util.DirectJson"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.nio.Buffer].position()"
    - "[java.nio.ByteBuffer].put(int,byte)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.DirectJson:197,1"
      Dst: "[java.nio.Buffer].position()"
    - Src: "ch.qos.logback.core.util.DirectJson:197,1"
      Dst: "[java.nio.ByteBuffer].put(int,byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.DirectJson].writeStringValue(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.DirectJson"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.DirectJson].writeString(java.lang.String)"
    - "[ch.qos.logback.core.util.DirectJson].writeEntrySep()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.DirectJson:200,1"
      Dst: "[ch.qos.logback.core.util.DirectJson].writeString(java.lang.String)"
    - Src: "ch.qos.logback.core.util.DirectJson:201,1"
      Dst: "[ch.qos.logback.core.util.DirectJson].writeEntrySep()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.DirectJson].writeString(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.DirectJson"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].length()"
    - "[ch.qos.logback.core.util.DirectJson].checkSpace(int)"
    - "[java.nio.ByteBuffer].put(byte)"
    - "[ch.qos.logback.core.util.DirectJson].writeRaw(java.lang.String)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.DirectJson:130,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.core.util.DirectJson:130,1"
      Dst: "[ch.qos.logback.core.util.DirectJson].checkSpace(int)"
    - Src: "ch.qos.logback.core.util.DirectJson:131,1"
      Dst: "[java.nio.ByteBuffer].put(byte)"
    - Src: "ch.qos.logback.core.util.DirectJson:132,1"
      Dst: "[ch.qos.logback.core.util.DirectJson].writeRaw(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.DirectJson].writeEntrySep()"
    functionSourceFile: "ch.qos.logback.core.util.DirectJson"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.nio.Buffer].position()"
    - "[java.nio.ByteBuffer].put(int,byte)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.DirectJson:197,1"
      Dst: "[java.nio.Buffer].position()"
    - Src: "ch.qos.logback.core.util.DirectJson:197,1"
      Dst: "[java.nio.ByteBuffer].put(int,byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.DirectJson].writeNumberValue(java.lang.String,long)"
    functionSourceFile: "ch.qos.logback.core.util.DirectJson"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.DirectJson].writeString(java.lang.String)"
    - "[ch.qos.logback.core.util.DirectJson].writeEntrySep()"
    - "[ch.qos.logback.core.util.DirectJson].writeNumber(long)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.DirectJson:206,1"
      Dst: "[ch.qos.logback.core.util.DirectJson].writeString(java.lang.String)"
    - Src: "ch.qos.logback.core.util.DirectJson:207,1"
      Dst: "[ch.qos.logback.core.util.DirectJson].writeEntrySep()"
    - Src: "ch.qos.logback.core.util.DirectJson:208,1"
      Dst: "[ch.qos.logback.core.util.DirectJson].writeNumber(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.DirectJson].writeString(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.DirectJson"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].length()"
    - "[ch.qos.logback.core.util.DirectJson].checkSpace(int)"
    - "[java.nio.ByteBuffer].put(byte)"
    - "[ch.qos.logback.core.util.DirectJson].writeRaw(java.lang.String)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.DirectJson:130,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.core.util.DirectJson:130,1"
      Dst: "[ch.qos.logback.core.util.DirectJson].checkSpace(int)"
    - Src: "ch.qos.logback.core.util.DirectJson:131,1"
      Dst: "[java.nio.ByteBuffer].put(byte)"
    - Src: "ch.qos.logback.core.util.DirectJson:132,1"
      Dst: "[ch.qos.logback.core.util.DirectJson].writeRaw(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.DirectJson].writeEntrySep()"
    functionSourceFile: "ch.qos.logback.core.util.DirectJson"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.nio.Buffer].position()"
    - "[java.nio.ByteBuffer].put(int,byte)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.DirectJson:197,1"
      Dst: "[java.nio.Buffer].position()"
    - Src: "ch.qos.logback.core.util.DirectJson:197,1"
      Dst: "[java.nio.ByteBuffer].put(int,byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.DirectJson].writeNumber(long)"
    functionSourceFile: "ch.qos.logback.core.util.DirectJson"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.nio.Buffer].position()"
    - "[java.lang.Math].log10(double)"
    - "[java.nio.ByteBuffer].put(int,byte)"
    - "[java.nio.ByteBuffer].position(int)"
    - "[java.nio.ByteBuffer].put(byte)"
    functionUses: 0
    ICount: 35
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.DirectJson:155"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.DirectJson:154"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.DirectJson:153"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.DirectJson:158"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.DirectJson:164"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.DirectJson:154,1"
      Dst: "[java.nio.Buffer].position()"
    - Src: "ch.qos.logback.core.util.DirectJson:155,1"
      Dst: "[java.lang.Math].log10(double)"
    - Src: "ch.qos.logback.core.util.DirectJson:162,1"
      Dst: "[java.nio.ByteBuffer].put(int,byte)"
    - Src: "ch.qos.logback.core.util.DirectJson:165,1"
      Dst: "[java.nio.ByteBuffer].position(int)"
    - Src: "ch.qos.logback.core.util.DirectJson:166,1"
      Dst: "[java.nio.ByteBuffer].put(byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.util.DirectJson].writeNumberValue(java.lang.String,double)"
    functionSourceFile: "ch.qos.logback.core.util.DirectJson"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.DirectJson].writeString(java.lang.String)"
    - "[ch.qos.logback.core.util.DirectJson].writeEntrySep()"
    - "[ch.qos.logback.core.util.DirectJson].writeNumber(double)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.DirectJson:212,1"
      Dst: "[ch.qos.logback.core.util.DirectJson].writeString(java.lang.String)"
    - Src: "ch.qos.logback.core.util.DirectJson:213,1"
      Dst: "[ch.qos.logback.core.util.DirectJson].writeEntrySep()"
    - Src: "ch.qos.logback.core.util.DirectJson:214,1"
      Dst: "[ch.qos.logback.core.util.DirectJson].writeNumber(double)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.DirectJson].writeString(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.DirectJson"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].length()"
    - "[ch.qos.logback.core.util.DirectJson].checkSpace(int)"
    - "[java.nio.ByteBuffer].put(byte)"
    - "[ch.qos.logback.core.util.DirectJson].writeRaw(java.lang.String)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.DirectJson:130,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.core.util.DirectJson:130,1"
      Dst: "[ch.qos.logback.core.util.DirectJson].checkSpace(int)"
    - Src: "ch.qos.logback.core.util.DirectJson:131,1"
      Dst: "[java.nio.ByteBuffer].put(byte)"
    - Src: "ch.qos.logback.core.util.DirectJson:132,1"
      Dst: "[ch.qos.logback.core.util.DirectJson].writeRaw(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.DirectJson].writeEntrySep()"
    functionSourceFile: "ch.qos.logback.core.util.DirectJson"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.nio.Buffer].position()"
    - "[java.nio.ByteBuffer].put(int,byte)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.DirectJson:197,1"
      Dst: "[java.nio.Buffer].position()"
    - Src: "ch.qos.logback.core.util.DirectJson:197,1"
      Dst: "[java.nio.ByteBuffer].put(int,byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.DirectJson].writeNumber(double)"
    functionSourceFile: "ch.qos.logback.core.util.DirectJson"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.nio.Buffer].position()"
    - "[java.lang.Math].log10(double)"
    - "[java.nio.ByteBuffer].put(int,byte)"
    - "[java.nio.ByteBuffer].position(int)"
    - "[java.nio.ByteBuffer].put(byte)"
    - "[java.math.BigDecimal].valueOf(double)"
    - "[java.math.BigDecimal].remainder(java.math.BigDecimal)"
    - "[java.math.BigDecimal].equals(java.lang.Object)"
    - "[java.math.BigDecimal].movePointRight(int)"
    - "[java.math.BigDecimal].intValue()"
    functionUses: 0
    ICount: 54
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.DirectJson:174"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.DirectJson:179"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.DirectJson:185"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.DirectJson:193"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.DirectJson:192"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.DirectJson:170,1"
      Dst: "[java.nio.Buffer].position()"
    - Src: "ch.qos.logback.core.util.DirectJson:172,1"
      Dst: "[java.lang.Math].log10(double)"
    - Src: "ch.qos.logback.core.util.DirectJson:178,1"
      Dst: "[java.nio.ByteBuffer].put(int,byte)"
    - Src: "ch.qos.logback.core.util.DirectJson:180,1"
      Dst: "[java.nio.ByteBuffer].position(int)"
    - Src: "ch.qos.logback.core.util.DirectJson:181,1"
      Dst: "[java.nio.ByteBuffer].put(byte)"
    - Src: "ch.qos.logback.core.util.DirectJson:183,1"
      Dst: "[java.math.BigDecimal].valueOf(double)"
    - Src: "ch.qos.logback.core.util.DirectJson:183,1"
      Dst: "[java.math.BigDecimal].remainder(java.math.BigDecimal)"
    - Src: "ch.qos.logback.core.util.DirectJson:185,1"
      Dst: "[java.math.BigDecimal].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.util.DirectJson:186,1"
      Dst: "[java.math.BigDecimal].movePointRight(int)"
    - Src: "ch.qos.logback.core.util.DirectJson:187,1"
      Dst: "[java.math.BigDecimal].intValue()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.util.DirectJson].writeBoolean(boolean)"
    functionSourceFile: "ch.qos.logback.core.util.DirectJson"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.nio.ByteBuffer].put(byte[])"
    - "[java.nio.ByteBuffer].put(byte)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.DirectJson:218"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.DirectJson:218"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.DirectJson:217"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.DirectJson:218,1"
      Dst: "[java.nio.ByteBuffer].put(byte[])"
    - Src: "ch.qos.logback.core.util.DirectJson:219,1"
      Dst: "[java.nio.ByteBuffer].put(byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.DirectJson].writeNull()"
    functionSourceFile: "ch.qos.logback.core.util.DirectJson"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.nio.ByteBuffer].put(byte[])"
    - "[java.nio.ByteBuffer].put(byte)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.DirectJson:223,1"
      Dst: "[java.nio.ByteBuffer].put(byte[])"
    - Src: "ch.qos.logback.core.util.DirectJson:224,1"
      Dst: "[java.nio.ByteBuffer].put(byte)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.DirectJson].checkSpace(int)"
    functionSourceFile: "ch.qos.logback.core.util.DirectJson"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.nio.Buffer].position()"
    - "[java.nio.Buffer].capacity()"
    - "[java.nio.ByteBuffer].allocateDirect(int)"
    - "[java.nio.ByteBuffer].flip()"
    - "[java.nio.ByteBuffer].put(java.nio.ByteBuffer)"
    functionUses: 0
    ICount: 19
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.DirectJson:228"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.DirectJson:235"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.DirectJson:234"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.DirectJson:228,1"
      Dst: "[java.nio.Buffer].position()"
    - Src: "ch.qos.logback.core.util.DirectJson:228,1"
      Dst: "[java.nio.Buffer].capacity()"
    - Src: "ch.qos.logback.core.util.DirectJson:230,1"
      Dst: "[java.nio.ByteBuffer].allocateDirect(int)"
    - Src: "ch.qos.logback.core.util.DirectJson:231,1"
      Dst: "[java.nio.ByteBuffer].flip()"
    - Src: "ch.qos.logback.core.util.DirectJson:232,1"
      Dst: "[java.nio.ByteBuffer].put(java.nio.ByteBuffer)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.DirectJson].flush()"
    functionSourceFile: "ch.qos.logback.core.util.DirectJson"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "byte[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.nio.Buffer].position()"
    - "[java.nio.ByteBuffer].flip()"
    - "[java.nio.ByteBuffer].get(byte[])"
    - "[java.nio.ByteBuffer].clear()"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.DirectJson:238,1"
      Dst: "[java.nio.Buffer].position()"
    - Src: "ch.qos.logback.core.util.DirectJson:239,1"
      Dst: "[java.nio.ByteBuffer].flip()"
    - Src: "ch.qos.logback.core.util.DirectJson:240,1"
      Dst: "[java.nio.ByteBuffer].get(byte[])"
    - Src: "ch.qos.logback.core.util.DirectJson:241,1"
      Dst: "[java.nio.ByteBuffer].clear()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__52].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__52"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__52].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__52:-1,1"
      Dst: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__52].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__52].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__52"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__52:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__52].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__52"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__52:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__52].get()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__52"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.conditional.ElseAction].<init>()"
    functionUses: 3
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__52:-1,1"
      Dst: "[ch.qos.logback.core.joran.conditional.ElseAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.conditional.ElseAction].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.conditional.ElseAction"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.conditional.ElseAction:24,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.MDCFilter].<init>()"
    functionSourceFile: "ch.qos.logback.classic.turbo.MDCFilter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.turbo.MatchingFilter].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.turbo.MDCFilter:43,1"
      Dst: "[ch.qos.logback.classic.turbo.MatchingFilter].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.MDCFilter].start()"
    functionSourceFile: "ch.qos.logback.classic.turbo.MDCFilter"
    linkageType: null
    functionLinenumber: 49
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionUses: 5
    ICount: 13
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.turbo.MDCFilter:51"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.turbo.MDCFilter:55"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.turbo.MDCFilter:54"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.turbo.MDCFilter:55"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.turbo.MDCFilter:60"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.turbo.MDCFilter:59"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.turbo.MDCFilter:60"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.turbo.MDCFilter:62"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.turbo.MDCFilter:61"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.turbo.MDCFilter:52,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.MDCFilter].decide(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.turbo.MDCFilter"
    linkageType: null
    functionLinenumber: 66
    functionDepth: 1
    returnType: "ch.qos.logback.core.spi.FilterReply"
    argCount: 6
    argTypes:
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Logger"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.turbo.TurboFilter].isStarted()"
    - "[org.slf4j.MDC].get(java.lang.String)"
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 2
    ICount: 20
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.turbo.MDCFilter:67"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.turbo.MDCFilter:71"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.turbo.MDCFilter:70"
        BranchSideFuncs:
        - "get(java.lang.String)"
    - Branch String: "ch.qos.logback.classic.turbo.MDCFilter:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.turbo.MDCFilter:75"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.turbo.MDCFilter:74"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.turbo.MDCFilter:67,1"
      Dst: "[ch.qos.logback.classic.turbo.TurboFilter].isStarted()"
    - Src: "ch.qos.logback.classic.turbo.MDCFilter:71,1"
      Dst: "[org.slf4j.MDC].get(java.lang.String)"
    - Src: "ch.qos.logback.classic.turbo.MDCFilter:72,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.MDC].get(java.lang.String)"
    functionSourceFile: "org.slf4j.MDC"
    linkageType: null
    functionLinenumber: 175
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.util.LogbackMDCAdapterSimple].get(java.lang.String)"
    - "[ch.qos.logback.classic.util.LogbackMDCAdapter].get(java.lang.String)"
    - "[org.slf4j.helpers.BasicMDCAdapter].get(java.lang.String)"
    - "[org.slf4j.helpers.NOPMDCAdapter].get(java.lang.String)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - "[org.slf4j.spi.MDCAdapter].get(java.lang.String)"
    functionUses: 2
    ICount: 13
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "org.slf4j.MDC:176"
      Branch Sides:
      - BranchSide: "org.slf4j.MDC:180"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.MDC:179"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.MDC:180"
      Branch Sides:
      - BranchSide: "org.slf4j.MDC:183"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.MDC:182"
        BranchSideFuncs:
        - "get(java.lang.String)"
    Callsites:
    - Src: "org.slf4j.MDC:177,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "org.slf4j.MDC:181,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - Src: "org.slf4j.MDC:183,1"
      Dst: "[org.slf4j.spi.MDCAdapter].get(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.MDCFilter].setValue(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.turbo.MDCFilter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.MDCFilter].setMDCKey(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.turbo.MDCFilter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__39].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__39"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__39].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__39:-1,1"
      Dst: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__39].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__39].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__39"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__39:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__39].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__39"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__39:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__39].get()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__39"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.SequenceNumberGeneratorAction].<init>()"
    functionUses: 3
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__39:-1,1"
      Dst: "[ch.qos.logback.core.joran.action.SequenceNumberGeneratorAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.SequenceNumberGeneratorAction].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.action.SequenceNumberGeneratorAction"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.SequenceNumberGeneratorAction:28,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__72].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__72"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__72].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__72:-1,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__72].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__72].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__72"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__72:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__72].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__72"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__72:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__72].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__72"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__72:-1,1"
      Dst: "[ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler:33,1"
      Dst: "[ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler:29,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.PropertyModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.PropertyModel"
    linkageType: null
    functionLinenumber: 4
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.NamedModel].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.PropertyModel:5,1"
      Dst: "[ch.qos.logback.core.model.NamedModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.PropertyModel].makeNewInstance()"
    functionSourceFile: "ch.qos.logback.core.model.PropertyModel"
    linkageType: null
    functionLinenumber: 16
    functionDepth: 3
    returnType: "ch.qos.logback.core.model.PropertyModel"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.PropertyModel].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.PropertyModel:17,1"
      Dst: "[ch.qos.logback.core.model.PropertyModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.PropertyModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.PropertyModel"
    linkageType: null
    functionLinenumber: 4
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.NamedModel].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.PropertyModel:5,1"
      Dst: "[ch.qos.logback.core.model.NamedModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.NamedModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.NamedModel"
    linkageType: null
    functionLinenumber: 17
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 5
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.NamedModel:18,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.ArrayList].<init>()"
    functionUses: 16
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:27,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.model.Model:40,1"
      Dst: "[java.util.ArrayList].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.PropertyModel].mirror(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.PropertyModel"
    linkageType: null
    functionLinenumber: 21
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.NamedModel].mirror(ch.qos.logback.core.model.Model)"
    functionUses: 1
    ICount: 13
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.PropertyModel:23,1"
      Dst: "[ch.qos.logback.core.model.NamedModel].mirror(ch.qos.logback.core.model.Model)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.NamedModel].mirror(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.NamedModel"
    linkageType: null
    functionLinenumber: 30
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].mirror(ch.qos.logback.core.model.Model)"
    functionUses: 4
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.NamedModel:32,1"
      Dst: "[ch.qos.logback.core.model.Model].mirror(ch.qos.logback.core.model.Model)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].mirror(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 56
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 11
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.PropertyModel].getValue()"
    functionSourceFile: "ch.qos.logback.core.model.PropertyModel"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.PropertyModel].setValue(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.PropertyModel"
    linkageType: null
    functionLinenumber: 35
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.PropertyModel].getScopeStr()"
    functionSourceFile: "ch.qos.logback.core.model.PropertyModel"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.PropertyModel].setScopeStr(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.PropertyModel"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.PropertyModel].getFile()"
    functionSourceFile: "ch.qos.logback.core.model.PropertyModel"
    linkageType: null
    functionLinenumber: 47
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.PropertyModel].setFile(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.PropertyModel"
    linkageType: null
    functionLinenumber: 51
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.PropertyModel].getResource()"
    functionSourceFile: "ch.qos.logback.core.model.PropertyModel"
    linkageType: null
    functionLinenumber: 55
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.PropertyModel].setResource(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.PropertyModel"
    linkageType: null
    functionLinenumber: 59
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.PropertyModel].hashCode()"
    functionSourceFile: "ch.qos.logback.core.model.PropertyModel"
    linkageType: null
    functionLinenumber: 65
    functionDepth: 2
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.NamedModel].hashCode()"
    - "[java.util.Objects].hash(java.lang.Object[])"
    functionUses: 5
    ICount: 15
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.PropertyModel:66,1"
      Dst: "[ch.qos.logback.core.model.NamedModel].hashCode()"
    - Src: "ch.qos.logback.core.model.PropertyModel:67,1"
      Dst: "[java.util.Objects].hash(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.NamedModel].hashCode()"
    functionSourceFile: "ch.qos.logback.core.model.NamedModel"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 1
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].hashCode()"
    - "[java.util.Objects].hash(java.lang.Object[])"
    functionUses: 8
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.NamedModel:47,1"
      Dst: "[ch.qos.logback.core.model.Model].hashCode()"
    - Src: "ch.qos.logback.core.model.NamedModel:48,1"
      Dst: "[java.util.Objects].hash(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].hashCode()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 145
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Integer].valueOf(int)"
    - "[java.util.Objects].hash(java.lang.Object[])"
    functionUses: 15
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:146,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "ch.qos.logback.core.model.Model:146,1"
      Dst: "[java.util.Objects].hash(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.PropertyModel].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.model.PropertyModel"
    linkageType: null
    functionLinenumber: 72
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.NamedModel].equals(java.lang.Object)"
    - "[java.lang.Object].getClass()"
    - "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    functionUses: 6
    ICount: 32
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.PropertyModel:73"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.PropertyModel:75"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.PropertyModel:74"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "ch.qos.logback.core.model.PropertyModel:75"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.PropertyModel:77"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.PropertyModel:76"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.PropertyModel:77"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.PropertyModel:79"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.PropertyModel:78"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.PropertyModel:80"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.PropertyModel:-1"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.PropertyModel:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.PropertyModel:80"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.PropertyModel:-1"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.PropertyModel:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.PropertyModel:81"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.PropertyModel:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.PropertyModel:81"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.PropertyModel:-2"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.PropertyModel:75,1"
      Dst: "[ch.qos.logback.core.model.NamedModel].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.model.PropertyModel:77,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.model.PropertyModel:80,1"
      Dst: "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 13
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.model.NamedModel].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.model.NamedModel"
    linkageType: null
    functionLinenumber: 53
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].equals(java.lang.Object)"
    - "[java.lang.Object].getClass()"
    - "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    functionUses: 9
    ICount: 16
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.NamedModel:54"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.NamedModel:56"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.NamedModel:55"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "ch.qos.logback.core.model.NamedModel:56"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.NamedModel:58"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.NamedModel:57"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.NamedModel:58"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.NamedModel:60"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.NamedModel:59"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.NamedModel:56,1"
      Dst: "[ch.qos.logback.core.model.Model].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.model.NamedModel:58,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.model.NamedModel:61,1"
      Dst: "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 150
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    functionUses: 16
    ICount: 30
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.Model:151"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:153"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:152"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:153"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:155"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:154"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:155"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:157"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:156"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:158"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:-1"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:158"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:-1"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:159"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:159"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:-2"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:155,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.model.Model:158,1"
      Dst: "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 13
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean].<init>()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean:29,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean].createKeyManagerFactory()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean"
    linkageType: null
    functionLinenumber: 48
    functionDepth: 1
    returnType: "javax.net.ssl.KeyManagerFactory"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean].getAlgorithm()"
    - "[ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean].getProvider()"
    - "[javax.net.ssl.KeyManagerFactory].getInstance(java.lang.String,java.lang.String)"
    - "[javax.net.ssl.KeyManagerFactory].getInstance(java.lang.String)"
    functionUses: 1
    ICount: 10
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean:49"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean:50"
        BranchSideFuncs:
        - "getAlgorithm()"
      - BranchSide: "ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean:49"
        BranchSideFuncs:
        - "getAlgorithm()"
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean:49,1"
      Dst: "[ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean].getProvider()"
    - Src: "ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean:49,1"
      Dst: "[ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean].getAlgorithm()"
    - Src: "ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean:49,1"
      Dst: "[javax.net.ssl.KeyManagerFactory].getInstance(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean:50,1"
      Dst: "[javax.net.ssl.KeyManagerFactory].getInstance(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean].getProvider()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean"
    linkageType: null
    functionLinenumber: 83
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean].getAlgorithm()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean"
    linkageType: null
    functionLinenumber: 60
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.net.ssl.KeyManagerFactory].getDefaultAlgorithm()"
    functionUses: 2
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean:64"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean:63"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean:62,1"
      Dst: "[javax.net.ssl.KeyManagerFactory].getDefaultAlgorithm()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean].getAlgorithm()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean"
    linkageType: null
    functionLinenumber: 60
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.net.ssl.KeyManagerFactory].getDefaultAlgorithm()"
    functionUses: 2
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean:64"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean:63"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean:62,1"
      Dst: "[javax.net.ssl.KeyManagerFactory].getDefaultAlgorithm()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean].setAlgorithm(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean].getProvider()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean"
    linkageType: null
    functionLinenumber: 83
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean].setProvider(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__57].bootstrap$()"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__57"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__57].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__57:-1,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__57].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__57].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__57"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__57:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__57].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__57"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__57:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__57].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__57"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__57:-1,1"
      Dst: "[ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler:24,1"
      Dst: "[ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler"
    linkageType: null
    functionLinenumber: 19
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler:20,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry"
    linkageType: null
    functionLinenumber: 24
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.HashMap].<init>()"
    functionUses: 1
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry:25,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry:27,1"
      Dst: "[java.util.HashMap].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry].duplicate(ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map].putAll(java.util.Map)"
    functionUses: 1
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry:32,1"
      Dst: "[java.util.Map].putAll(java.util.Map)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry].add(java.lang.Class,java.lang.String,java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry"
    linkageType: null
    functionLinenumber: 36
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Class"
    - "java.lang.String"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble].<init>(java.lang.Class,java.lang.String)"
    - "[java.lang.String].toLowerCase()"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 12
    ICount: 12
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry:37,1"
      Dst: "[java.lang.String].toLowerCase()"
    - Src: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry:37,1"
      Dst: "[ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble].<init>(java.lang.Class,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry:38,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble].<init>(java.lang.Class,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble"
    linkageType: null
    functionLinenumber: 30
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 2
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble:31,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry].findDefaultComponentTypeByTag(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry"
    linkageType: null
    functionLinenumber: 44
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map].get(java.lang.Object)"
    - "[java.lang.Class].getCanonicalName()"
    functionUses: 1
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry:46"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry:49"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry:48"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry:45,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry:49,1"
      Dst: "[java.lang.Class].getCanonicalName()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry].findDefaultComponentType(java.lang.Class,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry"
    linkageType: null
    functionLinenumber: 52
    functionDepth: 2
    returnType: "java.lang.Class"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry].oneShotFind(java.lang.Class,java.lang.String)"
    - "[java.lang.String].toLowerCase()"
    - "[java.lang.Class].getSuperclass()"
    functionUses: 1
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry:54"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry:61"
        BranchSideFuncs:
        - "oneShotFind(java.lang.Class,java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry:60"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry:56"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry:59"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry:58"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry:53,1"
      Dst: "[java.lang.String].toLowerCase()"
    - Src: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry:55,1"
      Dst: "[ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry].oneShotFind(java.lang.Class,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry:59,1"
      Dst: "[java.lang.Class].getSuperclass()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry].oneShotFind(java.lang.Class,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry"
    linkageType: null
    functionLinenumber: 64
    functionDepth: 1
    returnType: "java.lang.Class"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble].<init>(java.lang.Class,java.lang.String)"
    - "[java.util.Map].get(java.lang.Object)"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry:65,1"
      Dst: "[ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble].<init>(java.lang.Class,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry:66,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble].<init>(java.lang.Class,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble"
    linkageType: null
    functionLinenumber: 30
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 2
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble:31,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry].oneShotFind(java.lang.Class,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry"
    linkageType: null
    functionLinenumber: 64
    functionDepth: 1
    returnType: "java.lang.Class"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble].<init>(java.lang.Class,java.lang.String)"
    - "[java.util.Map].get(java.lang.Object)"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry:65,1"
      Dst: "[ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble].<init>(java.lang.Class,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry:66,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_4__91].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_4__91"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_4__91].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_4__91:-1,1"
      Dst: "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_4__91].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_4__91].<init>()"
    functionSourceFile: "ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_4__91"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_4__91:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_4__91].<init>()"
    functionSourceFile: "ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_4__91"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_4__91:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_4__91].get()"
    functionSourceFile: "ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_4__91"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ConsoleAppender].lambda$wrapWithJansi$4()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_4__91:-1,1"
      Dst: "[ch.qos.logback.core.ConsoleAppender].lambda$wrapWithJansi$4()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ConsoleAppender].lambda$wrapWithJansi$4()"
    functionSourceFile: "ch.qos.logback.core.ConsoleAppender"
    linkageType: null
    functionLinenumber: 112
    functionDepth: 0
    returnType: "java.util.NoSuchElementException"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.NoSuchElementException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ConsoleAppender:113,1"
      Dst: "[java.util.NoSuchElementException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__33].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__33"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__33].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__33:-1,1"
      Dst: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__33].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__33].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__33"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__33:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__33].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__33"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__33:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__33].get()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__33"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.PropertyAction].<init>()"
    functionUses: 3
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__33:-1,1"
      Dst: "[ch.qos.logback.core.joran.action.PropertyAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PropertyAction].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.action.PropertyAction"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 3
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.PropertyAction:28,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__10].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__10"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__10].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__10:-1,1"
      Dst: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__10].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__10].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__10"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__10:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__10].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__10"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__10:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__10].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__10"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.ParamModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__10:-1,1"
      Dst: "[ch.qos.logback.core.joran.ParamModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ParamModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.joran.ParamModelHandler"
    linkageType: null
    functionLinenumber: 21
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.ParamModelHandler].<init>(ch.qos.logback.core.Context,ch.qos.logback.core.joran.util.beans.BeanDescriptionCache)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getBeanDescriptionCache()"
    functionUses: 2
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ParamModelHandler:22,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getBeanDescriptionCache()"
    - Src: "ch.qos.logback.core.joran.ParamModelHandler:22,1"
      Dst: "[ch.qos.logback.core.joran.ParamModelHandler].<init>(ch.qos.logback.core.Context,ch.qos.logback.core.joran.util.beans.BeanDescriptionCache)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getBeanDescriptionCache()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 148
    functionDepth: 0
    returnType: "ch.qos.logback.core.joran.util.beans.BeanDescriptionCache"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ParamModelHandler].<init>(ch.qos.logback.core.Context,ch.qos.logback.core.joran.util.beans.BeanDescriptionCache)"
    functionSourceFile: "ch.qos.logback.core.joran.ParamModelHandler"
    linkageType: null
    functionLinenumber: 16
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.joran.util.beans.BeanDescriptionCache"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ParamModelHandler:17,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.SerializeModelAction].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.action.SerializeModelAction"
    linkageType: null
    functionLinenumber: 21
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.SerializeModelAction:22,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.SerializeModelAction].buildCurrentModel(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.SerializeModelAction"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.Model"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.SerializeModelModel].<init>()"
    - "[org.xml.sax.helpers.AttributesImpl].getValue(java.lang.String)"
    - "[ch.qos.logback.core.model.SerializeModelModel].setFile(java.lang.String)"
    - "[org.xml.sax.Attributes].getValue(java.lang.String)"
    functionUses: 1
    ICount: 9
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.SerializeModelAction:28,1"
      Dst: "[ch.qos.logback.core.model.SerializeModelModel].<init>()"
    - Src: "ch.qos.logback.core.joran.action.SerializeModelAction:29,1"
      Dst: "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.SerializeModelAction:29,1"
      Dst: "[ch.qos.logback.core.model.SerializeModelModel].setFile(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.SerializeModelModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.SerializeModelModel"
    linkageType: null
    functionLinenumber: 18
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.SerializeModelModel:19,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.ArrayList].<init>()"
    functionUses: 16
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:27,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.model.Model:40,1"
      Dst: "[java.util.ArrayList].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.SerializeModelModel].setFile(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.SerializeModelModel"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.AggregationType].values()"
    functionSourceFile: "ch.qos.logback.core.util.AggregationType"
    linkageType: null
    functionLinenumber: 25
    functionDepth: 0
    returnType: "ch.qos.logback.core.util.AggregationType[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].clone()"
    functionUses: 2
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.AggregationType:26,1"
      Dst: "[java.lang.Object].clone()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.AggregationType].valueOf(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.AggregationType"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.core.util.AggregationType"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.AggregationType:26,1"
      Dst: "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.AggregationType].<init>(java.lang.String,int)"
    functionSourceFile: "ch.qos.logback.core.util.AggregationType"
    linkageType: null
    functionLinenumber: 25
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].<init>(java.lang.String,int)"
    functionUses: 5
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.AggregationType:26,1"
      Dst: "[java.lang.Enum].<init>(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.AggregationType].$values()"
    functionSourceFile: "ch.qos.logback.core.util.AggregationType"
    linkageType: null
    functionLinenumber: 25
    functionDepth: 0
    returnType: "ch.qos.logback.core.util.AggregationType[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 12
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggerComparator].<init>()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggerComparator"
    linkageType: null
    functionLinenumber: 19
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggerComparator:20,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggerComparator].compare(ch.qos.logback.classic.Logger,ch.qos.logback.classic.Logger)"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggerComparator"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "int"
    argCount: 2
    argTypes:
    - "ch.qos.logback.classic.Logger"
    - "ch.qos.logback.classic.Logger"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].getName()"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.lang.String].compareTo(java.lang.String)"
    functionUses: 0
    ICount: 21
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.LoggerComparator:23"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggerComparator:26"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggerComparator:25"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggerComparator:26"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggerComparator:29"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggerComparator:28"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggerComparator:29"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggerComparator:32"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggerComparator:31"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggerComparator:23,1"
      Dst: "[ch.qos.logback.classic.Logger].getName()"
    - Src: "ch.qos.logback.classic.spi.LoggerComparator:23,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "ch.qos.logback.classic.spi.LoggerComparator:32,1"
      Dst: "[java.lang.String].compareTo(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].getName()"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 123
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 6
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggerComparator].compare(java.lang.Object,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggerComparator"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggerComparator].compare(ch.qos.logback.classic.Logger,ch.qos.logback.classic.Logger)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggerComparator:20,1"
      Dst: "[ch.qos.logback.classic.spi.LoggerComparator].compare(ch.qos.logback.classic.Logger,ch.qos.logback.classic.Logger)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggerComparator].compare(ch.qos.logback.classic.Logger,ch.qos.logback.classic.Logger)"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggerComparator"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "int"
    argCount: 2
    argTypes:
    - "ch.qos.logback.classic.Logger"
    - "ch.qos.logback.classic.Logger"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].getName()"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.lang.String].compareTo(java.lang.String)"
    functionUses: 0
    ICount: 21
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.LoggerComparator:23"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggerComparator:26"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggerComparator:25"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggerComparator:26"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggerComparator:29"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggerComparator:28"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggerComparator:29"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggerComparator:32"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggerComparator:31"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggerComparator:23,1"
      Dst: "[ch.qos.logback.classic.Logger].getName()"
    - Src: "ch.qos.logback.classic.spi.LoggerComparator:23,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "ch.qos.logback.classic.spi.LoggerComparator:32,1"
      Dst: "[java.lang.String].compareTo(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.CharSequenceToRegexMapper].<init>()"
    functionSourceFile: "ch.qos.logback.core.util.CharSequenceToRegexMapper"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.text.DateFormatSymbols].getInstance()"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:24,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:26,1"
      Dst: "[java.text.DateFormatSymbols].getInstance()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.CharSequenceToRegexMapper].toRegex(ch.qos.logback.core.util.CharSequenceState)"
    functionSourceFile: "ch.qos.logback.core.util.CharSequenceToRegexMapper"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.util.CharSequenceState"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.CharSequenceToRegexMapper].number(int)"
    - "[ch.qos.logback.core.util.CharSequenceToRegexMapper].getRegexForShortMonths()"
    - "[ch.qos.logback.core.util.CharSequenceToRegexMapper].getRegexForLongMonths()"
    - "[ch.qos.logback.core.util.CharSequenceToRegexMapper].getRegexForLongDaysOfTheWeek()"
    - "[ch.qos.logback.core.util.CharSequenceToRegexMapper].getRegexForShortDaysOfTheWeek()"
    - "[ch.qos.logback.core.util.CharSequenceToRegexMapper].getRegexForAmPms()"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(char)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(char,int)"
    functionUses: 1
    ICount: 40
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.CharSequenceToRegexMapper:36"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.CharSequenceToRegexMapper:38"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.CharSequenceToRegexMapper:37"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.CharSequenceToRegexMapper:38"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.CharSequenceToRegexMapper:41"
        BranchSideFuncs:
        - "getRegexForShortMonths()"
      - BranchSide: "ch.qos.logback.core.util.CharSequenceToRegexMapper:40"
        BranchSideFuncs:
        - "getRegexForLongMonths()"
    - Branch String: "ch.qos.logback.core.util.CharSequenceToRegexMapper:57"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.CharSequenceToRegexMapper:60"
        BranchSideFuncs:
        - "getRegexForLongDaysOfTheWeek()"
      - BranchSide: "ch.qos.logback.core.util.CharSequenceToRegexMapper:59"
        BranchSideFuncs:
        - "getRegexForShortDaysOfTheWeek()"
    - Branch String: "ch.qos.logback.core.util.CharSequenceToRegexMapper:71"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.CharSequenceToRegexMapper:74"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.CharSequenceToRegexMapper:73"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.CharSequenceToRegexMapper:76"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.CharSequenceToRegexMapper:79"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.CharSequenceToRegexMapper:78"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:37,1"
      Dst: "[ch.qos.logback.core.util.CharSequenceToRegexMapper].number(int)"
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:39,1"
      Dst: "[ch.qos.logback.core.util.CharSequenceToRegexMapper].getRegexForShortMonths()"
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:41,1"
      Dst: "[ch.qos.logback.core.util.CharSequenceToRegexMapper].getRegexForLongMonths()"
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:58,1"
      Dst: "[ch.qos.logback.core.util.CharSequenceToRegexMapper].getRegexForLongDaysOfTheWeek()"
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:60,1"
      Dst: "[ch.qos.logback.core.util.CharSequenceToRegexMapper].getRegexForShortDaysOfTheWeek()"
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:63,1"
      Dst: "[ch.qos.logback.core.util.CharSequenceToRegexMapper].getRegexForAmPms()"
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:69,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:77,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(char)"
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:79,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(char,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 21
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.CharSequenceToRegexMapper].number(int)"
    functionSourceFile: "ch.qos.logback.core.util.CharSequenceToRegexMapper"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    functionUses: 2
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:85,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.CharSequenceToRegexMapper].getRegexForShortMonths()"
    functionSourceFile: "ch.qos.logback.core.util.CharSequenceToRegexMapper"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.CharSequenceToRegexMapper].symbolArrayToRegex(java.lang.String[])"
    - "[java.text.DateFormatSymbols].getShortMonths()"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:105,1"
      Dst: "[java.text.DateFormatSymbols].getShortMonths()"
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:105,1"
      Dst: "[ch.qos.logback.core.util.CharSequenceToRegexMapper].symbolArrayToRegex(java.lang.String[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.CharSequenceToRegexMapper].symbolArrayToRegex(java.lang.String[])"
    functionSourceFile: "ch.qos.logback.core.util.CharSequenceToRegexMapper"
    linkageType: null
    functionLinenumber: 108
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.CharSequenceToRegexMapper].findMinMaxLengthsInSymbols(java.lang.String[])"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int)"
    functionUses: 5
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:109,1"
      Dst: "[ch.qos.logback.core.util.CharSequenceToRegexMapper].findMinMaxLengthsInSymbols(java.lang.String[])"
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:110,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.CharSequenceToRegexMapper].findMinMaxLengthsInSymbols(java.lang.String[])"
    functionSourceFile: "ch.qos.logback.core.util.CharSequenceToRegexMapper"
    linkageType: null
    functionLinenumber: 113
    functionDepth: 0
    returnType: "int[]"
    argCount: 1
    argTypes:
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].length()"
    - "[java.lang.Math].min(int,int)"
    - "[java.lang.Math].max(int,int)"
    functionUses: 1
    ICount: 18
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.CharSequenceToRegexMapper:116"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.CharSequenceToRegexMapper:125"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.CharSequenceToRegexMapper:124"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.CharSequenceToRegexMapper:120"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.CharSequenceToRegexMapper:122"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.CharSequenceToRegexMapper:121"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:117,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:122,1"
      Dst: "[java.lang.Math].min(int,int)"
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:123,1"
      Dst: "[java.lang.Math].max(int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.util.CharSequenceToRegexMapper].getRegexForLongMonths()"
    functionSourceFile: "ch.qos.logback.core.util.CharSequenceToRegexMapper"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.CharSequenceToRegexMapper].symbolArrayToRegex(java.lang.String[])"
    - "[java.text.DateFormatSymbols].getMonths()"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:101,1"
      Dst: "[java.text.DateFormatSymbols].getMonths()"
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:101,1"
      Dst: "[ch.qos.logback.core.util.CharSequenceToRegexMapper].symbolArrayToRegex(java.lang.String[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.CharSequenceToRegexMapper].getRegexForLongDaysOfTheWeek()"
    functionSourceFile: "ch.qos.logback.core.util.CharSequenceToRegexMapper"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.CharSequenceToRegexMapper].symbolArrayToRegex(java.lang.String[])"
    - "[java.text.DateFormatSymbols].getWeekdays()"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:93,1"
      Dst: "[java.text.DateFormatSymbols].getWeekdays()"
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:93,1"
      Dst: "[ch.qos.logback.core.util.CharSequenceToRegexMapper].symbolArrayToRegex(java.lang.String[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.CharSequenceToRegexMapper].getRegexForShortDaysOfTheWeek()"
    functionSourceFile: "ch.qos.logback.core.util.CharSequenceToRegexMapper"
    linkageType: null
    functionLinenumber: 96
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.CharSequenceToRegexMapper].symbolArrayToRegex(java.lang.String[])"
    - "[java.text.DateFormatSymbols].getShortWeekdays()"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:97,1"
      Dst: "[java.text.DateFormatSymbols].getShortWeekdays()"
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:97,1"
      Dst: "[ch.qos.logback.core.util.CharSequenceToRegexMapper].symbolArrayToRegex(java.lang.String[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.CharSequenceToRegexMapper].getRegexForAmPms()"
    functionSourceFile: "ch.qos.logback.core.util.CharSequenceToRegexMapper"
    linkageType: null
    functionLinenumber: 88
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.CharSequenceToRegexMapper].symbolArrayToRegex(java.lang.String[])"
    - "[java.text.DateFormatSymbols].getAmPmStrings()"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:89,1"
      Dst: "[java.text.DateFormatSymbols].getAmPmStrings()"
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:89,1"
      Dst: "[ch.qos.logback.core.util.CharSequenceToRegexMapper].symbolArrayToRegex(java.lang.String[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.CharSequenceToRegexMapper].number(int)"
    functionSourceFile: "ch.qos.logback.core.util.CharSequenceToRegexMapper"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    functionUses: 2
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:85,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.CharSequenceToRegexMapper].getRegexForAmPms()"
    functionSourceFile: "ch.qos.logback.core.util.CharSequenceToRegexMapper"
    linkageType: null
    functionLinenumber: 88
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.CharSequenceToRegexMapper].symbolArrayToRegex(java.lang.String[])"
    - "[java.text.DateFormatSymbols].getAmPmStrings()"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:89,1"
      Dst: "[java.text.DateFormatSymbols].getAmPmStrings()"
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:89,1"
      Dst: "[ch.qos.logback.core.util.CharSequenceToRegexMapper].symbolArrayToRegex(java.lang.String[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.CharSequenceToRegexMapper].getRegexForLongDaysOfTheWeek()"
    functionSourceFile: "ch.qos.logback.core.util.CharSequenceToRegexMapper"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.CharSequenceToRegexMapper].symbolArrayToRegex(java.lang.String[])"
    - "[java.text.DateFormatSymbols].getWeekdays()"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:93,1"
      Dst: "[java.text.DateFormatSymbols].getWeekdays()"
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:93,1"
      Dst: "[ch.qos.logback.core.util.CharSequenceToRegexMapper].symbolArrayToRegex(java.lang.String[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.CharSequenceToRegexMapper].getRegexForShortDaysOfTheWeek()"
    functionSourceFile: "ch.qos.logback.core.util.CharSequenceToRegexMapper"
    linkageType: null
    functionLinenumber: 96
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.CharSequenceToRegexMapper].symbolArrayToRegex(java.lang.String[])"
    - "[java.text.DateFormatSymbols].getShortWeekdays()"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:97,1"
      Dst: "[java.text.DateFormatSymbols].getShortWeekdays()"
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:97,1"
      Dst: "[ch.qos.logback.core.util.CharSequenceToRegexMapper].symbolArrayToRegex(java.lang.String[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.CharSequenceToRegexMapper].getRegexForLongMonths()"
    functionSourceFile: "ch.qos.logback.core.util.CharSequenceToRegexMapper"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.CharSequenceToRegexMapper].symbolArrayToRegex(java.lang.String[])"
    - "[java.text.DateFormatSymbols].getMonths()"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:101,1"
      Dst: "[java.text.DateFormatSymbols].getMonths()"
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:101,1"
      Dst: "[ch.qos.logback.core.util.CharSequenceToRegexMapper].symbolArrayToRegex(java.lang.String[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.CharSequenceToRegexMapper].getRegexForShortMonths()"
    functionSourceFile: "ch.qos.logback.core.util.CharSequenceToRegexMapper"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.CharSequenceToRegexMapper].symbolArrayToRegex(java.lang.String[])"
    - "[java.text.DateFormatSymbols].getShortMonths()"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:105,1"
      Dst: "[java.text.DateFormatSymbols].getShortMonths()"
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:105,1"
      Dst: "[ch.qos.logback.core.util.CharSequenceToRegexMapper].symbolArrayToRegex(java.lang.String[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.CharSequenceToRegexMapper].symbolArrayToRegex(java.lang.String[])"
    functionSourceFile: "ch.qos.logback.core.util.CharSequenceToRegexMapper"
    linkageType: null
    functionLinenumber: 108
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.CharSequenceToRegexMapper].findMinMaxLengthsInSymbols(java.lang.String[])"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int)"
    functionUses: 5
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:109,1"
      Dst: "[ch.qos.logback.core.util.CharSequenceToRegexMapper].findMinMaxLengthsInSymbols(java.lang.String[])"
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:110,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.CharSequenceToRegexMapper].findMinMaxLengthsInSymbols(java.lang.String[])"
    functionSourceFile: "ch.qos.logback.core.util.CharSequenceToRegexMapper"
    linkageType: null
    functionLinenumber: 113
    functionDepth: 0
    returnType: "int[]"
    argCount: 1
    argTypes:
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].length()"
    - "[java.lang.Math].min(int,int)"
    - "[java.lang.Math].max(int,int)"
    functionUses: 1
    ICount: 18
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.CharSequenceToRegexMapper:116"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.CharSequenceToRegexMapper:125"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.CharSequenceToRegexMapper:124"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.CharSequenceToRegexMapper:120"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.CharSequenceToRegexMapper:122"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.CharSequenceToRegexMapper:121"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:117,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:122,1"
      Dst: "[java.lang.Math].min(int,int)"
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:123,1"
      Dst: "[java.lang.Math].max(int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.model.processor.ChainedModelFilter].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ChainedModelFilter"
    linkageType: null
    functionLinenumber: 12
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.ArrayList].<init>()"
    functionUses: 2
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ChainedModelFilter:13,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.model.processor.ChainedModelFilter:11,1"
      Dst: "[java.util.ArrayList].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ChainedModelFilter].newInstance()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ChainedModelFilter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ChainedModelFilter"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ChainedModelFilter].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ChainedModelFilter:17,1"
      Dst: "[ch.qos.logback.core.model.processor.ChainedModelFilter].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ChainedModelFilter].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ChainedModelFilter"
    linkageType: null
    functionLinenumber: 12
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.ArrayList].<init>()"
    functionUses: 2
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ChainedModelFilter:13,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.model.processor.ChainedModelFilter:11,1"
      Dst: "[java.util.ArrayList].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ChainedModelFilter].allow(java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ChainedModelFilter"
    linkageType: null
    functionLinenumber: 20
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ChainedModelFilter"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.AllowModelFilter].<init>(java.lang.Class)"
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 2
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ChainedModelFilter:21,1"
      Dst: "[ch.qos.logback.core.model.processor.AllowModelFilter].<init>(java.lang.Class)"
    - Src: "ch.qos.logback.core.model.processor.ChainedModelFilter:21,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.AllowModelFilter].<init>(java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.model.processor.AllowModelFilter"
    linkageType: null
    functionLinenumber: 9
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.AllowModelFilter:10,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ChainedModelFilter].deny(java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ChainedModelFilter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ChainedModelFilter"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.DenyModelFilter].<init>(java.lang.Class)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ChainedModelFilter:26,1"
      Dst: "[ch.qos.logback.core.model.processor.DenyModelFilter].<init>(java.lang.Class)"
    - Src: "ch.qos.logback.core.model.processor.ChainedModelFilter:26,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DenyModelFilter].<init>(java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DenyModelFilter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DenyModelFilter:10,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ChainedModelFilter].denyAll()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ChainedModelFilter"
    linkageType: null
    functionLinenumber: 30
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ChainedModelFilter"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.DenyAllModelFilter].<init>()"
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ChainedModelFilter:31,1"
      Dst: "[ch.qos.logback.core.model.processor.DenyAllModelFilter].<init>()"
    - Src: "ch.qos.logback.core.model.processor.ChainedModelFilter:31,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DenyAllModelFilter].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.processor.DenyAllModelFilter"
    linkageType: null
    functionLinenumber: 5
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DenyAllModelFilter:6,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ChainedModelFilter].allowAll()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ChainedModelFilter"
    linkageType: null
    functionLinenumber: 35
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ChainedModelFilter"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.AllowAllModelFilter].<init>()"
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ChainedModelFilter:36,1"
      Dst: "[ch.qos.logback.core.model.processor.AllowAllModelFilter].<init>()"
    - Src: "ch.qos.logback.core.model.processor.ChainedModelFilter:36,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.AllowAllModelFilter].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.processor.AllowAllModelFilter"
    linkageType: null
    functionLinenumber: 5
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.AllowAllModelFilter:6,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ChainedModelFilter].decide(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ChainedModelFilter"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "ch.qos.logback.core.spi.FilterReply"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.model.processor.ChainedModelFilter].decide(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.DenyModelFilter].decide(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.DenyAllModelFilter].decide(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.AllowModelFilter].decide(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.AllowAllModelFilter].decide(ch.qos.logback.core.model.Model)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[ch.qos.logback.core.model.processor.ModelFilter].decide(ch.qos.logback.core.model.Model)"
    - "[java.lang.Enum].ordinal()"
    functionUses: 3
    ICount: 17
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.ChainedModelFilter:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ChainedModelFilter:54"
        BranchSideFuncs:
        - "decide(ch.qos.logback.core.model.Model)"
        - "iterator()"
      - BranchSide: "ch.qos.logback.core.model.processor.ChainedModelFilter:53"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ChainedModelFilter:43,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.model.processor.ChainedModelFilter:43,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.model.processor.ChainedModelFilter:43,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.model.processor.ChainedModelFilter:44,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelFilter].decide(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.model.processor.ChainedModelFilter:46,1"
      Dst: "[java.lang.Enum].ordinal()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.testUtil.MockInitialContext].<init>()"
    functionSourceFile: "ch.qos.logback.core.testUtil.MockInitialContext"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.naming.InitialContext].<init>()"
    - "[java.util.HashMap].<init>()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.MockInitialContext:27,1"
      Dst: "[javax.naming.InitialContext].<init>()"
    - Src: "ch.qos.logback.core.testUtil.MockInitialContext:24,1"
      Dst: "[java.util.HashMap].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.MockInitialContext].lookup(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.testUtil.MockInitialContext"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map].get(java.lang.Object)"
    functionUses: 1
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.testUtil.MockInitialContext:32"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.testUtil.MockInitialContext:36"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.testUtil.MockInitialContext:35"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.MockInitialContext:36,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.RollingFileAppender].<init>()"
    functionSourceFile: "ch.qos.logback.core.rolling.RollingFileAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.FileAppender].<init>()"
    - "[java.util.concurrent.locks.ReentrantLock].<init>()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:43,1"
      Dst: "[ch.qos.logback.core.FileAppender].<init>()"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:48,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.RollingFileAppender].start()"
    functionSourceFile: "ch.qos.logback.core.rolling.RollingFileAppender"
    linkageType: null
    functionLinenumber: 55
    functionDepth: 8
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.UnsynchronizedAppenderBase].getName()"
    - "[ch.qos.logback.core.rolling.RollingPolicyBase].isStarted()"
    - "[ch.qos.logback.core.rolling.RollingFileAppender].checkForCollisionsInPreviousRollingFileAppenders()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.rolling.RollingFileAppender].checkForFileAndPatternCollisions()"
    - "[ch.qos.logback.core.FileAppender].isPrudent()"
    - "[ch.qos.logback.core.FileAppender].rawFileProperty()"
    - "[ch.qos.logback.core.rolling.RollingFileAppender].setFile(java.lang.String)"
    - "[ch.qos.logback.core.rolling.RollingPolicyBase].getCompressionMode()"
    - "[ch.qos.logback.core.rolling.RollingFileAppender].getFile()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.FileAppender].start()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[ch.qos.logback.core.spi.LifeCycle].isStarted()"
    - "[ch.qos.logback.core.rolling.RollingPolicy].getCompressionMode()"
    - "[java.io.File].<init>(java.lang.String)"
    functionUses: 6
    ICount: 63
    EdgeCount: 25
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.RollingFileAppender:56"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:61"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:60"
        BranchSideFuncs:
        - "isStarted()"
    - Branch String: "ch.qos.logback.core.rolling.RollingFileAppender:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:66"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:65"
        BranchSideFuncs:
        - "checkForCollisionsInPreviousRollingFileAppenders()"
    - Branch String: "ch.qos.logback.core.rolling.RollingFileAppender:66"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:73"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:72"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.RollingFileAppender:73"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:78"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:77"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.RollingFileAppender:78"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:85"
        BranchSideFuncs:
        - "getName()"
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:84"
        BranchSideFuncs:
        - "checkForFileAndPatternCollisions()"
    - Branch String: "ch.qos.logback.core.rolling.RollingFileAppender:85"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:91"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:90"
        BranchSideFuncs:
        - "isPrudent()"
    - Branch String: "ch.qos.logback.core.rolling.RollingFileAppender:91"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:102"
        BranchSideFuncs:
        - "rawFileProperty()"
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:101"
        BranchSideFuncs:
        - "start()"
        - "getFile()"
        - "addInfo(java.lang.String)"
    - Branch String: "ch.qos.logback.core.rolling.RollingFileAppender:92"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:96"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
        - "setFile(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:95"
        BranchSideFuncs:
        - "getCompressionMode()"
    - Branch String: "ch.qos.logback.core.rolling.RollingFileAppender:96"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:102"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:101"
        BranchSideFuncs:
        - "start()"
        - "getFile()"
        - "addInfo(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:57,1"
      Dst: "[ch.qos.logback.core.UnsynchronizedAppenderBase].getName()"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:57,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:57,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:61,1"
      Dst: "[ch.qos.logback.core.spi.LifeCycle].isStarted()"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:66,1"
      Dst: "[ch.qos.logback.core.rolling.RollingFileAppender].checkForCollisionsInPreviousRollingFileAppenders()"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:67,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:85,1"
      Dst: "[ch.qos.logback.core.rolling.RollingFileAppender].checkForFileAndPatternCollisions()"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:91,1"
      Dst: "[ch.qos.logback.core.FileAppender].isPrudent()"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:92,1"
      Dst: "[ch.qos.logback.core.FileAppender].rawFileProperty()"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:94,1"
      Dst: "[ch.qos.logback.core.rolling.RollingFileAppender].setFile(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:96,1"
      Dst: "[ch.qos.logback.core.rolling.RollingPolicy].getCompressionMode()"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:102,1"
      Dst: "[ch.qos.logback.core.rolling.RollingFileAppender].getFile()"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:102,1"
      Dst: "[java.io.File].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:103,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:104,1"
      Dst: "[ch.qos.logback.core.FileAppender].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 18
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 96
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.RollingFileAppender].checkForCollisionsInPreviousRollingFileAppenders()"
    functionSourceFile: "ch.qos.logback.core.rolling.RollingFileAppender"
    linkageType: null
    functionLinenumber: 120
    functionDepth: 4
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.RollingFileAppender].innerCheckForFileNamePatternCollisionInPreviousRFA(ch.qos.logback.core.rolling.helper.FileNamePattern)"
    functionUses: 1
    ICount: 12
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.RollingFileAppender:122"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:129"
        BranchSideFuncs:
        - "innerCheckForFileNamePatternCollisionInPreviousRFA(ch.qos.logback.core.rolling.helper.FileNamePattern)"
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:128"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.RollingFileAppender:126"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:129"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:128"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:125,1"
      Dst: "[ch.qos.logback.core.rolling.RollingFileAppender].innerCheckForFileNamePatternCollisionInPreviousRFA(ch.qos.logback.core.rolling.helper.FileNamePattern)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.rolling.RollingFileAppender].innerCheckForFileNamePatternCollisionInPreviousRFA(ch.qos.logback.core.rolling.helper.FileNamePattern)"
    functionSourceFile: "ch.qos.logback.core.rolling.RollingFileAppender"
    linkageType: null
    functionLinenumber: 132
    functionDepth: 3
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.rolling.helper.FileNamePattern"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getObject(java.lang.String)"
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].equals(java.lang.Object)"
    - "[ch.qos.logback.core.FileAppender].addErrorForCollision(java.lang.String,java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].toString()"
    - "[ch.qos.logback.core.UnsynchronizedAppenderBase].getName()"
    - "[ch.qos.logback.core.Context].getObject(java.lang.String)"
    - "[java.util.Map].entrySet()"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.Map$Entry].getValue()"
    - "[java.util.Map$Entry].getKey()"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 1
    ICount: 30
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.RollingFileAppender:137"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:140"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:139"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.RollingFileAppender:140"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:146"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:145"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.RollingFileAppender:141"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:145"
        BranchSideFuncs:
        - "toString()"
        - "addErrorForCollision(java.lang.String,java.lang.String,java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:144"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.RollingFileAppender:146"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:149"
        BranchSideFuncs:
        - "getName()"
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:148"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:136,1"
      Dst: "[ch.qos.logback.core.Context].getObject(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:140,1"
      Dst: "[java.util.Map].entrySet()"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:140,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:140,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:140,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:141,1"
      Dst: "[java.util.Map$Entry].getValue()"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:141,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileNamePattern].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:142,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileNamePattern].toString()"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:142,1"
      Dst: "[java.util.Map$Entry].getKey()"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:142,1"
      Dst: "[ch.qos.logback.core.FileAppender].addErrorForCollision(java.lang.String,java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:147,1"
      Dst: "[ch.qos.logback.core.UnsynchronizedAppenderBase].getName()"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:147,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.rolling.helper.FileNamePattern].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileNamePattern"
    linkageType: null
    functionLinenumber: 94
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 7
    ICount: 22
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:95"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:97"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:96"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:97"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:99"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:98"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:99"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:101"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:100"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:102"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:105"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:104"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:103"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:107"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:106"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:105"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:107"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:106"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:99,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:105,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 12
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.rolling.helper.FileNamePattern].toString()"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileNamePattern"
    linkageType: null
    functionLinenumber: 81
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.FileAppender].addErrorForCollision(java.lang.String,java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.FileAppender"
    linkageType: null
    functionLinenumber: 178
    functionDepth: 2
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,java.lang.String)"
    functionUses: 2
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.FileAppender:179,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.FileAppender:179,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.RollingFileAppender].checkForFileAndPatternCollisions()"
    functionSourceFile: "ch.qos.logback.core.rolling.RollingFileAppender"
    linkageType: null
    functionLinenumber: 107
    functionDepth: 7
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].toRegex()"
    - "[java.lang.String].matches(java.lang.String)"
    functionUses: 1
    ICount: 15
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.RollingFileAppender:108"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:117"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:116"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.RollingFileAppender:112"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:117"
        BranchSideFuncs:
        - "toRegex()"
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:116"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.RollingFileAppender:112"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:117"
        BranchSideFuncs:
        - "toRegex()"
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:116"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:113,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileNamePattern].toRegex()"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:114,1"
      Dst: "[java.lang.String].matches(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.rolling.helper.FileNamePattern].toRegex()"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileNamePattern"
    linkageType: null
    functionLinenumber: 242
    functionDepth: 6
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.FileOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LocalSequenceNumberConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.SyslogStartConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.DateTokenConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.NopThrowableInformationConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.PrefixCompositeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.DateConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.RelativeTimeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.IntegerTokenConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.KeyValuePairConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LineSeparatorConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LineOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.PropertyConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LevelConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MDCConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MessageConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ThreadConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.NamedConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MethodOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MicrosecondConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ContextNameConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MarkerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.CompositeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.SequenceNumberConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.CallerDataConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.LiteralConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.DateTokenConverter].toRegex()"
    - "[ch.qos.logback.core.pattern.Converter].getNext()"
    - "[java.lang.StringBuilder].<init>()"
    - "[ch.qos.logback.core.pattern.Converter].convert(java.lang.Object)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 23
    EdgeCount: 29
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:245"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:256"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:255"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:246"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:248"
        BranchSideFuncs:
        - "convert(java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:247"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:248"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:250"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:249"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:250"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:254"
        BranchSideFuncs:
        - "toRegex()"
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:253"
        BranchSideFuncs:
        - "getNext()"
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:243,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:247,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].convert(java.lang.Object)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:247,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:252,1"
      Dst: "[ch.qos.logback.core.rolling.helper.DateTokenConverter].toRegex()"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:254,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].getNext()"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:256,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.rolling.helper.DateTokenConverter].toRegex()"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.DateTokenConverter"
    linkageType: null
    functionLinenumber: 109
    functionDepth: 5
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.DatePatternToRegexUtil].<init>(java.lang.String)"
    - "[ch.qos.logback.core.util.DatePatternToRegexUtil].toRegex()"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.DateTokenConverter:110,1"
      Dst: "[ch.qos.logback.core.util.DatePatternToRegexUtil].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.DateTokenConverter:111,1"
      Dst: "[ch.qos.logback.core.util.DatePatternToRegexUtil].toRegex()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.DatePatternToRegexUtil].<init>(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.DatePatternToRegexUtil"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.CharSequenceToRegexMapper].<init>()"
    - "[java.lang.Object].<init>()"
    - "[java.lang.String].length()"
    functionUses: 1
    ICount: 10
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.DatePatternToRegexUtil:32,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.util.DatePatternToRegexUtil:30,1"
      Dst: "[ch.qos.logback.core.util.CharSequenceToRegexMapper].<init>()"
    - Src: "ch.qos.logback.core.util.DatePatternToRegexUtil:34,1"
      Dst: "[java.lang.String].length()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.CharSequenceToRegexMapper].<init>()"
    functionSourceFile: "ch.qos.logback.core.util.CharSequenceToRegexMapper"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.text.DateFormatSymbols].getInstance()"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:24,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:26,1"
      Dst: "[java.text.DateFormatSymbols].getInstance()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.DatePatternToRegexUtil].toRegex()"
    functionSourceFile: "ch.qos.logback.core.util.DatePatternToRegexUtil"
    linkageType: null
    functionLinenumber: 37
    functionDepth: 4
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.DatePatternToRegexUtil].tokenize()"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.util.CharSequenceToRegexMapper].toRegex(ch.qos.logback.core.util.CharSequenceState)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 15
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.DatePatternToRegexUtil:40"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.DatePatternToRegexUtil:43"
        BranchSideFuncs:
        - "iterator()"
        - "toRegex(ch.qos.logback.core.util.CharSequenceState)"
      - BranchSide: "ch.qos.logback.core.util.DatePatternToRegexUtil:42"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.DatePatternToRegexUtil:38,1"
      Dst: "[ch.qos.logback.core.util.DatePatternToRegexUtil].tokenize()"
    - Src: "ch.qos.logback.core.util.DatePatternToRegexUtil:39,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.core.util.DatePatternToRegexUtil:40,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.util.DatePatternToRegexUtil:40,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.util.DatePatternToRegexUtil:40,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.util.DatePatternToRegexUtil:41,1"
      Dst: "[ch.qos.logback.core.util.CharSequenceToRegexMapper].toRegex(ch.qos.logback.core.util.CharSequenceState)"
    - Src: "ch.qos.logback.core.util.DatePatternToRegexUtil:41,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.core.util.DatePatternToRegexUtil:43,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.DatePatternToRegexUtil].tokenize()"
    functionSourceFile: "ch.qos.logback.core.util.DatePatternToRegexUtil"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 1
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.CharSequenceState].<init>(char)"
    - "[ch.qos.logback.core.util.CharSequenceState].incrementOccurrences()"
    - "[java.util.ArrayList].<init>()"
    - "[java.lang.String].charAt(int)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 23
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.DatePatternToRegexUtil:51"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.DatePatternToRegexUtil:60"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.DatePatternToRegexUtil:59"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.DatePatternToRegexUtil:53"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.DatePatternToRegexUtil:54"
        BranchSideFuncs:
        - "<init>(char)"
      - BranchSide: "ch.qos.logback.core.util.DatePatternToRegexUtil:53"
        BranchSideFuncs:
        - "<init>(char)"
    - Branch String: "ch.qos.logback.core.util.DatePatternToRegexUtil:53"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.DatePatternToRegexUtil:57"
        BranchSideFuncs:
        - "<init>(char)"
      - BranchSide: "ch.qos.logback.core.util.DatePatternToRegexUtil:56"
        BranchSideFuncs:
        - "incrementOccurrences()"
    Callsites:
    - Src: "ch.qos.logback.core.util.DatePatternToRegexUtil:47,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.core.util.DatePatternToRegexUtil:52,1"
      Dst: "[java.lang.String].charAt(int)"
    - Src: "ch.qos.logback.core.util.DatePatternToRegexUtil:54,1"
      Dst: "[ch.qos.logback.core.util.CharSequenceState].<init>(char)"
    - Src: "ch.qos.logback.core.util.DatePatternToRegexUtil:55,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "ch.qos.logback.core.util.DatePatternToRegexUtil:57,1"
      Dst: "[ch.qos.logback.core.util.CharSequenceState].incrementOccurrences()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.util.CharSequenceState].<init>(char)"
    functionSourceFile: "ch.qos.logback.core.util.CharSequenceState"
    linkageType: null
    functionLinenumber: 24
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.CharSequenceState:25,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.CharSequenceState].incrementOccurrences()"
    functionSourceFile: "ch.qos.logback.core.util.CharSequenceState"
    linkageType: null
    functionLinenumber: 30
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.CharSequenceToRegexMapper].toRegex(ch.qos.logback.core.util.CharSequenceState)"
    functionSourceFile: "ch.qos.logback.core.util.CharSequenceToRegexMapper"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.util.CharSequenceState"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.CharSequenceToRegexMapper].number(int)"
    - "[ch.qos.logback.core.util.CharSequenceToRegexMapper].getRegexForShortMonths()"
    - "[ch.qos.logback.core.util.CharSequenceToRegexMapper].getRegexForLongMonths()"
    - "[ch.qos.logback.core.util.CharSequenceToRegexMapper].getRegexForLongDaysOfTheWeek()"
    - "[ch.qos.logback.core.util.CharSequenceToRegexMapper].getRegexForShortDaysOfTheWeek()"
    - "[ch.qos.logback.core.util.CharSequenceToRegexMapper].getRegexForAmPms()"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(char)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(char,int)"
    functionUses: 1
    ICount: 40
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.CharSequenceToRegexMapper:36"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.CharSequenceToRegexMapper:38"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.CharSequenceToRegexMapper:37"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.CharSequenceToRegexMapper:38"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.CharSequenceToRegexMapper:41"
        BranchSideFuncs:
        - "getRegexForShortMonths()"
      - BranchSide: "ch.qos.logback.core.util.CharSequenceToRegexMapper:40"
        BranchSideFuncs:
        - "getRegexForLongMonths()"
    - Branch String: "ch.qos.logback.core.util.CharSequenceToRegexMapper:57"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.CharSequenceToRegexMapper:60"
        BranchSideFuncs:
        - "getRegexForLongDaysOfTheWeek()"
      - BranchSide: "ch.qos.logback.core.util.CharSequenceToRegexMapper:59"
        BranchSideFuncs:
        - "getRegexForShortDaysOfTheWeek()"
    - Branch String: "ch.qos.logback.core.util.CharSequenceToRegexMapper:71"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.CharSequenceToRegexMapper:74"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.CharSequenceToRegexMapper:73"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.CharSequenceToRegexMapper:76"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.CharSequenceToRegexMapper:79"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.CharSequenceToRegexMapper:78"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:37,1"
      Dst: "[ch.qos.logback.core.util.CharSequenceToRegexMapper].number(int)"
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:39,1"
      Dst: "[ch.qos.logback.core.util.CharSequenceToRegexMapper].getRegexForShortMonths()"
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:41,1"
      Dst: "[ch.qos.logback.core.util.CharSequenceToRegexMapper].getRegexForLongMonths()"
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:58,1"
      Dst: "[ch.qos.logback.core.util.CharSequenceToRegexMapper].getRegexForLongDaysOfTheWeek()"
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:60,1"
      Dst: "[ch.qos.logback.core.util.CharSequenceToRegexMapper].getRegexForShortDaysOfTheWeek()"
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:63,1"
      Dst: "[ch.qos.logback.core.util.CharSequenceToRegexMapper].getRegexForAmPms()"
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:69,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:77,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(char)"
    - Src: "ch.qos.logback.core.util.CharSequenceToRegexMapper:79,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(char,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 21
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.FileAppender].isPrudent()"
    functionSourceFile: "ch.qos.logback.core.FileAppender"
    linkageType: null
    functionLinenumber: 219
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.FileAppender].rawFileProperty()"
    functionSourceFile: "ch.qos.logback.core.FileAppender"
    linkageType: null
    functionLinenumber: 88
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.RollingFileAppender].setFile(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.RollingFileAppender"
    linkageType: null
    functionLinenumber: 173
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.FileAppender].setFile(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 13
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.RollingFileAppender:174"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:178"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:177"
        BranchSideFuncs:
        - "setFile(java.lang.String)"
    - Branch String: "ch.qos.logback.core.rolling.RollingFileAppender:174"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:175"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:174"
        BranchSideFuncs:
        - "addError(java.lang.String)"
    - Branch String: "ch.qos.logback.core.rolling.RollingFileAppender:174"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:178"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:177"
        BranchSideFuncs:
        - "setFile(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:175,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:176,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:178,1"
      Dst: "[ch.qos.logback.core.FileAppender].setFile(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.FileAppender].setFile(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.FileAppender"
    linkageType: null
    functionLinenumber: 65
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    functionUses: 1
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.FileAppender:66"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.FileAppender:71"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.FileAppender:70"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.FileAppender:71,1"
      Dst: "[java.lang.String].trim()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.rolling.RollingFileAppender].getFile()"
    functionSourceFile: "ch.qos.logback.core.rolling.RollingFileAppender"
    linkageType: null
    functionLinenumber: 182
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.FixedWindowRollingPolicy].getActiveFileName()"
    - "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].getActiveFileName()"
    - "[ch.qos.logback.core.rolling.RollingPolicy].getActiveFileName()"
    functionUses: 4
    ICount: 4
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:183,1"
      Dst: "[ch.qos.logback.core.rolling.RollingPolicy].getActiveFileName()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 67
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 6
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.status.InfoStatus"
    linkageType: null
    functionLinenumber: 17
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    functionUses: 15
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.InfoStatus:18,1"
      Dst: "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 71
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.status.Status"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - "[ch.qos.logback.core.BasicStatusManager].add(ch.qos.logback.core.status.Status)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.ContextAwareBase)"
    - "[java.io.PrintStream].println(java.lang.String)"
    - "[ch.qos.logback.core.Context].getStatusManager()"
    - "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    functionUses: 24
    ICount: 17
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:78"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:77"
        BranchSideFuncs:
        - "getStatusManager()"
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:73"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:76"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:75"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:79"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:82"
        BranchSideFuncs:
        - "add(ch.qos.logback.core.status.Status)"
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:81"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:74,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.ContextAwareBase)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:74,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:78,1"
      Dst: "[ch.qos.logback.core.Context].getStatusManager()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:80,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.FileAppender].start()"
    functionSourceFile: "ch.qos.logback.core.FileAppender"
    linkageType: null
    functionLinenumber: 107
    functionDepth: 6
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.RollingFileAppender].getFile()"
    - "[ch.qos.logback.core.FileAppender].getFile()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.FileAppender].isAppend()"
    - "[ch.qos.logback.core.FileAppender].setAppend(boolean)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.FileAppender].checkForFileCollisionInPreviousFileAppenders()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.FileAppender].openFile(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.OutputStreamAppender].start()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,boolean)"
    functionUses: 7
    ICount: 38
    EdgeCount: 14
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.FileAppender:109"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.FileAppender:133"
        BranchSideFuncs:
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.FileAppender:132"
        BranchSideFuncs:
        - "addError(java.lang.String)"
    - Branch String: "ch.qos.logback.core.FileAppender:112"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.FileAppender:119"
        BranchSideFuncs:
        - "isAppend()"
      - BranchSide: "ch.qos.logback.core.FileAppender:118"
        BranchSideFuncs:
        - "checkForFileCollisionInPreviousFileAppenders()"
    - Branch String: "ch.qos.logback.core.FileAppender:113"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.FileAppender:119"
        BranchSideFuncs:
        - "setAppend(boolean)"
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.FileAppender:118"
        BranchSideFuncs:
        - "checkForFileCollisionInPreviousFileAppenders()"
    - Branch String: "ch.qos.logback.core.FileAppender:119"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.FileAppender:126"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.FileAppender:125"
        BranchSideFuncs:
        - "openFile(java.lang.String)"
        - "addError(java.lang.String,java.lang.Throwable)"
        - "getFile()"
    - Branch String: "ch.qos.logback.core.FileAppender:136"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.FileAppender:139"
        BranchSideFuncs:
        - "start()"
      - BranchSide: "ch.qos.logback.core.FileAppender:138"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.FileAppender:109,1"
      Dst: "[ch.qos.logback.core.FileAppender].getFile()"
    - Src: "ch.qos.logback.core.FileAppender:110,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.FileAppender:110,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.FileAppender:113,1"
      Dst: "[ch.qos.logback.core.FileAppender].isAppend()"
    - Src: "ch.qos.logback.core.FileAppender:114,1"
      Dst: "[ch.qos.logback.core.FileAppender].setAppend(boolean)"
    - Src: "ch.qos.logback.core.FileAppender:115,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.core.FileAppender:119,1"
      Dst: "[ch.qos.logback.core.FileAppender].checkForFileCollisionInPreviousFileAppenders()"
    - Src: "ch.qos.logback.core.FileAppender:120,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.FileAppender:126,1"
      Dst: "[ch.qos.logback.core.FileAppender].openFile(java.lang.String)"
    - Src: "ch.qos.logback.core.FileAppender:129,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,boolean)"
    - Src: "ch.qos.logback.core.FileAppender:129,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.FileAppender:137,1"
      Dst: "[ch.qos.logback.core.OutputStreamAppender].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 12
    CyclomaticComplexity: 6
  - functionName: "[ch.qos.logback.core.FileAppender].getFile()"
    functionSourceFile: "ch.qos.logback.core.FileAppender"
    linkageType: null
    functionLinenumber: 99
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.FileAppender].isAppend()"
    functionSourceFile: "ch.qos.logback.core.FileAppender"
    linkageType: null
    functionLinenumber: 78
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.FileAppender].setAppend(boolean)"
    functionSourceFile: "ch.qos.logback.core.FileAppender"
    linkageType: null
    functionLinenumber: 233
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.FileAppender].checkForFileCollisionInPreviousFileAppenders()"
    functionSourceFile: "ch.qos.logback.core.FileAppender"
    linkageType: null
    functionLinenumber: 155
    functionDepth: 3
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getObject(java.lang.String)"
    - "[ch.qos.logback.core.FileAppender].addErrorForCollision(java.lang.String,java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.UnsynchronizedAppenderBase].getName()"
    - "[ch.qos.logback.core.Context].getObject(java.lang.String)"
    - "[java.util.Map].entrySet()"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.Map$Entry].getValue()"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.util.Map$Entry].getKey()"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 1
    ICount: 33
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.FileAppender:157"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.FileAppender:162"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.FileAppender:161"
        BranchSideFuncs:
        - "getObject(java.lang.String)"
    - Branch String: "ch.qos.logback.core.FileAppender:163"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.FileAppender:166"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.FileAppender:165"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.FileAppender:166"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.FileAppender:172"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.FileAppender:171"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.FileAppender:167"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.FileAppender:171"
        BranchSideFuncs:
        - "addErrorForCollision(java.lang.String,java.lang.String,java.lang.String)"
      - BranchSide: "ch.qos.logback.core.FileAppender:170"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.FileAppender:172"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.FileAppender:175"
        BranchSideFuncs:
        - "getName()"
      - BranchSide: "ch.qos.logback.core.FileAppender:174"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.FileAppender:162,1"
      Dst: "[ch.qos.logback.core.Context].getObject(java.lang.String)"
    - Src: "ch.qos.logback.core.FileAppender:166,1"
      Dst: "[java.util.Map].entrySet()"
    - Src: "ch.qos.logback.core.FileAppender:166,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "ch.qos.logback.core.FileAppender:166,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.FileAppender:166,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.FileAppender:167,1"
      Dst: "[java.util.Map$Entry].getValue()"
    - Src: "ch.qos.logback.core.FileAppender:167,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.FileAppender:168,1"
      Dst: "[java.util.Map$Entry].getKey()"
    - Src: "ch.qos.logback.core.FileAppender:168,1"
      Dst: "[ch.qos.logback.core.FileAppender].addErrorForCollision(java.lang.String,java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.FileAppender:173,1"
      Dst: "[ch.qos.logback.core.UnsynchronizedAppenderBase].getName()"
    - Src: "ch.qos.logback.core.FileAppender:173,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 12
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.FileAppender].openFile(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.FileAppender"
    linkageType: null
    functionLinenumber: 197
    functionDepth: 5
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.FileUtil].createMissingParentDirectories(java.io.File)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.recovery.ResilientFileOutputStream].<init>(java.io.File,boolean,long)"
    - "[ch.qos.logback.core.util.FileSize].getSize()"
    - "[ch.qos.logback.core.recovery.ResilientOutputStreamBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.OutputStreamAppender].setOutputStream(java.io.OutputStream)"
    - "[java.util.concurrent.locks.ReentrantLock].lock()"
    - "[java.io.File].<init>(java.lang.String)"
    - "[java.io.File].getAbsolutePath()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.util.concurrent.locks.ReentrantLock].unlock()"
    functionUses: 2
    ICount: 27
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.FileAppender:202"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.FileAppender:206"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.FileAppender:205"
        BranchSideFuncs:
        - "setOutputStream(java.io.OutputStream)"
        - "setContext(ch.qos.logback.core.Context)"
        - "<init>(java.io.File,boolean,long)"
        - "getSize()"
    Callsites:
    - Src: "ch.qos.logback.core.FileAppender:198,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].lock()"
    - Src: "ch.qos.logback.core.FileAppender:200,1"
      Dst: "[java.io.File].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.FileAppender:201,1"
      Dst: "[ch.qos.logback.core.util.FileUtil].createMissingParentDirectories(java.io.File)"
    - Src: "ch.qos.logback.core.FileAppender:203,1"
      Dst: "[java.io.File].getAbsolutePath()"
    - Src: "ch.qos.logback.core.FileAppender:203,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.FileAppender:203,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.FileAppender:206,1"
      Dst: "[ch.qos.logback.core.util.FileSize].getSize()"
    - Src: "ch.qos.logback.core.FileAppender:206,1"
      Dst: "[ch.qos.logback.core.recovery.ResilientFileOutputStream].<init>(java.io.File,boolean,long)"
    - Src: "ch.qos.logback.core.FileAppender:207,1"
      Dst: "[ch.qos.logback.core.recovery.ResilientOutputStreamBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.FileAppender:208,1"
      Dst: "[ch.qos.logback.core.OutputStreamAppender].setOutputStream(java.io.OutputStream)"
    - Src: "ch.qos.logback.core.FileAppender:210,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].unlock()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.FileUtil].createMissingParentDirectories(java.io.File)"
    functionSourceFile: "ch.qos.logback.core.util.FileUtil"
    linkageType: null
    functionLinenumber: 47
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.File].getParentFile()"
    - "[java.io.File].mkdirs()"
    - "[java.io.File].exists()"
    functionUses: 3
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.FileUtil:49"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.FileUtil:56"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.FileUtil:48,1"
      Dst: "[java.io.File].getParentFile()"
    - Src: "ch.qos.logback.core.util.FileUtil:57,1"
      Dst: "[java.io.File].mkdirs()"
    - Src: "ch.qos.logback.core.util.FileUtil:58,1"
      Dst: "[java.io.File].exists()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.FileSize].getSize()"
    functionSourceFile: "ch.qos.logback.core.util.FileSize"
    linkageType: null
    functionLinenumber: 54
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 7
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.recovery.ResilientFileOutputStream].<init>(java.io.File,boolean,long)"
    functionSourceFile: "ch.qos.logback.core.recovery.ResilientFileOutputStream"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.io.File"
    - "boolean"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.recovery.ResilientOutputStreamBase].<init>()"
    - "[java.io.FileOutputStream].<init>(java.io.File,boolean)"
    - "[java.io.BufferedOutputStream].<init>(java.io.OutputStream,int)"
    functionUses: 1
    ICount: 16
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.recovery.ResilientFileOutputStream:24,1"
      Dst: "[ch.qos.logback.core.recovery.ResilientOutputStreamBase].<init>()"
    - Src: "ch.qos.logback.core.recovery.ResilientFileOutputStream:26,1"
      Dst: "[java.io.FileOutputStream].<init>(java.io.File,boolean)"
    - Src: "ch.qos.logback.core.recovery.ResilientFileOutputStream:27,1"
      Dst: "[java.io.BufferedOutputStream].<init>(java.io.OutputStream,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.OutputStreamAppender].setOutputStream(java.io.OutputStream)"
    functionSourceFile: "ch.qos.logback.core.OutputStreamAppender"
    linkageType: null
    functionLinenumber: 161
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.OutputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.OutputStreamAppender].closeOutputStream()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.OutputStreamAppender].encoderInit()"
    - "[java.util.concurrent.locks.ReentrantLock].lock()"
    - "[java.util.concurrent.locks.ReentrantLock].unlock()"
    functionUses: 2
    ICount: 21
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.OutputStreamAppender:167"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:172"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:171"
        BranchSideFuncs:
        - "encoderInit()"
    Callsites:
    - Src: "ch.qos.logback.core.OutputStreamAppender:162,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].lock()"
    - Src: "ch.qos.logback.core.OutputStreamAppender:165,1"
      Dst: "[ch.qos.logback.core.OutputStreamAppender].closeOutputStream()"
    - Src: "ch.qos.logback.core.OutputStreamAppender:168,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.core.OutputStreamAppender:174,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].unlock()"
    - Src: "ch.qos.logback.core.OutputStreamAppender:172,1"
      Dst: "[ch.qos.logback.core.OutputStreamAppender].encoderInit()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.OutputStreamAppender].closeOutputStream()"
    functionSourceFile: "ch.qos.logback.core.OutputStreamAppender"
    linkageType: null
    functionLinenumber: 127
    functionDepth: 3
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.OutputStreamAppender].encoderClose()"
    - "[ch.qos.logback.core.testUtil.XTeeOutputStream].close()"
    - "[ch.qos.logback.core.recovery.ResilientOutputStreamBase].close()"
    - "[ch.qos.logback.core.net.SyslogOutputStream].close()"
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[java.io.OutputStream].close()"
    functionUses: 3
    ICount: 13
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.OutputStreamAppender:128"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:137"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.OutputStreamAppender:131,1"
      Dst: "[ch.qos.logback.core.OutputStreamAppender].encoderClose()"
    - Src: "ch.qos.logback.core.OutputStreamAppender:132,1"
      Dst: "[java.io.OutputStream].close()"
    - Src: "ch.qos.logback.core.OutputStreamAppender:135,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.OutputStreamAppender:135,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.OutputStreamAppender].encoderClose()"
    functionSourceFile: "ch.qos.logback.core.OutputStreamAppender"
    linkageType: null
    functionLinenumber: 140
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.encoder.EchoEncoder].footerBytes()"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].footerBytes()"
    - "[ch.qos.logback.core.testUtil.DummyEncoder].footerBytes()"
    - "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].footerBytes()"
    - "[ch.qos.logback.core.OutputStreamAppender].writeBytes(byte[])"
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.encoder.Encoder].footerBytes()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 17
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.OutputStreamAppender:141"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:149"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.OutputStreamAppender:141"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:149"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.OutputStreamAppender:143,1"
      Dst: "[ch.qos.logback.core.encoder.Encoder].footerBytes()"
    - Src: "ch.qos.logback.core.OutputStreamAppender:144,1"
      Dst: "[ch.qos.logback.core.OutputStreamAppender].writeBytes(byte[])"
    - Src: "ch.qos.logback.core.OutputStreamAppender:147,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.OutputStreamAppender:147,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.OutputStreamAppender:147,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.OutputStreamAppender].writeBytes(byte[])"
    functionSourceFile: "ch.qos.logback.core.OutputStreamAppender"
    linkageType: null
    functionLinenumber: 196
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.OutputStreamAppender].writeByteArrayToOutputStreamWithPossibleFlush(byte[])"
    - "[java.util.concurrent.locks.ReentrantLock].lock()"
    - "[java.util.concurrent.locks.ReentrantLock].unlock()"
    functionUses: 3
    ICount: 17
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.OutputStreamAppender:197"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:198"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:197"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.OutputStreamAppender:197"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:200"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:199"
        BranchSideFuncs:
        - "writeByteArrayToOutputStreamWithPossibleFlush(byte[])"
    Callsites:
    - Src: "ch.qos.logback.core.OutputStreamAppender:200,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].lock()"
    - Src: "ch.qos.logback.core.OutputStreamAppender:202,1"
      Dst: "[ch.qos.logback.core.OutputStreamAppender].writeByteArrayToOutputStreamWithPossibleFlush(byte[])"
    - Src: "ch.qos.logback.core.OutputStreamAppender:204,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].unlock()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.OutputStreamAppender].writeByteArrayToOutputStreamWithPossibleFlush(byte[])"
    functionSourceFile: "ch.qos.logback.core.OutputStreamAppender"
    linkageType: null
    functionLinenumber: 213
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ConsoleTarget$2].write(byte[])"
    - "[ch.qos.logback.core.joran.spi.ConsoleTarget$1].write(byte[])"
    - "[ch.qos.logback.core.joran.spi.ConsoleTarget$2].flush()"
    - "[ch.qos.logback.core.recovery.ResilientOutputStreamBase].flush()"
    - "[ch.qos.logback.core.joran.spi.ConsoleTarget$1].flush()"
    - "[ch.qos.logback.core.net.SyslogOutputStream].flush()"
    - "[java.io.OutputStream].write(byte[])"
    - "[java.io.OutputStream].flush()"
    functionUses: 2
    ICount: 9
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.OutputStreamAppender:215"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:218"
        BranchSideFuncs:
        - "flush()"
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:217"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.OutputStreamAppender:214,1"
      Dst: "[java.io.OutputStream].write(byte[])"
    - Src: "ch.qos.logback.core.OutputStreamAppender:216,1"
      Dst: "[java.io.OutputStream].flush()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.status.ErrorStatus"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionUses: 14
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.ErrorStatus:23,1"
      Dst: "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.OutputStreamAppender].encoderInit()"
    functionSourceFile: "ch.qos.logback.core.OutputStreamAppender"
    linkageType: null
    functionLinenumber: 178
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.encoder.JsonEncoder].headerBytes()"
    - "[ch.qos.logback.core.encoder.EchoEncoder].headerBytes()"
    - "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].headerBytes()"
    - "[ch.qos.logback.core.testUtil.DummyEncoder].headerBytes()"
    - "[ch.qos.logback.core.OutputStreamAppender].writeBytes(byte[])"
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.encoder.Encoder].headerBytes()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 17
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.OutputStreamAppender:179"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:188"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.OutputStreamAppender:179"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:188"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.OutputStreamAppender:181,1"
      Dst: "[ch.qos.logback.core.encoder.Encoder].headerBytes()"
    - Src: "ch.qos.logback.core.OutputStreamAppender:182,1"
      Dst: "[ch.qos.logback.core.OutputStreamAppender].writeBytes(byte[])"
    - Src: "ch.qos.logback.core.OutputStreamAppender:185,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.OutputStreamAppender:185,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.OutputStreamAppender:185,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 74
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.OutputStreamAppender].start()"
    functionSourceFile: "ch.qos.logback.core.OutputStreamAppender"
    linkageType: null
    functionLinenumber: 69
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.UnsynchronizedAppenderBase].start()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 8
    ICount: 21
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.OutputStreamAppender:71"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:76"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:75"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.OutputStreamAppender:76"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:81"
        BranchSideFuncs:
        - "<init>(java.lang.String,java.lang.Object)"
        - "addStatus(ch.qos.logback.core.status.Status)"
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:80"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.OutputStreamAppender:81"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:84"
        BranchSideFuncs:
        - "start()"
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:83"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.OutputStreamAppender:72,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.OutputStreamAppender:72,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.OutputStreamAppender:72,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - Src: "ch.qos.logback.core.OutputStreamAppender:82,1"
      Dst: "[ch.qos.logback.core.UnsynchronizedAppenderBase].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.status.ErrorStatus"
    linkageType: null
    functionLinenumber: 18
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    functionUses: 7
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.ErrorStatus:19,1"
      Dst: "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.RollingFileAppender].checkForFileAndPatternCollisions()"
    functionSourceFile: "ch.qos.logback.core.rolling.RollingFileAppender"
    linkageType: null
    functionLinenumber: 107
    functionDepth: 7
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].toRegex()"
    - "[java.lang.String].matches(java.lang.String)"
    functionUses: 1
    ICount: 15
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.RollingFileAppender:108"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:117"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:116"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.RollingFileAppender:112"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:117"
        BranchSideFuncs:
        - "toRegex()"
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:116"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.RollingFileAppender:112"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:117"
        BranchSideFuncs:
        - "toRegex()"
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:116"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:113,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileNamePattern].toRegex()"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:114,1"
      Dst: "[java.lang.String].matches(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.rolling.RollingFileAppender].checkForCollisionsInPreviousRollingFileAppenders()"
    functionSourceFile: "ch.qos.logback.core.rolling.RollingFileAppender"
    linkageType: null
    functionLinenumber: 120
    functionDepth: 4
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.RollingFileAppender].innerCheckForFileNamePatternCollisionInPreviousRFA(ch.qos.logback.core.rolling.helper.FileNamePattern)"
    functionUses: 1
    ICount: 12
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.RollingFileAppender:122"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:129"
        BranchSideFuncs:
        - "innerCheckForFileNamePatternCollisionInPreviousRFA(ch.qos.logback.core.rolling.helper.FileNamePattern)"
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:128"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.RollingFileAppender:126"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:129"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:128"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:125,1"
      Dst: "[ch.qos.logback.core.rolling.RollingFileAppender].innerCheckForFileNamePatternCollisionInPreviousRFA(ch.qos.logback.core.rolling.helper.FileNamePattern)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.rolling.RollingFileAppender].innerCheckForFileNamePatternCollisionInPreviousRFA(ch.qos.logback.core.rolling.helper.FileNamePattern)"
    functionSourceFile: "ch.qos.logback.core.rolling.RollingFileAppender"
    linkageType: null
    functionLinenumber: 132
    functionDepth: 3
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.rolling.helper.FileNamePattern"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getObject(java.lang.String)"
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].equals(java.lang.Object)"
    - "[ch.qos.logback.core.FileAppender].addErrorForCollision(java.lang.String,java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].toString()"
    - "[ch.qos.logback.core.UnsynchronizedAppenderBase].getName()"
    - "[ch.qos.logback.core.Context].getObject(java.lang.String)"
    - "[java.util.Map].entrySet()"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.Map$Entry].getValue()"
    - "[java.util.Map$Entry].getKey()"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 1
    ICount: 30
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.RollingFileAppender:137"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:140"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:139"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.RollingFileAppender:140"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:146"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:145"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.RollingFileAppender:141"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:145"
        BranchSideFuncs:
        - "toString()"
        - "addErrorForCollision(java.lang.String,java.lang.String,java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:144"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.RollingFileAppender:146"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:149"
        BranchSideFuncs:
        - "getName()"
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:148"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:136,1"
      Dst: "[ch.qos.logback.core.Context].getObject(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:140,1"
      Dst: "[java.util.Map].entrySet()"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:140,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:140,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:140,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:141,1"
      Dst: "[java.util.Map$Entry].getValue()"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:141,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileNamePattern].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:142,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileNamePattern].toString()"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:142,1"
      Dst: "[java.util.Map$Entry].getKey()"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:142,1"
      Dst: "[ch.qos.logback.core.FileAppender].addErrorForCollision(java.lang.String,java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:147,1"
      Dst: "[ch.qos.logback.core.UnsynchronizedAppenderBase].getName()"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:147,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.rolling.RollingFileAppender].stop()"
    functionSourceFile: "ch.qos.logback.core.rolling.RollingFileAppender"
    linkageType: null
    functionLinenumber: 153
    functionDepth: 6
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.UnsynchronizedAppenderBase].isStarted()"
    - "[ch.qos.logback.core.FileAppender].stop()"
    - "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].stop()"
    - "[ch.qos.logback.core.rolling.RollingPolicyBase].stop()"
    - "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase].stop()"
    - "[ch.qos.logback.core.rolling.TriggeringPolicyBase].stop()"
    - "[ch.qos.logback.core.util.ContextUtil].getFilenamePatternCollisionMap(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.UnsynchronizedAppenderBase].getName()"
    - "[ch.qos.logback.core.spi.LifeCycle].stop()"
    - "[java.util.Map].remove(java.lang.Object)"
    functionUses: 4
    ICount: 21
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.RollingFileAppender:154"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:157"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:156"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.RollingFileAppender:159"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:161"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:160"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.RollingFileAppender:161"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:164"
        BranchSideFuncs:
        - "stop()"
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:163"
        BranchSideFuncs:
        - "getFilenamePatternCollisionMap(ch.qos.logback.core.Context)"
    - Branch String: "ch.qos.logback.core.rolling.RollingFileAppender:165"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:168"
        BranchSideFuncs:
        - "getName()"
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:167"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.RollingFileAppender:165"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:168"
        BranchSideFuncs:
        - "getName()"
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:167"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:154,1"
      Dst: "[ch.qos.logback.core.UnsynchronizedAppenderBase].isStarted()"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:157,1"
      Dst: "[ch.qos.logback.core.FileAppender].stop()"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:160,1"
      Dst: "[ch.qos.logback.core.spi.LifeCycle].stop()"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:164,1"
      Dst: "[ch.qos.logback.core.util.ContextUtil].getFilenamePatternCollisionMap(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:165,1"
      Dst: "[ch.qos.logback.core.UnsynchronizedAppenderBase].getName()"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:166,1"
      Dst: "[java.util.Map].remove(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.FileAppender].stop()"
    functionSourceFile: "ch.qos.logback.core.FileAppender"
    linkageType: null
    functionLinenumber: 142
    functionDepth: 5
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.UnsynchronizedAppenderBase].isStarted()"
    - "[ch.qos.logback.core.OutputStreamAppender].stop()"
    - "[ch.qos.logback.core.util.ContextUtil].getFilenameCollisionMap(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.UnsynchronizedAppenderBase].getName()"
    - "[java.util.Map].remove(java.lang.Object)"
    functionUses: 5
    ICount: 14
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.FileAppender:143"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.FileAppender:146"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.FileAppender:145"
        BranchSideFuncs:
        - "getFilenameCollisionMap(ch.qos.logback.core.Context)"
        - "stop()"
    - Branch String: "ch.qos.logback.core.FileAppender:149"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.FileAppender:150"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.FileAppender:149"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.FileAppender:149"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.FileAppender:152"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.FileAppender:151"
        BranchSideFuncs:
        - "getName()"
    Callsites:
    - Src: "ch.qos.logback.core.FileAppender:143,1"
      Dst: "[ch.qos.logback.core.UnsynchronizedAppenderBase].isStarted()"
    - Src: "ch.qos.logback.core.FileAppender:146,1"
      Dst: "[ch.qos.logback.core.OutputStreamAppender].stop()"
    - Src: "ch.qos.logback.core.FileAppender:148,1"
      Dst: "[ch.qos.logback.core.util.ContextUtil].getFilenameCollisionMap(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.FileAppender:149,1"
      Dst: "[ch.qos.logback.core.UnsynchronizedAppenderBase].getName()"
    - Src: "ch.qos.logback.core.FileAppender:152,1"
      Dst: "[java.util.Map].remove(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.OutputStreamAppender].stop()"
    functionSourceFile: "ch.qos.logback.core.OutputStreamAppender"
    linkageType: null
    functionLinenumber: 111
    functionDepth: 4
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.UnsynchronizedAppenderBase].isStarted()"
    - "[ch.qos.logback.core.OutputStreamAppender].closeOutputStream()"
    - "[ch.qos.logback.core.UnsynchronizedAppenderBase].stop()"
    - "[java.util.concurrent.locks.ReentrantLock].lock()"
    - "[java.util.concurrent.locks.ReentrantLock].unlock()"
    functionUses: 5
    ICount: 16
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.OutputStreamAppender:112"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:115"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:114"
        BranchSideFuncs:
        - "closeOutputStream()"
        - "stop()"
    Callsites:
    - Src: "ch.qos.logback.core.OutputStreamAppender:112,1"
      Dst: "[ch.qos.logback.core.UnsynchronizedAppenderBase].isStarted()"
    - Src: "ch.qos.logback.core.OutputStreamAppender:115,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].lock()"
    - Src: "ch.qos.logback.core.OutputStreamAppender:117,1"
      Dst: "[ch.qos.logback.core.OutputStreamAppender].closeOutputStream()"
    - Src: "ch.qos.logback.core.OutputStreamAppender:118,1"
      Dst: "[ch.qos.logback.core.UnsynchronizedAppenderBase].stop()"
    - Src: "ch.qos.logback.core.OutputStreamAppender:120,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].unlock()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.OutputStreamAppender].closeOutputStream()"
    functionSourceFile: "ch.qos.logback.core.OutputStreamAppender"
    linkageType: null
    functionLinenumber: 127
    functionDepth: 3
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.OutputStreamAppender].encoderClose()"
    - "[ch.qos.logback.core.testUtil.XTeeOutputStream].close()"
    - "[ch.qos.logback.core.recovery.ResilientOutputStreamBase].close()"
    - "[ch.qos.logback.core.net.SyslogOutputStream].close()"
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[java.io.OutputStream].close()"
    functionUses: 3
    ICount: 13
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.OutputStreamAppender:128"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:137"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.OutputStreamAppender:131,1"
      Dst: "[ch.qos.logback.core.OutputStreamAppender].encoderClose()"
    - Src: "ch.qos.logback.core.OutputStreamAppender:132,1"
      Dst: "[java.io.OutputStream].close()"
    - Src: "ch.qos.logback.core.OutputStreamAppender:135,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.OutputStreamAppender:135,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.ContextUtil].getFilenameCollisionMap(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.util.ContextUtil"
    linkageType: null
    functionLinenumber: 49
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getObject(java.lang.String)"
    - "[ch.qos.logback.core.Context].getObject(java.lang.String)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.ContextUtil:50"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.ContextUtil:53"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.ContextUtil:52"
        BranchSideFuncs:
        - "getObject(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.util.ContextUtil:53,1"
      Dst: "[ch.qos.logback.core.Context].getObject(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.ContextUtil].getFilenamePatternCollisionMap(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.util.ContextUtil"
    linkageType: null
    functionLinenumber: 57
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getObject(java.lang.String)"
    - "[ch.qos.logback.core.Context].getObject(java.lang.String)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.ContextUtil:58"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.ContextUtil:62"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.ContextUtil:61"
        BranchSideFuncs:
        - "getObject(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.util.ContextUtil:62,1"
      Dst: "[ch.qos.logback.core.Context].getObject(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.RollingFileAppender].setFile(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.RollingFileAppender"
    linkageType: null
    functionLinenumber: 173
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.FileAppender].setFile(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 13
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.RollingFileAppender:174"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:178"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:177"
        BranchSideFuncs:
        - "setFile(java.lang.String)"
    - Branch String: "ch.qos.logback.core.rolling.RollingFileAppender:174"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:175"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:174"
        BranchSideFuncs:
        - "addError(java.lang.String)"
    - Branch String: "ch.qos.logback.core.rolling.RollingFileAppender:174"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:178"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:177"
        BranchSideFuncs:
        - "setFile(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:175,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:176,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:178,1"
      Dst: "[ch.qos.logback.core.FileAppender].setFile(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.rolling.RollingFileAppender].getFile()"
    functionSourceFile: "ch.qos.logback.core.rolling.RollingFileAppender"
    linkageType: null
    functionLinenumber: 182
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.FixedWindowRollingPolicy].getActiveFileName()"
    - "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].getActiveFileName()"
    - "[ch.qos.logback.core.rolling.RollingPolicy].getActiveFileName()"
    functionUses: 4
    ICount: 4
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:183,1"
      Dst: "[ch.qos.logback.core.rolling.RollingPolicy].getActiveFileName()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.RollingFileAppender].rollover()"
    functionSourceFile: "ch.qos.logback.core.rolling.RollingFileAppender"
    linkageType: null
    functionLinenumber: 189
    functionDepth: 7
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.OutputStreamAppender].closeOutputStream()"
    - "[ch.qos.logback.core.rolling.RollingFileAppender].attemptRollover()"
    - "[ch.qos.logback.core.rolling.RollingFileAppender].attemptOpenFile()"
    - "[java.util.concurrent.locks.ReentrantLock].lock()"
    - "[java.util.concurrent.locks.ReentrantLock].unlock()"
    functionUses: 1
    ICount: 14
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:190,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].lock()"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:197,1"
      Dst: "[ch.qos.logback.core.OutputStreamAppender].closeOutputStream()"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:198,1"
      Dst: "[ch.qos.logback.core.rolling.RollingFileAppender].attemptRollover()"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:199,1"
      Dst: "[ch.qos.logback.core.rolling.RollingFileAppender].attemptOpenFile()"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:201,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].unlock()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.OutputStreamAppender].closeOutputStream()"
    functionSourceFile: "ch.qos.logback.core.OutputStreamAppender"
    linkageType: null
    functionLinenumber: 127
    functionDepth: 3
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.OutputStreamAppender].encoderClose()"
    - "[ch.qos.logback.core.testUtil.XTeeOutputStream].close()"
    - "[ch.qos.logback.core.recovery.ResilientOutputStreamBase].close()"
    - "[ch.qos.logback.core.net.SyslogOutputStream].close()"
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[java.io.OutputStream].close()"
    functionUses: 3
    ICount: 13
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.OutputStreamAppender:128"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:137"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.OutputStreamAppender:131,1"
      Dst: "[ch.qos.logback.core.OutputStreamAppender].encoderClose()"
    - Src: "ch.qos.logback.core.OutputStreamAppender:132,1"
      Dst: "[java.io.OutputStream].close()"
    - Src: "ch.qos.logback.core.OutputStreamAppender:135,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.OutputStreamAppender:135,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.rolling.RollingFileAppender].attemptRollover()"
    functionSourceFile: "ch.qos.logback.core.rolling.RollingFileAppender"
    linkageType: null
    functionLinenumber: 219
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].rollover()"
    - "[ch.qos.logback.core.rolling.FixedWindowRollingPolicy].rollover()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.rolling.RollingPolicy].rollover()"
    functionUses: 1
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:220,1"
      Dst: "[ch.qos.logback.core.rolling.RollingPolicy].rollover()"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:222,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 96
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.RollingFileAppender].attemptOpenFile()"
    functionSourceFile: "ch.qos.logback.core.rolling.RollingFileAppender"
    linkageType: null
    functionLinenumber: 207
    functionDepth: 6
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].getActiveFileName()"
    - "[ch.qos.logback.core.rolling.FixedWindowRollingPolicy].getActiveFileName()"
    - "[ch.qos.logback.core.FileAppender].openFile(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.rolling.RollingPolicy].getActiveFileName()"
    - "[java.io.File].<init>(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 15
    EdgeCount: 6
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:208,1"
      Dst: "[ch.qos.logback.core.rolling.RollingPolicy].getActiveFileName()"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:208,1"
      Dst: "[java.io.File].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:212,1"
      Dst: "[ch.qos.logback.core.FileAppender].openFile(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:214,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:214,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.FileAppender].openFile(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.FileAppender"
    linkageType: null
    functionLinenumber: 197
    functionDepth: 5
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.FileUtil].createMissingParentDirectories(java.io.File)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.recovery.ResilientFileOutputStream].<init>(java.io.File,boolean,long)"
    - "[ch.qos.logback.core.util.FileSize].getSize()"
    - "[ch.qos.logback.core.recovery.ResilientOutputStreamBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.OutputStreamAppender].setOutputStream(java.io.OutputStream)"
    - "[java.util.concurrent.locks.ReentrantLock].lock()"
    - "[java.io.File].<init>(java.lang.String)"
    - "[java.io.File].getAbsolutePath()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.util.concurrent.locks.ReentrantLock].unlock()"
    functionUses: 2
    ICount: 27
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.FileAppender:202"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.FileAppender:206"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.FileAppender:205"
        BranchSideFuncs:
        - "setOutputStream(java.io.OutputStream)"
        - "setContext(ch.qos.logback.core.Context)"
        - "<init>(java.io.File,boolean,long)"
        - "getSize()"
    Callsites:
    - Src: "ch.qos.logback.core.FileAppender:198,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].lock()"
    - Src: "ch.qos.logback.core.FileAppender:200,1"
      Dst: "[java.io.File].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.FileAppender:201,1"
      Dst: "[ch.qos.logback.core.util.FileUtil].createMissingParentDirectories(java.io.File)"
    - Src: "ch.qos.logback.core.FileAppender:203,1"
      Dst: "[java.io.File].getAbsolutePath()"
    - Src: "ch.qos.logback.core.FileAppender:203,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.FileAppender:203,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.FileAppender:206,1"
      Dst: "[ch.qos.logback.core.util.FileSize].getSize()"
    - Src: "ch.qos.logback.core.FileAppender:206,1"
      Dst: "[ch.qos.logback.core.recovery.ResilientFileOutputStream].<init>(java.io.File,boolean,long)"
    - Src: "ch.qos.logback.core.FileAppender:207,1"
      Dst: "[ch.qos.logback.core.recovery.ResilientOutputStreamBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.FileAppender:208,1"
      Dst: "[ch.qos.logback.core.OutputStreamAppender].setOutputStream(java.io.OutputStream)"
    - Src: "ch.qos.logback.core.FileAppender:210,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].unlock()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 74
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.RollingFileAppender].attemptOpenFile()"
    functionSourceFile: "ch.qos.logback.core.rolling.RollingFileAppender"
    linkageType: null
    functionLinenumber: 207
    functionDepth: 6
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].getActiveFileName()"
    - "[ch.qos.logback.core.rolling.FixedWindowRollingPolicy].getActiveFileName()"
    - "[ch.qos.logback.core.FileAppender].openFile(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.rolling.RollingPolicy].getActiveFileName()"
    - "[java.io.File].<init>(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 15
    EdgeCount: 6
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:208,1"
      Dst: "[ch.qos.logback.core.rolling.RollingPolicy].getActiveFileName()"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:208,1"
      Dst: "[java.io.File].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:212,1"
      Dst: "[ch.qos.logback.core.FileAppender].openFile(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:214,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:214,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.RollingFileAppender].attemptRollover()"
    functionSourceFile: "ch.qos.logback.core.rolling.RollingFileAppender"
    linkageType: null
    functionLinenumber: 219
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].rollover()"
    - "[ch.qos.logback.core.rolling.FixedWindowRollingPolicy].rollover()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.rolling.RollingPolicy].rollover()"
    functionUses: 1
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:220,1"
      Dst: "[ch.qos.logback.core.rolling.RollingPolicy].rollover()"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:222,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.RollingFileAppender].subAppend(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.rolling.RollingFileAppender"
    linkageType: null
    functionLinenumber: 242
    functionDepth: 8
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy].isTriggeringEvent(java.io.File,java.lang.Object)"
    - "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP].isTriggeringEvent(java.io.File,java.lang.Object)"
    - "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].isTriggeringEvent(java.io.File,java.lang.Object)"
    - "[ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy].isTriggeringEvent(java.io.File,java.lang.Object)"
    - "[ch.qos.logback.core.rolling.RollingFileAppender].rollover()"
    - "[ch.qos.logback.core.OutputStreamAppender].subAppend(java.lang.Object)"
    - "[java.util.concurrent.locks.Lock].lock()"
    - "[ch.qos.logback.core.rolling.TriggeringPolicy].isTriggeringEvent(java.io.File,java.lang.Object)"
    - "[java.util.concurrent.locks.Lock].unlock()"
    functionUses: 1
    ICount: 18
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.RollingFileAppender:245"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:249"
        BranchSideFuncs:
        - "rollover()"
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:248"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:243,1"
      Dst: "[java.util.concurrent.locks.Lock].lock()"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:245,1"
      Dst: "[ch.qos.logback.core.rolling.TriggeringPolicy].isTriggeringEvent(java.io.File,java.lang.Object)"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:246,1"
      Dst: "[ch.qos.logback.core.rolling.RollingFileAppender].rollover()"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:249,1"
      Dst: "[java.util.concurrent.locks.Lock].unlock()"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:253,1"
      Dst: "[ch.qos.logback.core.OutputStreamAppender].subAppend(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.RollingFileAppender].rollover()"
    functionSourceFile: "ch.qos.logback.core.rolling.RollingFileAppender"
    linkageType: null
    functionLinenumber: 189
    functionDepth: 7
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.OutputStreamAppender].closeOutputStream()"
    - "[ch.qos.logback.core.rolling.RollingFileAppender].attemptRollover()"
    - "[ch.qos.logback.core.rolling.RollingFileAppender].attemptOpenFile()"
    - "[java.util.concurrent.locks.ReentrantLock].lock()"
    - "[java.util.concurrent.locks.ReentrantLock].unlock()"
    functionUses: 1
    ICount: 14
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:190,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].lock()"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:197,1"
      Dst: "[ch.qos.logback.core.OutputStreamAppender].closeOutputStream()"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:198,1"
      Dst: "[ch.qos.logback.core.rolling.RollingFileAppender].attemptRollover()"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:199,1"
      Dst: "[ch.qos.logback.core.rolling.RollingFileAppender].attemptOpenFile()"
    - Src: "ch.qos.logback.core.rolling.RollingFileAppender:201,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].unlock()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.OutputStreamAppender].subAppend(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.OutputStreamAppender"
    linkageType: null
    functionLinenumber: 228
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.UnsynchronizedAppenderBase].isStarted()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].prepareForDeferredProcessing()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].prepareForDeferredProcessing()"
    - "[ch.qos.logback.core.OutputStreamAppender].writeOut(java.lang.Object)"
    - "[ch.qos.logback.core.FileAppender].writeOut(java.lang.Object)"
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.DeferredProcessingAware].prepareForDeferredProcessing()"
    functionUses: 2
    ICount: 17
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.OutputStreamAppender:229"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:234"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:233"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.OutputStreamAppender:234"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:237"
        BranchSideFuncs:
        - "prepareForDeferredProcessing()"
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:236"
        BranchSideFuncs:
        - "<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
        - "addStatus(ch.qos.logback.core.status.Status)"
        - "writeOut(java.lang.Object)"
    Callsites:
    - Src: "ch.qos.logback.core.OutputStreamAppender:229,1"
      Dst: "[ch.qos.logback.core.UnsynchronizedAppenderBase].isStarted()"
    - Src: "ch.qos.logback.core.OutputStreamAppender:235,1"
      Dst: "[ch.qos.logback.core.spi.DeferredProcessingAware].prepareForDeferredProcessing()"
    - Src: "ch.qos.logback.core.OutputStreamAppender:237,1"
      Dst: "[ch.qos.logback.core.OutputStreamAppender].writeOut(java.lang.Object)"
    - Src: "ch.qos.logback.core.OutputStreamAppender:243,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.OutputStreamAppender:243,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.OutputStreamAppender].writeOut(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.OutputStreamAppender"
    linkageType: null
    functionLinenumber: 191
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.testUtil.DummyEncoder].encode(java.lang.Object)"
    - "[ch.qos.logback.core.encoder.EchoEncoder].encode(java.lang.Object)"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].encode(java.lang.Object)"
    - "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].encode(java.lang.Object)"
    - "[ch.qos.logback.core.OutputStreamAppender].writeBytes(byte[])"
    - "[ch.qos.logback.core.encoder.Encoder].encode(java.lang.Object)"
    functionUses: 2
    ICount: 6
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.OutputStreamAppender:192,1"
      Dst: "[ch.qos.logback.core.encoder.Encoder].encode(java.lang.Object)"
    - Src: "ch.qos.logback.core.OutputStreamAppender:193,1"
      Dst: "[ch.qos.logback.core.OutputStreamAppender].writeBytes(byte[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.OutputStreamAppender].writeBytes(byte[])"
    functionSourceFile: "ch.qos.logback.core.OutputStreamAppender"
    linkageType: null
    functionLinenumber: 196
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.OutputStreamAppender].writeByteArrayToOutputStreamWithPossibleFlush(byte[])"
    - "[java.util.concurrent.locks.ReentrantLock].lock()"
    - "[java.util.concurrent.locks.ReentrantLock].unlock()"
    functionUses: 3
    ICount: 17
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.OutputStreamAppender:197"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:198"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:197"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.OutputStreamAppender:197"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:200"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:199"
        BranchSideFuncs:
        - "writeByteArrayToOutputStreamWithPossibleFlush(byte[])"
    Callsites:
    - Src: "ch.qos.logback.core.OutputStreamAppender:200,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].lock()"
    - Src: "ch.qos.logback.core.OutputStreamAppender:202,1"
      Dst: "[ch.qos.logback.core.OutputStreamAppender].writeByteArrayToOutputStreamWithPossibleFlush(byte[])"
    - Src: "ch.qos.logback.core.OutputStreamAppender:204,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].unlock()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.status.ErrorStatus"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionUses: 14
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.ErrorStatus:23,1"
      Dst: "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 71
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.status.Status"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - "[ch.qos.logback.core.BasicStatusManager].add(ch.qos.logback.core.status.Status)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.ContextAwareBase)"
    - "[java.io.PrintStream].println(java.lang.String)"
    - "[ch.qos.logback.core.Context].getStatusManager()"
    - "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    functionUses: 24
    ICount: 17
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:78"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:77"
        BranchSideFuncs:
        - "getStatusManager()"
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:73"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:76"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:75"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:79"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:82"
        BranchSideFuncs:
        - "add(ch.qos.logback.core.status.Status)"
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:81"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:74,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.ContextAwareBase)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:74,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:78,1"
      Dst: "[ch.qos.logback.core.Context].getStatusManager()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:80,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.rolling.RollingFileAppender].getRollingPolicy()"
    functionSourceFile: "ch.qos.logback.core.rolling.RollingFileAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.core.rolling.RollingPolicy"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.RollingFileAppender].getTriggeringPolicy()"
    functionSourceFile: "ch.qos.logback.core.rolling.RollingFileAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.core.rolling.TriggeringPolicy"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.RollingFileAppender].setRollingPolicy(ch.qos.logback.core.rolling.RollingPolicy)"
    functionSourceFile: "ch.qos.logback.core.rolling.RollingFileAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.rolling.RollingPolicy"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.RollingFileAppender:274"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:278"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:277"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.rolling.RollingFileAppender].setTriggeringPolicy(ch.qos.logback.core.rolling.TriggeringPolicy)"
    functionSourceFile: "ch.qos.logback.core.rolling.RollingFileAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.rolling.TriggeringPolicy"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.RollingFileAppender:282"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:285"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.RollingFileAppender:284"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.BasicConfigurator].<init>()"
    functionSourceFile: "ch.qos.logback.classic.BasicConfigurator"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.BasicConfigurator:35,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.BasicConfigurator].configure(ch.qos.logback.classic.LoggerContext)"
    functionSourceFile: "ch.qos.logback.classic.BasicConfigurator"
    linkageType: null
    functionLinenumber: 38
    functionDepth: 6
    returnType: "ch.qos.logback.classic.spi.Configurator$ExecutionStatus"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.LoggerContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.ConsoleAppender].<init>()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.UnsynchronizedAppenderBase].setName(java.lang.String)"
    - "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].<init>()"
    - "[ch.qos.logback.classic.layout.TTLLLayout].<init>()"
    - "[ch.qos.logback.core.LayoutBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.classic.layout.TTLLLayout].start()"
    - "[ch.qos.logback.core.pattern.PatternLayoutEncoderBase].setLayout(ch.qos.logback.core.Layout)"
    - "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].setLayout(ch.qos.logback.core.Layout)"
    - "[ch.qos.logback.core.OutputStreamAppender].setEncoder(ch.qos.logback.core.encoder.Encoder)"
    - "[ch.qos.logback.core.ConsoleAppender].start()"
    - "[ch.qos.logback.classic.LoggerContext].getLogger(java.lang.String)"
    - "[ch.qos.logback.classic.Logger].addAppender(ch.qos.logback.core.Appender)"
    functionUses: 1
    ICount: 24
    EdgeCount: 15
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.BasicConfigurator:39,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.classic.BasicConfigurator:41,1"
      Dst: "[ch.qos.logback.core.ConsoleAppender].<init>()"
    - Src: "ch.qos.logback.classic.BasicConfigurator:42,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.BasicConfigurator:43,1"
      Dst: "[ch.qos.logback.core.UnsynchronizedAppenderBase].setName(java.lang.String)"
    - Src: "ch.qos.logback.classic.BasicConfigurator:44,1"
      Dst: "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].<init>()"
    - Src: "ch.qos.logback.classic.BasicConfigurator:51,1"
      Dst: "[ch.qos.logback.classic.layout.TTLLLayout].<init>()"
    - Src: "ch.qos.logback.classic.BasicConfigurator:53,1"
      Dst: "[ch.qos.logback.core.LayoutBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.BasicConfigurator:54,1"
      Dst: "[ch.qos.logback.classic.layout.TTLLLayout].start()"
    - Src: "ch.qos.logback.classic.BasicConfigurator:55,1"
      Dst: "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].setLayout(ch.qos.logback.core.Layout)"
    - Src: "ch.qos.logback.classic.BasicConfigurator:57,1"
      Dst: "[ch.qos.logback.core.OutputStreamAppender].setEncoder(ch.qos.logback.core.encoder.Encoder)"
    - Src: "ch.qos.logback.classic.BasicConfigurator:58,1"
      Dst: "[ch.qos.logback.core.ConsoleAppender].start()"
    - Src: "ch.qos.logback.classic.BasicConfigurator:60,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getLogger(java.lang.String)"
    - Src: "ch.qos.logback.classic.BasicConfigurator:61,1"
      Dst: "[ch.qos.logback.classic.Logger].addAppender(ch.qos.logback.core.Appender)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ConsoleAppender].<init>()"
    functionSourceFile: "ch.qos.logback.core.ConsoleAppender"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.OutputStreamAppender].<init>()"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ConsoleAppender:44,1"
      Dst: "[ch.qos.logback.core.OutputStreamAppender].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.OutputStreamAppender].<init>()"
    functionSourceFile: "ch.qos.logback.core.OutputStreamAppender"
    linkageType: null
    functionLinenumber: 35
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.UnsynchronizedAppenderBase].<init>()"
    - "[java.util.concurrent.locks.ReentrantLock].<init>(boolean)"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.OutputStreamAppender:36,1"
      Dst: "[ch.qos.logback.core.UnsynchronizedAppenderBase].<init>()"
    - Src: "ch.qos.logback.core.OutputStreamAppender:47,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].<init>(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 67
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:45"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:44"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:47"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:46,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].<init>()"
    functionSourceFile: "ch.qos.logback.core.encoder.LayoutWrappingEncoder"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.encoder.EncoderBase].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:23,1"
      Dst: "[ch.qos.logback.core.encoder.EncoderBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.layout.TTLLLayout].<init>()"
    functionSourceFile: "ch.qos.logback.classic.layout.TTLLLayout"
    linkageType: null
    functionLinenumber: 37
    functionDepth: 4
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.LayoutBase].<init>()"
    - "[ch.qos.logback.core.util.CachingDateFormatter].<init>(java.lang.String)"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].<init>()"
    functionUses: 1
    ICount: 9
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:38,1"
      Dst: "[ch.qos.logback.core.LayoutBase].<init>()"
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:40,1"
      Dst: "[ch.qos.logback.core.util.CachingDateFormatter].<init>(java.lang.String)"
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:41,1"
      Dst: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.CachingDateFormatter].<init>(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.CachingDateFormatter"
    linkageType: null
    functionLinenumber: 47
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.CachingDateFormatter].<init>(java.lang.String,java.time.ZoneId)"
    functionUses: 3
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:48,1"
      Dst: "[ch.qos.logback.core.util.CachingDateFormatter].<init>(java.lang.String,java.time.ZoneId)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.CachingDateFormatter].<init>(java.lang.String,java.time.ZoneId)"
    functionSourceFile: "ch.qos.logback.core.util.CachingDateFormatter"
    linkageType: null
    functionLinenumber: 51
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.time.ZoneId"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.CachingDateFormatter].<init>(java.lang.String,java.time.ZoneId,java.util.Locale)"
    functionUses: 3
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:52,1"
      Dst: "[ch.qos.logback.core.util.CachingDateFormatter].<init>(java.lang.String,java.time.ZoneId,java.util.Locale)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.CachingDateFormatter].<init>(java.lang.String,java.time.ZoneId,java.util.Locale)"
    functionSourceFile: "ch.qos.logback.core.util.CachingDateFormatter"
    linkageType: null
    functionLinenumber: 54
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.time.ZoneId"
    - "java.util.Locale"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.CachingDateFormatter$CacheTuple].<init>(long,java.lang.String)"
    - "[java.lang.Object].<init>()"
    - "[java.time.ZoneId].systemDefault()"
    - "[java.util.Locale].getDefault()"
    - "[java.time.format.DateTimeFormatter].ofPattern(java.lang.String)"
    - "[java.time.format.DateTimeFormatter].withZone(java.time.ZoneId)"
    - "[java.time.format.DateTimeFormatter].withLocale(java.util.Locale)"
    - "[java.util.concurrent.atomic.AtomicReference].<init>(java.lang.Object)"
    functionUses: 2
    ICount: 25
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.CachingDateFormatter:56"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.CachingDateFormatter:59"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.CachingDateFormatter:58"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.CachingDateFormatter:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.CachingDateFormatter:60"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:55,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:57,1"
      Dst: "[java.time.ZoneId].systemDefault()"
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:61,1"
      Dst: "[java.util.Locale].getDefault()"
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:63,1"
      Dst: "[java.time.format.DateTimeFormatter].ofPattern(java.lang.String)"
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:63,1"
      Dst: "[java.time.format.DateTimeFormatter].withZone(java.time.ZoneId)"
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:63,1"
      Dst: "[java.time.format.DateTimeFormatter].withLocale(java.util.Locale)"
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:64,1"
      Dst: "[ch.qos.logback.core.util.CachingDateFormatter$CacheTuple].<init>(long,java.lang.String)"
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:65,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].<init>(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.util.CachingDateFormatter$CacheTuple].<init>(long,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.CachingDateFormatter$CacheTuple"
    linkageType: null
    functionLinenumber: 40
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "long"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 2
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.CachingDateFormatter$CacheTuple:41,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].<init>()"
    functionSourceFile: "ch.qos.logback.classic.pattern.ThrowableProxyConverter"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.ThrowableHandlingConverter].<init>()"
    functionUses: 3
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:35,1"
      Dst: "[ch.qos.logback.classic.pattern.ThrowableHandlingConverter].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.layout.TTLLLayout].start()"
    functionSourceFile: "ch.qos.logback.classic.layout.TTLLLayout"
    linkageType: null
    functionLinenumber: 44
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].start()"
    - "[ch.qos.logback.core.LayoutBase].start()"
    functionUses: 6
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:45,1"
      Dst: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].start()"
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:46,1"
      Dst: "[ch.qos.logback.core.LayoutBase].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].start()"
    functionSourceFile: "ch.qos.logback.classic.pattern.ThrowableProxyConverter"
    linkageType: null
    functionLinenumber: 47
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.DynamicConverter].getFirstOption()"
    - "[ch.qos.logback.core.pattern.DynamicConverter].addError(java.lang.String)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].getOptionList()"
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.util.COWArrayList].get(int)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].getContext()"
    - "[ch.qos.logback.core.ContextBase].getObject(java.lang.String)"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].addEvaluator(ch.qos.logback.core.boolex.EventEvaluator)"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].addIgnoreStackTraceLine(java.lang.String)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].start()"
    - "[java.lang.String].toLowerCase()"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.lang.Integer].parseInt(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    - "[ch.qos.logback.core.Context].getObject(java.lang.String)"
    - "[java.util.Map].get(java.lang.Object)"
    functionUses: 7
    ICount: 45
    EdgeCount: 11
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:50"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:53"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:52"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:54"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:56"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:55"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:56"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:60"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:59"
        BranchSideFuncs:
        - "addError(java.lang.String)"
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:70"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:86"
        BranchSideFuncs:
        - "size()"
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:85"
        BranchSideFuncs:
        - "start()"
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:70"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:86"
        BranchSideFuncs:
        - "size()"
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:85"
        BranchSideFuncs:
        - "start()"
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:86"
        BranchSideFuncs:
        - "getContext()"
        - "get(int)"
        - "getObject(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:85"
        BranchSideFuncs:
        - "start()"
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:79"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:82"
        BranchSideFuncs:
        - "addEvaluator(ch.qos.logback.core.boolex.EventEvaluator)"
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:81"
        BranchSideFuncs:
        - "addIgnoreStackTraceLine(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:48,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].getFirstOption()"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:53,1"
      Dst: "[java.lang.String].toLowerCase()"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:54,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:60,1"
      Dst: "[java.lang.Integer].parseInt(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:62,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:62,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].addError(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:68,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].getOptionList()"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:70,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:73,1"
      Dst: "[java.util.List].get(int)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:74,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].getContext()"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:76,1"
      Dst: "[ch.qos.logback.core.Context].getObject(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:78,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:80,1"
      Dst: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].addEvaluator(ch.qos.logback.core.boolex.EventEvaluator)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:82,1"
      Dst: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].addIgnoreStackTraceLine(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:86,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 17
    CyclomaticComplexity: 8
  - functionName: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].addEvaluator(ch.qos.logback.core.boolex.EventEvaluator)"
    functionSourceFile: "ch.qos.logback.classic.pattern.ThrowableProxyConverter"
    linkageType: null
    functionLinenumber: 89
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.boolex.EventEvaluator"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.util.ArrayList].<init>()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 10
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:90"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:93"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:92"
        BranchSideFuncs:
        - "add(java.lang.Object)"
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:91,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:93,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].addIgnoreStackTraceLine(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.pattern.ThrowableProxyConverter"
    linkageType: null
    functionLinenumber: 96
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.util.ArrayList].<init>()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 10
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:97"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:100"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:99"
        BranchSideFuncs:
        - "add(java.lang.Object)"
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:98,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:100,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].setLayout(ch.qos.logback.core.Layout)"
    functionSourceFile: "ch.qos.logback.core.encoder.LayoutWrappingEncoder"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Layout"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.OutputStreamAppender].setEncoder(ch.qos.logback.core.encoder.Encoder)"
    functionSourceFile: "ch.qos.logback.core.OutputStreamAppender"
    linkageType: null
    functionLinenumber: 251
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.encoder.Encoder"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ConsoleAppender].start()"
    functionSourceFile: "ch.qos.logback.core.ConsoleAppender"
    linkageType: null
    functionLinenumber: 87
    functionDepth: 5
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ConsoleTarget].getStream()"
    - "[ch.qos.logback.core.ConsoleAppender].wrapWithJansi(java.io.OutputStream)"
    - "[ch.qos.logback.core.OutputStreamAppender].setOutputStream(java.io.OutputStream)"
    - "[ch.qos.logback.core.OutputStreamAppender].start()"
    functionUses: 7
    ICount: 10
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.ConsoleAppender:90"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.ConsoleAppender:93"
        BranchSideFuncs:
        - "wrapWithJansi(java.io.OutputStream)"
      - BranchSide: "ch.qos.logback.core.ConsoleAppender:92"
        BranchSideFuncs:
        - "setOutputStream(java.io.OutputStream)"
        - "start()"
    Callsites:
    - Src: "ch.qos.logback.core.ConsoleAppender:88,1"
      Dst: "[ch.qos.logback.core.joran.spi.ConsoleTarget].getStream()"
    - Src: "ch.qos.logback.core.ConsoleAppender:91,1"
      Dst: "[ch.qos.logback.core.ConsoleAppender].wrapWithJansi(java.io.OutputStream)"
    - Src: "ch.qos.logback.core.ConsoleAppender:93,1"
      Dst: "[ch.qos.logback.core.OutputStreamAppender].setOutputStream(java.io.OutputStream)"
    - Src: "ch.qos.logback.core.ConsoleAppender:94,1"
      Dst: "[ch.qos.logback.core.OutputStreamAppender].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.spi.ConsoleTarget].getStream()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ConsoleTarget"
    linkageType: null
    functionLinenumber: 96
    functionDepth: 0
    returnType: "java.io.OutputStream"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ConsoleAppender].wrapWithJansi(java.io.OutputStream)"
    functionSourceFile: "ch.qos.logback.core.ConsoleAppender"
    linkageType: null
    functionLinenumber: 98
    functionDepth: 3
    returnType: "java.io.OutputStream"
    argCount: 1
    argTypes:
    - "java.io.OutputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.util.Loader].getClassLoaderOfObject(java.lang.Object)"
    - "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_0__87].bootstrap$(java.lang.String)"
    - "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_1__88].bootstrap$()"
    - "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_2__89].bootstrap$()"
    - "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_3__90].bootstrap$()"
    - "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_4__91].bootstrap$()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String,java.lang.Throwable)"
    - "[java.lang.ClassLoader].loadClass(java.lang.String)"
    - "[java.lang.Class].getMethods()"
    - "[java.util.Arrays].stream(java.lang.Object[])"
    - "[java.util.stream.Stream].filter(java.util.function.Predicate)"
    - "[java.util.stream.Stream].findAny()"
    - "[java.util.Optional].isPresent()"
    - "[java.util.Optional].orElseThrow(java.util.function.Supplier)"
    - "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    - "[java.lang.Class].getMethod(java.lang.String,java.lang.Class[])"
    - "[java.io.PrintStream].<init>(java.io.OutputStream)"
    functionUses: 1
    ICount: 50
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.ConsoleAppender:104"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.ConsoleAppender:98"
        BranchSideFuncs:
        - "getClassLoaderOfObject(java.lang.Object)"
        - "addInfo(java.lang.String)"
    - Branch String: "ch.qos.logback.core.ConsoleAppender:112"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.ConsoleAppender:118"
        BranchSideFuncs:
        - "bootstrap$()"
      - BranchSide: "ch.qos.logback.core.ConsoleAppender:117"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.ConsoleAppender:118"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.ConsoleAppender:118"
        BranchSideFuncs:
        - "bootstrap$()"
        - "addWarn(java.lang.String,java.lang.Throwable)"
      - BranchSide: "ch.qos.logback.core.ConsoleAppender:117"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.ConsoleAppender:99,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.ConsoleAppender:100,1"
      Dst: "[ch.qos.logback.core.util.Loader].getClassLoaderOfObject(java.lang.Object)"
    - Src: "ch.qos.logback.core.ConsoleAppender:101,1"
      Dst: "[java.lang.ClassLoader].loadClass(java.lang.String)"
    - Src: "ch.qos.logback.core.ConsoleAppender:106,1"
      Dst: "[java.lang.Class].getMethods()"
    - Src: "ch.qos.logback.core.ConsoleAppender:106,1"
      Dst: "[java.util.Arrays].stream(java.lang.Object[])"
    - Src: "ch.qos.logback.core.ConsoleAppender:106,1"
      Dst: "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_0__87].bootstrap$(java.lang.String)"
    - Src: "ch.qos.logback.core.ConsoleAppender:107,1"
      Dst: "[java.util.stream.Stream].filter(java.util.function.Predicate)"
    - Src: "ch.qos.logback.core.ConsoleAppender:107,1"
      Dst: "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_1__88].bootstrap$()"
    - Src: "ch.qos.logback.core.ConsoleAppender:108,1"
      Dst: "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_2__89].bootstrap$()"
    - Src: "ch.qos.logback.core.ConsoleAppender:109,1"
      Dst: "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_3__90].bootstrap$()"
    - Src: "ch.qos.logback.core.ConsoleAppender:111,1"
      Dst: "[java.util.stream.Stream].findAny()"
    - Src: "ch.qos.logback.core.ConsoleAppender:112,1"
      Dst: "[java.util.Optional].isPresent()"
    - Src: "ch.qos.logback.core.ConsoleAppender:113,1"
      Dst: "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_4__91].bootstrap$()"
    - Src: "ch.qos.logback.core.ConsoleAppender:113,1"
      Dst: "[java.util.Optional].orElseThrow(java.util.function.Supplier)"
    - Src: "ch.qos.logback.core.ConsoleAppender:114,1"
      Dst: "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    - Src: "ch.qos.logback.core.ConsoleAppender:120,1"
      Dst: "[java.lang.Class].getMethod(java.lang.String,java.lang.Class[])"
    - Src: "ch.qos.logback.core.ConsoleAppender:121,1"
      Dst: "[java.io.PrintStream].<init>(java.io.OutputStream)"
    - Src: "ch.qos.logback.core.ConsoleAppender:123,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.Loader].getClassLoaderOfObject(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.util.Loader"
    linkageType: null
    functionLinenumber: 142
    functionDepth: 2
    returnType: "java.lang.ClassLoader"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].getClassLoaderOfClass(java.lang.Class)"
    - "[java.lang.NullPointerException].<init>(java.lang.String)"
    - "[java.lang.Object].getClass()"
    functionUses: 5
    ICount: 8
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.Loader:143"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.Loader:146"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.Loader:145"
        BranchSideFuncs:
        - "getClassLoaderOfClass(java.lang.Class)"
    Callsites:
    - Src: "ch.qos.logback.core.util.Loader:144,1"
      Dst: "[java.lang.NullPointerException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.util.Loader:146,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.util.Loader:146,1"
      Dst: "[ch.qos.logback.core.util.Loader].getClassLoaderOfClass(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.Loader].getClassLoaderOfClass(java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.util.Loader"
    linkageType: null
    functionLinenumber: 173
    functionDepth: 1
    returnType: "java.lang.ClassLoader"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].systemClassloaderIfNull(java.lang.ClassLoader)"
    - "[java.lang.Class].getClassLoader()"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.Loader:174,1"
      Dst: "[java.lang.Class].getClassLoader()"
    - Src: "ch.qos.logback.core.util.Loader:175,1"
      Dst: "[ch.qos.logback.core.util.Loader].systemClassloaderIfNull(java.lang.ClassLoader)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_0__87].bootstrap$(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_0__87"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Predicate"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_0__87].<init>(java.lang.String)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_0__87:-1,1"
      Dst: "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_0__87].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_0__87].<init>(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_0__87"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_0__87:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_1__88].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_1__88"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Predicate"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_1__88].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_1__88:-1,1"
      Dst: "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_1__88].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_1__88].<init>()"
    functionSourceFile: "ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_1__88"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_1__88:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_2__89].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_2__89"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Predicate"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_2__89].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_2__89:-1,1"
      Dst: "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_2__89].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_2__89].<init>()"
    functionSourceFile: "ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_2__89"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_2__89:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_3__90].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_3__90"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Predicate"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_3__90].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_3__90:-1,1"
      Dst: "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_3__90].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_3__90].<init>()"
    functionSourceFile: "ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_3__90"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_3__90:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_4__91].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_4__91"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_4__91].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_4__91:-1,1"
      Dst: "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_4__91].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 96
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 7
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:97,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:97,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:97,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 67
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 6
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.status.WarnStatus"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionUses: 2
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.WarnStatus:23,1"
      Dst: "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 71
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.status.Status"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - "[ch.qos.logback.core.BasicStatusManager].add(ch.qos.logback.core.status.Status)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.ContextAwareBase)"
    - "[java.io.PrintStream].println(java.lang.String)"
    - "[ch.qos.logback.core.Context].getStatusManager()"
    - "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    functionUses: 24
    ICount: 17
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:78"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:77"
        BranchSideFuncs:
        - "getStatusManager()"
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:73"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:76"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:75"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:79"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:82"
        BranchSideFuncs:
        - "add(ch.qos.logback.core.status.Status)"
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:81"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:74,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.ContextAwareBase)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:74,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:78,1"
      Dst: "[ch.qos.logback.core.Context].getStatusManager()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:80,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.OutputStreamAppender].setOutputStream(java.io.OutputStream)"
    functionSourceFile: "ch.qos.logback.core.OutputStreamAppender"
    linkageType: null
    functionLinenumber: 161
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.OutputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.OutputStreamAppender].closeOutputStream()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.OutputStreamAppender].encoderInit()"
    - "[java.util.concurrent.locks.ReentrantLock].lock()"
    - "[java.util.concurrent.locks.ReentrantLock].unlock()"
    functionUses: 2
    ICount: 21
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.OutputStreamAppender:167"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:172"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:171"
        BranchSideFuncs:
        - "encoderInit()"
    Callsites:
    - Src: "ch.qos.logback.core.OutputStreamAppender:162,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].lock()"
    - Src: "ch.qos.logback.core.OutputStreamAppender:165,1"
      Dst: "[ch.qos.logback.core.OutputStreamAppender].closeOutputStream()"
    - Src: "ch.qos.logback.core.OutputStreamAppender:168,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.core.OutputStreamAppender:174,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].unlock()"
    - Src: "ch.qos.logback.core.OutputStreamAppender:172,1"
      Dst: "[ch.qos.logback.core.OutputStreamAppender].encoderInit()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.OutputStreamAppender].start()"
    functionSourceFile: "ch.qos.logback.core.OutputStreamAppender"
    linkageType: null
    functionLinenumber: 69
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.UnsynchronizedAppenderBase].start()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 8
    ICount: 21
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.OutputStreamAppender:71"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:76"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:75"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.OutputStreamAppender:76"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:81"
        BranchSideFuncs:
        - "<init>(java.lang.String,java.lang.Object)"
        - "addStatus(ch.qos.logback.core.status.Status)"
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:80"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.OutputStreamAppender:81"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:84"
        BranchSideFuncs:
        - "start()"
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:83"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.OutputStreamAppender:72,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.OutputStreamAppender:72,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.OutputStreamAppender:72,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - Src: "ch.qos.logback.core.OutputStreamAppender:82,1"
      Dst: "[ch.qos.logback.core.UnsynchronizedAppenderBase].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.classic.LoggerContext].getLogger(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 128
    functionDepth: 2
    returnType: "ch.qos.logback.classic.Logger"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.util.LoggerNameUtil].getSeparatorIndexOf(java.lang.String,int)"
    - "[ch.qos.logback.classic.Logger].getChildByName(java.lang.String)"
    - "[ch.qos.logback.classic.Logger].createChildByName(java.lang.String)"
    - "[ch.qos.logback.classic.LoggerContext].incSize()"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - "[java.util.Map].get(java.lang.Object)"
    - "[java.lang.String].substring(int,int)"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 10
    ICount: 45
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.LoggerContext:129"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:135"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:134"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.LoggerContext:135"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:139"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:138"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.LoggerContext:146"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:154"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:153"
        BranchSideFuncs:
        - "getSeparatorIndexOf(java.lang.String,int)"
    - Branch String: "ch.qos.logback.classic.LoggerContext:155"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:158"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:157"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.LoggerContext:164"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:169"
        BranchSideFuncs:
        - "createChildByName(java.lang.String)"
        - "incSize()"
      - BranchSide: "ch.qos.logback.classic.LoggerContext:168"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.LoggerContext:171"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:174"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:173"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:130,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.classic.LoggerContext:135,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - Src: "ch.qos.logback.classic.LoggerContext:144,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "ch.qos.logback.classic.LoggerContext:154,1"
      Dst: "[ch.qos.logback.classic.util.LoggerNameUtil].getSeparatorIndexOf(java.lang.String,int)"
    - Src: "ch.qos.logback.classic.LoggerContext:158,1"
      Dst: "[java.lang.String].substring(int,int)"
    - Src: "ch.qos.logback.classic.LoggerContext:163,1"
      Dst: "[ch.qos.logback.classic.Logger].getChildByName(java.lang.String)"
    - Src: "ch.qos.logback.classic.LoggerContext:165,1"
      Dst: "[ch.qos.logback.classic.Logger].createChildByName(java.lang.String)"
    - Src: "ch.qos.logback.classic.LoggerContext:166,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - Src: "ch.qos.logback.classic.LoggerContext:167,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].incSize()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 16
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.util.LoggerNameUtil].getSeparatorIndexOf(java.lang.String,int)"
    functionSourceFile: "ch.qos.logback.classic.util.LoggerNameUtil"
    linkageType: null
    functionLinenumber: 38
    functionDepth: 0
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].indexOf(int,int)"
    functionUses: 2
    ICount: 21
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.LoggerNameUtil:42"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.LoggerNameUtil:null"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.util.LoggerNameUtil:42"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.LoggerNameUtil:null"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.util.LoggerNameUtil:44"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.LoggerNameUtil:null"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.util.LoggerNameUtil:46"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.LoggerNameUtil:49"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.LoggerNameUtil:48"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.util.LoggerNameUtil:49"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.LoggerNameUtil:48"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LoggerNameUtil:39,1"
      Dst: "[java.lang.String].indexOf(int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 11
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.Logger].getChildByName(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 132
    functionDepth: 1
    returnType: "ch.qos.logback.classic.Logger"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.util.COWArrayList].get(int)"
    - "[ch.qos.logback.classic.Logger].getName()"
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 1
    ICount: 19
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:133"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:136"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:135"
        BranchSideFuncs:
        - "size()"
    - Branch String: "ch.qos.logback.classic.Logger:137"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:146"
        BranchSideFuncs:
        - "getName()"
        - "get(int)"
      - BranchSide: "ch.qos.logback.classic.Logger:145"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:141"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:136"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:135"
        BranchSideFuncs:
        - "size()"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:136,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.classic.Logger:138,1"
      Dst: "[java.util.List].get(int)"
    - Src: "ch.qos.logback.classic.Logger:139,1"
      Dst: "[ch.qos.logback.classic.Logger].getName()"
    - Src: "ch.qos.logback.classic.Logger:141,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].getName()"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 123
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 6
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].createChildByName(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 349
    functionDepth: 1
    returnType: "ch.qos.logback.classic.Logger"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.util.LoggerNameUtil].getSeparatorIndexOf(java.lang.String,int)"
    - "[ch.qos.logback.classic.Logger].<init>(java.lang.String,ch.qos.logback.classic.Logger,ch.qos.logback.classic.LoggerContext)"
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.lang.String].length()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,int)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.util.concurrent.CopyOnWriteArrayList].<init>()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 29
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:351"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:356"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:355"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:356"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:360"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:359"
        BranchSideFuncs:
        - "add(java.lang.Object)"
        - "<init>(java.lang.String,ch.qos.logback.classic.Logger,ch.qos.logback.classic.LoggerContext)"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:350,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.classic.Logger:350,1"
      Dst: "[ch.qos.logback.classic.util.LoggerNameUtil].getSeparatorIndexOf(java.lang.String,int)"
    - Src: "ch.qos.logback.classic.Logger:353,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,int)"
    - Src: "ch.qos.logback.classic.Logger:353,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.classic.Logger:357,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].<init>()"
    - Src: "ch.qos.logback.classic.Logger:360,1"
      Dst: "[ch.qos.logback.classic.Logger].<init>(java.lang.String,ch.qos.logback.classic.Logger,ch.qos.logback.classic.LoggerContext)"
    - Src: "ch.qos.logback.classic.Logger:361,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].<init>(java.lang.String,ch.qos.logback.classic.Logger,ch.qos.logback.classic.LoggerContext)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "ch.qos.logback.classic.Logger"
    - "ch.qos.logback.classic.LoggerContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 2
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:105,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].incSize()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 177
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].addAppender(ch.qos.logback.core.Appender)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 222
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Appender"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.AppenderAttachableImpl].<init>()"
    - "[ch.qos.logback.core.spi.AppenderAttachableImpl].addAppender(ch.qos.logback.core.Appender)"
    functionUses: 3
    ICount: 10
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:223"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:226"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "ch.qos.logback.classic.Logger:225"
        BranchSideFuncs:
        - "addAppender(ch.qos.logback.core.Appender)"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:224,1"
      Dst: "[ch.qos.logback.core.spi.AppenderAttachableImpl].<init>()"
    - Src: "ch.qos.logback.classic.Logger:226,1"
      Dst: "[ch.qos.logback.core.spi.AppenderAttachableImpl].addAppender(ch.qos.logback.core.Appender)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.spi.AppenderAttachableImpl].<init>()"
    functionSourceFile: "ch.qos.logback.core.spi.AppenderAttachableImpl"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].<init>(java.lang.Object[])"
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:27,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:29,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].<init>(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.COWArrayList].<init>(java.lang.Object[])"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: 62
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)"
    - "[java.util.concurrent.CopyOnWriteArrayList].<init>()"
    functionUses: 2
    ICount: 11
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:63,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.util.COWArrayList:58,1"
      Dst: "[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)"
    - Src: "ch.qos.logback.core.util.COWArrayList:59,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.AppenderAttachableImpl].addAppender(ch.qos.logback.core.Appender)"
    functionSourceFile: "ch.qos.logback.core.spi.AppenderAttachableImpl"
    linkageType: null
    functionLinenumber: 36
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Appender"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].addIfAbsent(java.lang.Object)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 3
    ICount: 9
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.AppenderAttachableImpl:37"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:40"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:39"
        BranchSideFuncs:
        - "addIfAbsent(java.lang.Object)"
    Callsites:
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:38,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:40,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].addIfAbsent(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.EventConstants].<init>()"
    functionSourceFile: "org.slf4j.event.EventConstants"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.event.EventConstants:5,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.LogbackException].<init>(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.LogbackException"
    linkageType: null
    functionLinenumber: 20
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.RuntimeException].<init>(java.lang.String)"
    functionUses: 3
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.LogbackException:21,1"
      Dst: "[java.lang.RuntimeException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.LogbackException].<init>(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.LogbackException"
    linkageType: null
    functionLinenumber: 24
    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: 2
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.LogbackException:25,1"
      Dst: "[java.lang.RuntimeException].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.MarkerFactory].<init>()"
    functionSourceFile: "org.slf4j.MarkerFactory"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.MarkerFactory:48,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.MarkerFactory].getMarker(java.lang.String)"
    functionSourceFile: "org.slf4j.MarkerFactory"
    linkageType: null
    functionLinenumber: 71
    functionDepth: 0
    returnType: "org.slf4j.Marker"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.BasicMarkerFactory].getMarker(java.lang.String)"
    - "[org.slf4j.IMarkerFactory].getMarker(java.lang.String)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.MarkerFactory:72,1"
      Dst: "[org.slf4j.IMarkerFactory].getMarker(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.MarkerFactory].getDetachedMarker(java.lang.String)"
    functionSourceFile: "org.slf4j.MarkerFactory"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "org.slf4j.Marker"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.IMarkerFactory].getDetachedMarker(java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.MarkerFactory:83,1"
      Dst: "[org.slf4j.IMarkerFactory].getDetachedMarker(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.MarkerFactory].getIMarkerFactory()"
    functionSourceFile: "org.slf4j.MarkerFactory"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "org.slf4j.IMarkerFactory"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_1__88].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_1__88"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Predicate"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_1__88].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_1__88:-1,1"
      Dst: "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_1__88].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_1__88].<init>()"
    functionSourceFile: "ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_1__88"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_1__88:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_1__88].test(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_1__88"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ConsoleAppender].lambda$wrapWithJansi$1(java.lang.reflect.Method)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_1__88:-1,1"
      Dst: "[ch.qos.logback.core.ConsoleAppender].lambda$wrapWithJansi$1(java.lang.reflect.Method)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ConsoleAppender].lambda$wrapWithJansi$1(java.lang.reflect.Method)"
    functionSourceFile: "ch.qos.logback.core.ConsoleAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Method"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.reflect.Executable].getParameters()"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.ConsoleAppender:108"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.ConsoleAppender:107"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.ConsoleAppender:108,1"
      Dst: "[java.lang.reflect.Executable].getParameters()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.action.IncludeAction].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.action.IncludeAction"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.Action].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:44,1"
      Dst: "[ch.qos.logback.core.joran.action.Action].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.IncludeAction].begin(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.IncludeAction"
    linkageType: null
    functionLinenumber: 60
    functionDepth: 15
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].<init>(ch.qos.logback.core.Context)"
    - "[org.xml.sax.helpers.AttributesImpl].getValue(java.lang.String)"
    - "[ch.qos.logback.core.joran.action.IncludeAction].createModelForAlternateUse(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes,java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].toBoolean(java.lang.String,boolean)"
    - "[ch.qos.logback.core.joran.action.IncludeAction].checkAttributes(org.xml.sax.Attributes)"
    - "[ch.qos.logback.core.joran.action.IncludeAction].getInputStream(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,org.xml.sax.Attributes)"
    - "[ch.qos.logback.core.joran.action.IncludeAction].parseAndRecord(java.io.InputStream,ch.qos.logback.core.joran.event.SaxEventRecorder)"
    - "[ch.qos.logback.core.joran.action.IncludeAction].trimHeadAndTail(ch.qos.logback.core.joran.event.SaxEventRecorder)"
    - "[ch.qos.logback.core.joran.spi.EventPlayer].addEventsDynamically(java.util.List,int)"
    - "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].getEventPlayer()"
    - "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].getSaxEventInterpreter()"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].getSaxEventList()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.joran.action.IncludeAction].close(java.io.InputStream)"
    - "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 38
    EdgeCount: 16
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.action.IncludeAction:74"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:79"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:78"
        BranchSideFuncs:
        - "getInputStream(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,org.xml.sax.Attributes)"
    - Branch String: "ch.qos.logback.core.joran.action.IncludeAction:82"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:94"
        BranchSideFuncs:
        - "getSaxEventList()"
        - "trimHeadAndTail(ch.qos.logback.core.joran.event.SaxEventRecorder)"
        - "getSaxEventInterpreter()"
        - "parseAndRecord(java.io.InputStream,ch.qos.logback.core.joran.event.SaxEventRecorder)"
        - "addEventsDynamically(java.util.List,int)"
        - "getEventPlayer()"
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:93"
        BranchSideFuncs:
        - "close(java.io.InputStream)"
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:64,1"
      Dst: "[ch.qos.logback.core.joran.event.SaxEventRecorder].<init>(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:66,1"
      Dst: "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:68,1"
      Dst: "[ch.qos.logback.core.joran.action.IncludeAction].createModelForAlternateUse(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:72,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].toBoolean(java.lang.String,boolean)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:74,1"
      Dst: "[ch.qos.logback.core.joran.action.IncludeAction].checkAttributes(org.xml.sax.Attributes)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:79,1"
      Dst: "[ch.qos.logback.core.joran.action.IncludeAction].getInputStream(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,org.xml.sax.Attributes)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:83,1"
      Dst: "[ch.qos.logback.core.joran.action.IncludeAction].parseAndRecord(java.io.InputStream,ch.qos.logback.core.joran.event.SaxEventRecorder)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:85,1"
      Dst: "[ch.qos.logback.core.joran.action.IncludeAction].trimHeadAndTail(ch.qos.logback.core.joran.event.SaxEventRecorder)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:89,1"
      Dst: "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].getSaxEventInterpreter()"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:89,1"
      Dst: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].getEventPlayer()"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:89,1"
      Dst: "[ch.qos.logback.core.joran.event.SaxEventRecorder].getSaxEventList()"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:89,1"
      Dst: "[ch.qos.logback.core.joran.spi.EventPlayer].addEventsDynamically(java.util.List,int)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:94,1"
      Dst: "[ch.qos.logback.core.joran.action.IncludeAction].close(java.io.InputStream)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:92,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:92,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.SaxEventRecorder].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEventRecorder"
    linkageType: null
    functionLinenumber: 48
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].<init>(ch.qos.logback.core.Context,ch.qos.logback.core.joran.spi.ElementPath)"
    - "[ch.qos.logback.core.joran.spi.ElementPath].<init>()"
    functionUses: 2
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:49,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].<init>()"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:49,1"
      Dst: "[ch.qos.logback.core.joran.event.SaxEventRecorder].<init>(ch.qos.logback.core.Context,ch.qos.logback.core.joran.spi.ElementPath)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ElementPath].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementPath"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.ArrayList].<init>()"
    functionUses: 3
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:29,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:27,1"
      Dst: "[java.util.ArrayList].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.SaxEventRecorder].<init>(ch.qos.logback.core.Context,ch.qos.logback.core.joran.spi.ElementPath)"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEventRecorder"
    linkageType: null
    functionLinenumber: 51
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.joran.spi.ElementPath"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.xml.sax.helpers.DefaultHandler].<init>()"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].<init>(ch.qos.logback.core.Context,java.lang.Object)"
    - "[java.util.ArrayList].<init>()"
    functionUses: 1
    ICount: 12
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:52,1"
      Dst: "[org.xml.sax.helpers.DefaultHandler].<init>()"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:45,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:53,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].<init>(ch.qos.logback.core.Context,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareImpl].<init>(ch.qos.logback.core.Context,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareImpl"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 4
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:35,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.IncludeAction].createModelForAlternateUse(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.action.IncludeAction"
    linkageType: null
    functionLinenumber: 101
    functionDepth: 2
    returnType: "void"
    argCount: 4
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.IncludeModel].<init>()"
    - "[ch.qos.logback.core.model.IncludeModel].setOptional(java.lang.String)"
    - "[ch.qos.logback.core.joran.action.IncludeAction].fillInIncludeModelAttributes(ch.qos.logback.core.model.IncludeModel,java.lang.String,org.xml.sax.Attributes)"
    - "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].isModelStackEmpty()"
    - "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].peekModel()"
    - "[ch.qos.logback.core.joran.action.Action].getLineNumber(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext)"
    - "[ch.qos.logback.core.model.Model].setLineNumber(int)"
    - "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].pushModel(ch.qos.logback.core.model.Model)"
    functionUses: 1
    ICount: 22
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.action.IncludeAction:105"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:108"
        BranchSideFuncs:
        - "peekModel()"
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:107"
        BranchSideFuncs:
        - "pushModel(ch.qos.logback.core.model.Model)"
        - "getLineNumber(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext)"
        - "setLineNumber(int)"
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:102,1"
      Dst: "[ch.qos.logback.core.model.IncludeModel].<init>()"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:103,1"
      Dst: "[ch.qos.logback.core.model.IncludeModel].setOptional(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:104,1"
      Dst: "[ch.qos.logback.core.joran.action.IncludeAction].fillInIncludeModelAttributes(ch.qos.logback.core.model.IncludeModel,java.lang.String,org.xml.sax.Attributes)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:105,1"
      Dst: "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].isModelStackEmpty()"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:106,1"
      Dst: "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].peekModel()"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:108,1"
      Dst: "[ch.qos.logback.core.joran.action.Action].getLineNumber(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:109,1"
      Dst: "[ch.qos.logback.core.model.Model].setLineNumber(int)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:110,1"
      Dst: "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].pushModel(ch.qos.logback.core.model.Model)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.model.IncludeModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.IncludeModel"
    linkageType: null
    functionLinenumber: 4
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.IncludeModel:5,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.ArrayList].<init>()"
    functionUses: 16
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:27,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.model.Model:40,1"
      Dst: "[java.util.ArrayList].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.IncludeModel].setOptional(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.IncludeModel"
    linkageType: null
    functionLinenumber: 18
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.IncludeAction].fillInIncludeModelAttributes(ch.qos.logback.core.model.IncludeModel,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.IncludeAction"
    linkageType: null
    functionLinenumber: 113
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.model.IncludeModel"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].setTag(java.lang.String)"
    - "[org.xml.sax.helpers.AttributesImpl].getValue(java.lang.String)"
    - "[ch.qos.logback.core.model.IncludeModel].setFile(java.lang.String)"
    - "[ch.qos.logback.core.model.IncludeModel].setUrl(java.lang.String)"
    - "[ch.qos.logback.core.model.IncludeModel].setResource(java.lang.String)"
    - "[org.xml.sax.Attributes].getValue(java.lang.String)"
    functionUses: 1
    ICount: 16
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:114,1"
      Dst: "[ch.qos.logback.core.model.Model].setTag(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:115,1"
      Dst: "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:119,1"
      Dst: "[ch.qos.logback.core.model.IncludeModel].setFile(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:120,1"
      Dst: "[ch.qos.logback.core.model.IncludeModel].setUrl(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:121,1"
      Dst: "[ch.qos.logback.core.model.IncludeModel].setResource(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].setTag(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 108
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.IncludeModel].setFile(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.IncludeModel"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.IncludeModel].setUrl(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.IncludeModel"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.IncludeModel].setResource(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.IncludeModel"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].isModelStackEmpty()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    linkageType: null
    functionLinenumber: 66
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Vector].isEmpty()"
    functionUses: 2
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext:67,1"
      Dst: "[java.util.Vector].isEmpty()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].peekModel()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    linkageType: null
    functionLinenumber: 55
    functionDepth: 0
    returnType: "ch.qos.logback.core.model.Model"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Vector].isEmpty()"
    - "[java.util.Stack].peek()"
    functionUses: 6
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext:56"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext:59"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext:58"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext:56,1"
      Dst: "[java.util.Vector].isEmpty()"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext:59,1"
      Dst: "[java.util.Stack].peek()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].setLineNumber(int)"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 116
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].pushModel(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    linkageType: null
    functionLinenumber: 62
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].push(java.lang.Object)"
    functionUses: 3
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext:63,1"
      Dst: "[java.util.Stack].push(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].toBoolean(java.lang.String,boolean)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 240
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    functionUses: 5
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.OptionHelper:241"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:245"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:244"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:247"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:251"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:250"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:251"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:255"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:254"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:245,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.util.OptionHelper:247,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.IncludeAction].checkAttributes(org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.IncludeAction"
    linkageType: null
    functionLinenumber: 134
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.xml.sax.helpers.AttributesImpl].getValue(java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 27
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.action.IncludeAction:141"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:144"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:143"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.action.IncludeAction:144"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:147"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:146"
        BranchSideFuncs:
        - "isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Branch String: "ch.qos.logback.core.joran.action.IncludeAction:147"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:151"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:150"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.action.IncludeAction:151"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:154"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:153"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.action.IncludeAction:154"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:157"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:156"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.action.IncludeAction:157"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:160"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:159"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:135,1"
      Dst: "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:141,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:152,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:160,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:160,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 13
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 282
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    - "[java.lang.String].length()"
    functionUses: 62
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].length()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.IncludeAction].getInputStream(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.IncludeAction"
    linkageType: null
    functionLinenumber: 232
    functionDepth: 14
    returnType: "java.io.InputStream"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.IncludeAction].getInputURL(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,org.xml.sax.Attributes)"
    - "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].addToWatchList(ch.qos.logback.core.Context,java.net.URL)"
    - "[ch.qos.logback.core.joran.action.IncludeAction].openURL(java.net.URL)"
    functionUses: 1
    ICount: 10
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.action.IncludeAction:234"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:237"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:236"
        BranchSideFuncs:
        - "openURL(java.net.URL)"
        - "addToWatchList(ch.qos.logback.core.Context,java.net.URL)"
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:233,1"
      Dst: "[ch.qos.logback.core.joran.action.IncludeAction].getInputURL(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,org.xml.sax.Attributes)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:237,1"
      Dst: "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].addToWatchList(ch.qos.logback.core.Context,java.net.URL)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:238,1"
      Dst: "[ch.qos.logback.core.joran.action.IncludeAction].openURL(java.net.URL)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.IncludeAction].getInputURL(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.IncludeAction"
    linkageType: null
    functionLinenumber: 208
    functionDepth: 13
    returnType: "java.net.URL"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.xml.sax.helpers.AttributesImpl].getValue(java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].subst(java.lang.String)"
    - "[ch.qos.logback.core.joran.action.IncludeAction].filePathAsURL(java.lang.String)"
    - "[ch.qos.logback.core.joran.action.IncludeAction].attributeToURL(java.lang.String)"
    - "[ch.qos.logback.core.joran.action.IncludeAction].resourceAsURL(java.lang.String)"
    - "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 30
    EdgeCount: 12
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.action.IncludeAction:213"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:218"
        BranchSideFuncs:
        - "filePathAsURL(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:217"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.action.IncludeAction:218"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:223"
        BranchSideFuncs:
        - "attributeToURL(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:222"
        BranchSideFuncs:
        - "isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Branch String: "ch.qos.logback.core.joran.action.IncludeAction:223"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:228"
        BranchSideFuncs:
        - "subst(java.lang.String)"
        - "resourceAsURL(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:227"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:209,1"
      Dst: "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:213,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:214,1"
      Dst: "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].subst(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:215,1"
      Dst: "[ch.qos.logback.core.joran.action.IncludeAction].filePathAsURL(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:220,1"
      Dst: "[ch.qos.logback.core.joran.action.IncludeAction].attributeToURL(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:225,1"
      Dst: "[ch.qos.logback.core.joran.action.IncludeAction].resourceAsURL(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:228,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].subst(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    linkageType: null
    functionLinenumber: 93
    functionDepth: 12
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.OptionHelper].substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 3
    ICount: 11
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext:94"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext:99"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext:98"
        BranchSideFuncs:
        - "substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext:99,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext:101,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 111
    functionDepth: 11
    returnType: "java.lang.String"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "ch.qos.logback.core.spi.PropertyContainer"
    - "ch.qos.logback.core.spi.PropertyContainer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.subst.NodeToStringTransformer].substituteVariable(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    functionUses: 3
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:112,1"
      Dst: "[ch.qos.logback.core.subst.NodeToStringTransformer].substituteVariable(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 74
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.IncludeAction].filePathAsURL(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.action.IncludeAction"
    linkageType: null
    functionLinenumber: 197
    functionDepth: 0
    returnType: "java.net.URL"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.File].<init>(java.lang.String)"
    - "[java.io.File].toURI()"
    - "[java.net.URI].toURL()"
    - "[java.lang.Throwable].printStackTrace()"
    functionUses: 1
    ICount: 11
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:198,1"
      Dst: "[java.io.File].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:198,1"
      Dst: "[java.io.File].toURI()"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:200,1"
      Dst: "[java.net.URI].toURL()"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:203,1"
      Dst: "[java.lang.Throwable].printStackTrace()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.IncludeAction].attributeToURL(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.action.IncludeAction"
    linkageType: null
    functionLinenumber: 164
    functionDepth: 2
    returnType: "java.net.URL"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[java.net.URL].<init>(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:165,1"
      Dst: "[java.net.URL].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:167,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:168,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.IncludeAction].resourceAsURL(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.action.IncludeAction"
    linkageType: null
    functionLinenumber: 182
    functionDepth: 3
    returnType: "java.net.URL"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].getResourceBySelfClassLoader(java.lang.String)"
    - "[ch.qos.logback.core.joran.action.IncludeAction].optionalWarning(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 8
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.action.IncludeAction:184"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:188"
        BranchSideFuncs:
        - "optionalWarning(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:187"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:183,1"
      Dst: "[ch.qos.logback.core.util.Loader].getResourceBySelfClassLoader(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:185,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:185,1"
      Dst: "[ch.qos.logback.core.joran.action.IncludeAction].optionalWarning(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.Loader].getResourceBySelfClassLoader(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.Loader"
    linkageType: null
    functionLinenumber: 114
    functionDepth: 2
    returnType: "java.net.URL"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].getClassLoaderOfClass(java.lang.Class)"
    - "[ch.qos.logback.core.util.Loader].getResource(java.lang.String,java.lang.ClassLoader)"
    functionUses: 6
    ICount: 4
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.Loader:115,1"
      Dst: "[ch.qos.logback.core.util.Loader].getClassLoaderOfClass(java.lang.Class)"
    - Src: "ch.qos.logback.core.util.Loader:115,1"
      Dst: "[ch.qos.logback.core.util.Loader].getResource(java.lang.String,java.lang.ClassLoader)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.IncludeAction].optionalWarning(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.action.IncludeAction"
    linkageType: null
    functionLinenumber: 191
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionUses: 2
    ICount: 6
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.action.IncludeAction:192"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:195"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:194"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:193,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 96
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].addToWatchList(ch.qos.logback.core.Context,java.net.URL)"
    functionSourceFile: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil"
    linkageType: null
    functionLinenumber: 62
    functionDepth: 5
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "java.net.URL"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].getConfigurationWatchList(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].addWarn(ch.qos.logback.core.Context,java.lang.String)"
    - "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].addInfo(ch.qos.logback.core.Context,java.lang.String)"
    - "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].addToWatchList(java.net.URL)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.net.URL)"
    functionUses: 1
    ICount: 11
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:64"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:67"
        BranchSideFuncs:
        - "addWarn(ch.qos.logback.core.Context,java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:66"
        BranchSideFuncs:
        - "addToWatchList(java.net.URL)"
        - "addInfo(ch.qos.logback.core.Context,java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:63,1"
      Dst: "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].getConfigurationWatchList(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:65,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.net.URL)"
    - Src: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:65,1"
      Dst: "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].addWarn(ch.qos.logback.core.Context,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:67,1"
      Dst: "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].addInfo(ch.qos.logback.core.Context,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:68,1"
      Dst: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].addToWatchList(java.net.URL)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].getConfigurationWatchList(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil"
    linkageType: null
    functionLinenumber: 85
    functionDepth: 0
    returnType: "ch.qos.logback.core.joran.spi.ConfigurationWatchList"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getObject(java.lang.String)"
    - "[ch.qos.logback.core.Context].getObject(java.lang.String)"
    functionUses: 6
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:86,1"
      Dst: "[ch.qos.logback.core.Context].getObject(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].addWarn(ch.qos.logback.core.Context,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].addStatus(ch.qos.logback.core.Context,ch.qos.logback.core.status.Status)"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:105,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:105,1"
      Dst: "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].addStatus(ch.qos.logback.core.Context,ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.status.WarnStatus"
    linkageType: null
    functionLinenumber: 18
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    functionUses: 12
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.WarnStatus:19,1"
      Dst: "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].addStatus(ch.qos.logback.core.Context,ch.qos.logback.core.status.Status)"
    functionSourceFile: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil"
    linkageType: null
    functionLinenumber: 89
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.status.Status"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - "[ch.qos.logback.core.BasicStatusManager].add(ch.qos.logback.core.status.Status)"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.io.PrintStream].println(java.lang.String)"
    - "[ch.qos.logback.core.Context].getStatusManager()"
    - "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    functionUses: 2
    ICount: 14
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:90"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:94"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:93"
        BranchSideFuncs:
        - "getStatusManager()"
    - Branch String: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:95"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:97"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:96"
        BranchSideFuncs:
        - "add(ch.qos.logback.core.status.Status)"
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:91,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:91,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:91,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:94,1"
      Dst: "[ch.qos.logback.core.Context].getStatusManager()"
    - Src: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:97,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].addInfo(ch.qos.logback.core.Context,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].addStatus(ch.qos.logback.core.Context,ch.qos.logback.core.status.Status)"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:101,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:101,1"
      Dst: "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].addStatus(ch.qos.logback.core.Context,ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.status.InfoStatus"
    linkageType: null
    functionLinenumber: 17
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    functionUses: 15
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.InfoStatus:18,1"
      Dst: "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].addToWatchList(java.net.URL)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ConfigurationWatchList"
    linkageType: null
    functionLinenumber: 67
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.net.URL"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].addAsFileToWatch(java.net.URL)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:68,1"
      Dst: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].addAsFileToWatch(java.net.URL)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].addAsFileToWatch(java.net.URL)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ConfigurationWatchList"
    linkageType: null
    functionLinenumber: 59
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.net.URL"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].convertToFile(java.net.URL)"
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.util.List].add(java.lang.Object)"
    - "[java.io.File].lastModified()"
    - "[java.lang.Long].valueOf(long)"
    functionUses: 2
    ICount: 11
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:65"
        BranchSideFuncs:
        - "add(java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:64"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:60,1"
      Dst: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].convertToFile(java.net.URL)"
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:62,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:63,1"
      Dst: "[java.io.File].lastModified()"
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:63,1"
      Dst: "[java.lang.Long].valueOf(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].convertToFile(java.net.URL)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ConfigurationWatchList"
    linkageType: null
    functionLinenumber: 94
    functionDepth: 2
    returnType: "java.io.File"
    argCount: 1
    argTypes:
    - "java.net.URL"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[java.net.URL].getProtocol()"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.net.URL].getFile()"
    - "[java.net.URLDecoder].decode(java.lang.String)"
    - "[java.io.File].<init>(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.net.URL)"
    functionUses: 1
    ICount: 14
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:96"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:99"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:98"
        BranchSideFuncs:
        - "addInfo(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:95,1"
      Dst: "[java.net.URL].getProtocol()"
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:96,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:97,1"
      Dst: "[java.net.URL].getFile()"
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:97,1"
      Dst: "[java.net.URLDecoder].decode(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:97,1"
      Dst: "[java.io.File].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:99,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.net.URL)"
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:99,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.IncludeAction].openURL(java.net.URL)"
    functionSourceFile: "ch.qos.logback.core.joran.action.IncludeAction"
    linkageType: null
    functionLinenumber: 174
    functionDepth: 3
    returnType: "java.io.InputStream"
    argCount: 1
    argTypes:
    - "java.net.URL"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.IncludeAction].optionalWarning(java.lang.String)"
    - "[java.net.URL].openStream()"
    - "[java.net.URL].toString()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:175,1"
      Dst: "[java.net.URL].openStream()"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:177,1"
      Dst: "[java.net.URL].toString()"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:177,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:177,1"
      Dst: "[ch.qos.logback.core.joran.action.IncludeAction].optionalWarning(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.IncludeAction].parseAndRecord(java.io.InputStream,ch.qos.logback.core.joran.event.SaxEventRecorder)"
    functionSourceFile: "ch.qos.logback.core.joran.action.IncludeAction"
    linkageType: null
    functionLinenumber: 264
    functionDepth: 6
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.io.InputStream"
    - "ch.qos.logback.core.joran.event.SaxEventRecorder"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].recordEvents(java.io.InputStream)"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:265,1"
      Dst: "[ch.qos.logback.core.joran.event.SaxEventRecorder].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:266,1"
      Dst: "[ch.qos.logback.core.joran.event.SaxEventRecorder].recordEvents(java.io.InputStream)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.SaxEventRecorder].setContext(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEventRecorder"
    linkageType: null
    functionLinenumber: 220
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareImpl].setContext(ch.qos.logback.core.Context)"
    functionUses: 7
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:221,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].setContext(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareImpl].setContext(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareImpl"
    linkageType: null
    functionLinenumber: 45
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 7
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareImpl:46"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:47"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareImpl:48"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:51"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:50"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:49,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.event.SaxEventRecorder].recordEvents(java.io.InputStream)"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEventRecorder"
    linkageType: null
    functionLinenumber: 57
    functionDepth: 5
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.InputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.xml.sax.InputSource].<init>(java.io.InputStream)"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].recordEvents(org.xml.sax.InputSource)"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:58,1"
      Dst: "[org.xml.sax.InputSource].<init>(java.io.InputStream)"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:58,1"
      Dst: "[ch.qos.logback.core.joran.event.SaxEventRecorder].recordEvents(org.xml.sax.InputSource)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.SaxEventRecorder].recordEvents(org.xml.sax.InputSource)"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEventRecorder"
    linkageType: null
    functionLinenumber: 61
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.xml.sax.InputSource"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].buildSaxParser()"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].handleError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.joran.spi.JoranException].<init>(java.lang.String,java.lang.Throwable)"
    - "[javax.xml.parsers.SAXParser].parse(org.xml.sax.InputSource,org.xml.sax.helpers.DefaultHandler)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 2
    ICount: 17
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:62,1"
      Dst: "[ch.qos.logback.core.joran.event.SaxEventRecorder].buildSaxParser()"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:64,1"
      Dst: "[javax.xml.parsers.SAXParser].parse(org.xml.sax.InputSource,org.xml.sax.helpers.DefaultHandler)"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:67,1"
      Dst: "[ch.qos.logback.core.joran.event.SaxEventRecorder].handleError(java.lang.String,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:70,1"
      Dst: "[ch.qos.logback.core.joran.spi.JoranException].<init>(java.lang.String,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:74,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.SaxEventRecorder].buildSaxParser()"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEventRecorder"
    linkageType: null
    functionLinenumber: 83
    functionDepth: 3
    returnType: "javax.xml.parsers.SAXParser"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.joran.spi.JoranException].<init>(java.lang.String,java.lang.Throwable)"
    - "[javax.xml.parsers.SAXParserFactory].newInstance()"
    - "[javax.xml.parsers.SAXParserFactory].setValidating(boolean)"
    - "[javax.xml.parsers.SAXParserFactory].setFeature(java.lang.String,boolean)"
    - "[javax.xml.parsers.SAXParserFactory].setNamespaceAware(boolean)"
    - "[javax.xml.parsers.SAXParserFactory].newSAXParser()"
    functionUses: 1
    ICount: 18
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:84,1"
      Dst: "[javax.xml.parsers.SAXParserFactory].newInstance()"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:85,1"
      Dst: "[javax.xml.parsers.SAXParserFactory].setValidating(boolean)"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:88,1"
      Dst: "[javax.xml.parsers.SAXParserFactory].setFeature(java.lang.String,boolean)"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:90,1"
      Dst: "[javax.xml.parsers.SAXParserFactory].setNamespaceAware(boolean)"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:91,1"
      Dst: "[javax.xml.parsers.SAXParserFactory].newSAXParser()"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:94,1"
      Dst: "[ch.qos.logback.core.joran.event.SaxEventRecorder].addError(java.lang.String,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:95,1"
      Dst: "[ch.qos.logback.core.joran.spi.JoranException].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.SaxEventRecorder].addError(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEventRecorder"
    linkageType: null
    functionLinenumber: 192
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addError(java.lang.String,java.lang.Throwable)"
    functionUses: 5
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:193,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareImpl].addError(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareImpl"
    linkageType: null
    functionLinenumber: 97
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.joran.spi.CAI_WithLocatorSupport].getOrigin()"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].getOrigin()"
    functionUses: 8
    ICount: 8
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:98,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].getOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:98,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:98,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareImpl].getOrigin()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareImpl"
    linkageType: null
    functionLinenumber: 41
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.status.ErrorStatus"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionUses: 14
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.ErrorStatus:23,1"
      Dst: "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareImpl].addStatus(ch.qos.logback.core.status.Status)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareImpl"
    linkageType: null
    functionLinenumber: 64
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.status.Status"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - "[ch.qos.logback.core.BasicStatusManager].add(ch.qos.logback.core.status.Status)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.ContextAwareImpl)"
    - "[java.io.PrintStream].println(java.lang.String)"
    - "[ch.qos.logback.core.Context].getStatusManager()"
    - "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    functionUses: 3
    ICount: 17
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareImpl:65"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:71"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:70"
        BranchSideFuncs:
        - "getStatusManager()"
    - Branch String: "ch.qos.logback.core.spi.ContextAwareImpl:66"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:69"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:68"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareImpl:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:75"
        BranchSideFuncs:
        - "add(ch.qos.logback.core.status.Status)"
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:74"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:67,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.ContextAwareImpl)"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:67,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:71,1"
      Dst: "[ch.qos.logback.core.Context].getStatusManager()"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:73,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.joran.spi.JoranException].<init>(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.JoranException"
    linkageType: null
    functionLinenumber: 24
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Exception].<init>(java.lang.String,java.lang.Throwable)"
    functionUses: 7
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.JoranException:25,1"
      Dst: "[java.lang.Exception].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.SaxEventRecorder].handleError(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEventRecorder"
    linkageType: null
    functionLinenumber: 77
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.joran.spi.JoranException].<init>(java.lang.String,java.lang.Throwable)"
    functionUses: 2
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:78,1"
      Dst: "[ch.qos.logback.core.joran.event.SaxEventRecorder].addError(java.lang.String,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:79,1"
      Dst: "[ch.qos.logback.core.joran.spi.JoranException].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.IncludeAction].trimHeadAndTail(ch.qos.logback.core.joran.event.SaxEventRecorder)"
    functionSourceFile: "ch.qos.logback.core.joran.action.IncludeAction"
    linkageType: null
    functionLinenumber: 246
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.joran.event.SaxEventRecorder"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].getSaxEventList()"
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.util.COWArrayList].get(int)"
    - "[ch.qos.logback.core.util.COWArrayList].remove(int)"
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - "[java.util.List].remove(int)"
    functionUses: 1
    ICount: 25
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.action.IncludeAction:249"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:253"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:252"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.action.IncludeAction:254"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:258"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:257"
        BranchSideFuncs:
        - "get(int)"
    - Branch String: "ch.qos.logback.core.joran.action.IncludeAction:254"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:258"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:257"
        BranchSideFuncs:
        - "get(int)"
    - Branch String: "ch.qos.logback.core.joran.action.IncludeAction:259"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:262"
        BranchSideFuncs:
        - "remove(int)"
        - "size()"
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:261"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.action.IncludeAction:259"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:262"
        BranchSideFuncs:
        - "remove(int)"
        - "size()"
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:261"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:247,1"
      Dst: "[ch.qos.logback.core.joran.event.SaxEventRecorder].getSaxEventList()"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:249,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:253,1"
      Dst: "[java.util.List].get(int)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:254,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:255,1"
      Dst: "[java.util.List].remove(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.joran.event.SaxEventRecorder].getSaxEventList()"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEventRecorder"
    linkageType: null
    functionLinenumber: 224
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].getSaxEventInterpreter()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 0
    returnType: "ch.qos.logback.core.joran.spi.SaxEventInterpreter"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].getEventPlayer()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpreter"
    linkageType: null
    functionLinenumber: 103
    functionDepth: 0
    returnType: "ch.qos.logback.core.joran.spi.EventPlayer"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.EventPlayer].addEventsDynamically(java.util.List,int)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.EventPlayer"
    linkageType: null
    functionLinenumber: 67
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.util.List"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].addAll(int,java.util.Collection)"
    - "[java.util.List].addAll(int,java.util.Collection)"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.EventPlayer:68,1"
      Dst: "[java.util.List].addAll(int,java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.IncludeAction].close(java.io.InputStream)"
    functionSourceFile: "ch.qos.logback.core.joran.action.IncludeAction"
    linkageType: null
    functionLinenumber: 125
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.InputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.encoder.NonClosableInputStream].close()"
    - "[java.io.InputStream].close()"
    functionUses: 3
    ICount: 7
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.action.IncludeAction:126"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:131"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:128,1"
      Dst: "[java.io.InputStream].close()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.action.IncludeAction].createModelForAlternateUse(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.action.IncludeAction"
    linkageType: null
    functionLinenumber: 101
    functionDepth: 2
    returnType: "void"
    argCount: 4
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.IncludeModel].<init>()"
    - "[ch.qos.logback.core.model.IncludeModel].setOptional(java.lang.String)"
    - "[ch.qos.logback.core.joran.action.IncludeAction].fillInIncludeModelAttributes(ch.qos.logback.core.model.IncludeModel,java.lang.String,org.xml.sax.Attributes)"
    - "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].isModelStackEmpty()"
    - "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].peekModel()"
    - "[ch.qos.logback.core.joran.action.Action].getLineNumber(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext)"
    - "[ch.qos.logback.core.model.Model].setLineNumber(int)"
    - "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].pushModel(ch.qos.logback.core.model.Model)"
    functionUses: 1
    ICount: 22
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.action.IncludeAction:105"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:108"
        BranchSideFuncs:
        - "peekModel()"
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:107"
        BranchSideFuncs:
        - "pushModel(ch.qos.logback.core.model.Model)"
        - "getLineNumber(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext)"
        - "setLineNumber(int)"
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:102,1"
      Dst: "[ch.qos.logback.core.model.IncludeModel].<init>()"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:103,1"
      Dst: "[ch.qos.logback.core.model.IncludeModel].setOptional(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:104,1"
      Dst: "[ch.qos.logback.core.joran.action.IncludeAction].fillInIncludeModelAttributes(ch.qos.logback.core.model.IncludeModel,java.lang.String,org.xml.sax.Attributes)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:105,1"
      Dst: "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].isModelStackEmpty()"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:106,1"
      Dst: "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].peekModel()"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:108,1"
      Dst: "[ch.qos.logback.core.joran.action.Action].getLineNumber(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:109,1"
      Dst: "[ch.qos.logback.core.model.Model].setLineNumber(int)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:110,1"
      Dst: "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].pushModel(ch.qos.logback.core.model.Model)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.action.IncludeAction].fillInIncludeModelAttributes(ch.qos.logback.core.model.IncludeModel,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.IncludeAction"
    linkageType: null
    functionLinenumber: 113
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.model.IncludeModel"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].setTag(java.lang.String)"
    - "[org.xml.sax.helpers.AttributesImpl].getValue(java.lang.String)"
    - "[ch.qos.logback.core.model.IncludeModel].setFile(java.lang.String)"
    - "[ch.qos.logback.core.model.IncludeModel].setUrl(java.lang.String)"
    - "[ch.qos.logback.core.model.IncludeModel].setResource(java.lang.String)"
    - "[org.xml.sax.Attributes].getValue(java.lang.String)"
    functionUses: 1
    ICount: 16
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:114,1"
      Dst: "[ch.qos.logback.core.model.Model].setTag(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:115,1"
      Dst: "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:119,1"
      Dst: "[ch.qos.logback.core.model.IncludeModel].setFile(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:120,1"
      Dst: "[ch.qos.logback.core.model.IncludeModel].setUrl(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:121,1"
      Dst: "[ch.qos.logback.core.model.IncludeModel].setResource(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.IncludeAction].close(java.io.InputStream)"
    functionSourceFile: "ch.qos.logback.core.joran.action.IncludeAction"
    linkageType: null
    functionLinenumber: 125
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.InputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.encoder.NonClosableInputStream].close()"
    - "[java.io.InputStream].close()"
    functionUses: 3
    ICount: 7
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.action.IncludeAction:126"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:131"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:128,1"
      Dst: "[java.io.InputStream].close()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.action.IncludeAction].checkAttributes(org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.IncludeAction"
    linkageType: null
    functionLinenumber: 134
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.xml.sax.helpers.AttributesImpl].getValue(java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 27
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.action.IncludeAction:141"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:144"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:143"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.action.IncludeAction:144"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:147"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:146"
        BranchSideFuncs:
        - "isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Branch String: "ch.qos.logback.core.joran.action.IncludeAction:147"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:151"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:150"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.action.IncludeAction:151"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:154"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:153"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.action.IncludeAction:154"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:157"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:156"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.action.IncludeAction:157"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:160"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:159"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:135,1"
      Dst: "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:141,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:152,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:160,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:160,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 13
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.joran.action.IncludeAction].attributeToURL(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.action.IncludeAction"
    linkageType: null
    functionLinenumber: 164
    functionDepth: 2
    returnType: "java.net.URL"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[java.net.URL].<init>(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:165,1"
      Dst: "[java.net.URL].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:167,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:168,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.IncludeAction].openURL(java.net.URL)"
    functionSourceFile: "ch.qos.logback.core.joran.action.IncludeAction"
    linkageType: null
    functionLinenumber: 174
    functionDepth: 3
    returnType: "java.io.InputStream"
    argCount: 1
    argTypes:
    - "java.net.URL"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.IncludeAction].optionalWarning(java.lang.String)"
    - "[java.net.URL].openStream()"
    - "[java.net.URL].toString()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:175,1"
      Dst: "[java.net.URL].openStream()"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:177,1"
      Dst: "[java.net.URL].toString()"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:177,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:177,1"
      Dst: "[ch.qos.logback.core.joran.action.IncludeAction].optionalWarning(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.IncludeAction].resourceAsURL(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.action.IncludeAction"
    linkageType: null
    functionLinenumber: 182
    functionDepth: 3
    returnType: "java.net.URL"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].getResourceBySelfClassLoader(java.lang.String)"
    - "[ch.qos.logback.core.joran.action.IncludeAction].optionalWarning(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 8
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.action.IncludeAction:184"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:188"
        BranchSideFuncs:
        - "optionalWarning(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:187"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:183,1"
      Dst: "[ch.qos.logback.core.util.Loader].getResourceBySelfClassLoader(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:185,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:185,1"
      Dst: "[ch.qos.logback.core.joran.action.IncludeAction].optionalWarning(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.IncludeAction].optionalWarning(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.action.IncludeAction"
    linkageType: null
    functionLinenumber: 191
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionUses: 2
    ICount: 6
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.action.IncludeAction:192"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:195"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:194"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:193,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.action.IncludeAction].filePathAsURL(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.action.IncludeAction"
    linkageType: null
    functionLinenumber: 197
    functionDepth: 0
    returnType: "java.net.URL"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.File].<init>(java.lang.String)"
    - "[java.io.File].toURI()"
    - "[java.net.URI].toURL()"
    - "[java.lang.Throwable].printStackTrace()"
    functionUses: 1
    ICount: 11
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:198,1"
      Dst: "[java.io.File].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:198,1"
      Dst: "[java.io.File].toURI()"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:200,1"
      Dst: "[java.net.URI].toURL()"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:203,1"
      Dst: "[java.lang.Throwable].printStackTrace()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.IncludeAction].getInputURL(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.IncludeAction"
    linkageType: null
    functionLinenumber: 208
    functionDepth: 13
    returnType: "java.net.URL"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.xml.sax.helpers.AttributesImpl].getValue(java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].subst(java.lang.String)"
    - "[ch.qos.logback.core.joran.action.IncludeAction].filePathAsURL(java.lang.String)"
    - "[ch.qos.logback.core.joran.action.IncludeAction].attributeToURL(java.lang.String)"
    - "[ch.qos.logback.core.joran.action.IncludeAction].resourceAsURL(java.lang.String)"
    - "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 30
    EdgeCount: 12
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.action.IncludeAction:213"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:218"
        BranchSideFuncs:
        - "filePathAsURL(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:217"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.action.IncludeAction:218"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:223"
        BranchSideFuncs:
        - "attributeToURL(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:222"
        BranchSideFuncs:
        - "isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Branch String: "ch.qos.logback.core.joran.action.IncludeAction:223"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:228"
        BranchSideFuncs:
        - "subst(java.lang.String)"
        - "resourceAsURL(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:227"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:209,1"
      Dst: "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:213,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:214,1"
      Dst: "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].subst(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:215,1"
      Dst: "[ch.qos.logback.core.joran.action.IncludeAction].filePathAsURL(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:220,1"
      Dst: "[ch.qos.logback.core.joran.action.IncludeAction].attributeToURL(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:225,1"
      Dst: "[ch.qos.logback.core.joran.action.IncludeAction].resourceAsURL(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:228,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.IncludeAction].getInputStream(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.IncludeAction"
    linkageType: null
    functionLinenumber: 232
    functionDepth: 14
    returnType: "java.io.InputStream"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.IncludeAction].getInputURL(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,org.xml.sax.Attributes)"
    - "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].addToWatchList(ch.qos.logback.core.Context,java.net.URL)"
    - "[ch.qos.logback.core.joran.action.IncludeAction].openURL(java.net.URL)"
    functionUses: 1
    ICount: 10
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.action.IncludeAction:234"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:237"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:236"
        BranchSideFuncs:
        - "openURL(java.net.URL)"
        - "addToWatchList(ch.qos.logback.core.Context,java.net.URL)"
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:233,1"
      Dst: "[ch.qos.logback.core.joran.action.IncludeAction].getInputURL(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,org.xml.sax.Attributes)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:237,1"
      Dst: "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].addToWatchList(ch.qos.logback.core.Context,java.net.URL)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:238,1"
      Dst: "[ch.qos.logback.core.joran.action.IncludeAction].openURL(java.net.URL)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.IncludeAction].trimHeadAndTail(ch.qos.logback.core.joran.event.SaxEventRecorder)"
    functionSourceFile: "ch.qos.logback.core.joran.action.IncludeAction"
    linkageType: null
    functionLinenumber: 246
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.joran.event.SaxEventRecorder"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].getSaxEventList()"
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.util.COWArrayList].get(int)"
    - "[ch.qos.logback.core.util.COWArrayList].remove(int)"
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - "[java.util.List].remove(int)"
    functionUses: 1
    ICount: 25
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.action.IncludeAction:249"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:253"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:252"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.action.IncludeAction:254"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:258"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:257"
        BranchSideFuncs:
        - "get(int)"
    - Branch String: "ch.qos.logback.core.joran.action.IncludeAction:254"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:258"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:257"
        BranchSideFuncs:
        - "get(int)"
    - Branch String: "ch.qos.logback.core.joran.action.IncludeAction:259"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:262"
        BranchSideFuncs:
        - "remove(int)"
        - "size()"
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:261"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.action.IncludeAction:259"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:262"
        BranchSideFuncs:
        - "remove(int)"
        - "size()"
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:261"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:247,1"
      Dst: "[ch.qos.logback.core.joran.event.SaxEventRecorder].getSaxEventList()"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:249,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:253,1"
      Dst: "[java.util.List].get(int)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:254,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:255,1"
      Dst: "[java.util.List].remove(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.joran.action.IncludeAction].parseAndRecord(java.io.InputStream,ch.qos.logback.core.joran.event.SaxEventRecorder)"
    functionSourceFile: "ch.qos.logback.core.joran.action.IncludeAction"
    linkageType: null
    functionLinenumber: 264
    functionDepth: 6
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.io.InputStream"
    - "ch.qos.logback.core.joran.event.SaxEventRecorder"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].recordEvents(java.io.InputStream)"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:265,1"
      Dst: "[ch.qos.logback.core.joran.event.SaxEventRecorder].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:266,1"
      Dst: "[ch.qos.logback.core.joran.event.SaxEventRecorder].recordEvents(java.io.InputStream)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.IncludeAction].end(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.action.IncludeAction"
    linkageType: null
    functionLinenumber: 271
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].peekModel()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.model.Model].idString()"
    - "[ch.qos.logback.core.model.Model].addSubModel(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].popModel()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 21
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.action.IncludeAction:272"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:275"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:274"
        BranchSideFuncs:
        - "peekModel()"
    - Branch String: "ch.qos.logback.core.joran.action.IncludeAction:277"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:284"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
        - "idString()"
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:283"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.action.IncludeAction:284"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:288"
        BranchSideFuncs:
        - "addSubModel(ch.qos.logback.core.model.Model)"
        - "popModel()"
      - BranchSide: "ch.qos.logback.core.joran.action.IncludeAction:287"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:275,1"
      Dst: "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].peekModel()"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:278,1"
      Dst: "[ch.qos.logback.core.model.Model].idString()"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:278,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:278,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:285,1"
      Dst: "[ch.qos.logback.core.model.Model].addSubModel(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:286,1"
      Dst: "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].popModel()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].peekModel()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    linkageType: null
    functionLinenumber: 55
    functionDepth: 0
    returnType: "ch.qos.logback.core.model.Model"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Vector].isEmpty()"
    - "[java.util.Stack].peek()"
    functionUses: 6
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext:56"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext:59"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext:58"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext:56,1"
      Dst: "[java.util.Vector].isEmpty()"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext:59,1"
      Dst: "[java.util.Stack].peek()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].idString()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 139
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int)"
    functionUses: 4
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:140,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 96
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].addSubModel(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 124
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 3
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:125,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].popModel()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    linkageType: null
    functionLinenumber: 70
    functionDepth: 0
    returnType: "ch.qos.logback.core.model.Model"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].pop()"
    functionUses: 3
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext:71,1"
      Dst: "[java.util.Stack].pop()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.AsyncAppender].<init>()"
    functionSourceFile: "ch.qos.logback.classic.AsyncAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.AsyncAppenderBase].<init>()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.AsyncAppender:29,1"
      Dst: "[ch.qos.logback.core.AsyncAppenderBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.AsyncAppender].isDiscardable(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.AsyncAppender"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].getLevel()"
    - "[ch.qos.logback.classic.Level].toInt()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    functionUses: 1
    ICount: 9
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.AsyncAppender:41"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.AsyncAppender:39"
        BranchSideFuncs:
        - "toInt()"
        - "getLevel()"
    Callsites:
    - Src: "ch.qos.logback.classic.AsyncAppender:40,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    - Src: "ch.qos.logback.classic.AsyncAppender:41,1"
      Dst: "[ch.qos.logback.classic.Level].toInt()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Level].toInt()"
    functionSourceFile: "ch.qos.logback.classic.Level"
    linkageType: null
    functionLinenumber: 107
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.AsyncAppender].preprocess(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.AsyncAppender"
    linkageType: null
    functionLinenumber: 44
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].prepareForDeferredProcessing()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].prepareForDeferredProcessing()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getCallerData()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getCallerData()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].prepareForDeferredProcessing()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getCallerData()"
    functionUses: 1
    ICount: 7
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.AsyncAppender:46"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.AsyncAppender:48"
        BranchSideFuncs:
        - "getCallerData()"
      - BranchSide: "ch.qos.logback.classic.AsyncAppender:47"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.AsyncAppender:45,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].prepareForDeferredProcessing()"
    - Src: "ch.qos.logback.classic.AsyncAppender:47,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getCallerData()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.AsyncAppender].isIncludeCallerData()"
    functionSourceFile: "ch.qos.logback.classic.AsyncAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.AsyncAppender].setIncludeCallerData(boolean)"
    functionSourceFile: "ch.qos.logback.classic.AsyncAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.AsyncAppender].preprocess(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.AsyncAppender"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.AsyncAppender].preprocess(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.AsyncAppender:29,1"
      Dst: "[ch.qos.logback.classic.AsyncAppender].preprocess(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.AsyncAppender].preprocess(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.AsyncAppender"
    linkageType: null
    functionLinenumber: 44
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].prepareForDeferredProcessing()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].prepareForDeferredProcessing()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getCallerData()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getCallerData()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].prepareForDeferredProcessing()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getCallerData()"
    functionUses: 1
    ICount: 7
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.AsyncAppender:46"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.AsyncAppender:48"
        BranchSideFuncs:
        - "getCallerData()"
      - BranchSide: "ch.qos.logback.classic.AsyncAppender:47"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.AsyncAppender:45,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].prepareForDeferredProcessing()"
    - Src: "ch.qos.logback.classic.AsyncAppender:47,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getCallerData()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.AsyncAppender].isDiscardable(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.AsyncAppender"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.AsyncAppender].isDiscardable(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.AsyncAppender:29,1"
      Dst: "[ch.qos.logback.classic.AsyncAppender].isDiscardable(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.AsyncAppender].isDiscardable(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.AsyncAppender"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].getLevel()"
    - "[ch.qos.logback.classic.Level].toInt()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    functionUses: 1
    ICount: 9
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.AsyncAppender:41"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.AsyncAppender:39"
        BranchSideFuncs:
        - "toInt()"
        - "getLevel()"
    Callsites:
    - Src: "ch.qos.logback.classic.AsyncAppender:40,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    - Src: "ch.qos.logback.classic.AsyncAppender:41,1"
      Dst: "[ch.qos.logback.classic.Level].toInt()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_10__30].bootstrap$()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_10__30"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_10__30].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_10__30:-1,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_10__30].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_10__30].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_10__30"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_10__30:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_10__30].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_10__30"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_10__30:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_10__30].get()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_10__30"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator].lambda$addElementSelectorAndActionAssociations$10()"
    functionUses: 3
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_10__30:-1,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator].lambda$addElementSelectorAndActionAssociations$10()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator].lambda$addElementSelectorAndActionAssociations$10()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator"
    linkageType: null
    functionLinenumber: 63
    functionDepth: 1
    returnType: "ch.qos.logback.core.joran.action.Action"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.IncludeAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:64,1"
      Dst: "[ch.qos.logback.core.joran.action.IncludeAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.IncludeAction].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.action.IncludeAction"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.Action].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.IncludeAction:44,1"
      Dst: "[ch.qos.logback.core.joran.action.Action].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_4__24].bootstrap$()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_4__24"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_4__24].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_4__24:-1,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_4__24].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_4__24].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_4__24"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_4__24:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_4__24].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_4__24"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_4__24:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_4__24].get()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_4__24"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator].lambda$addElementSelectorAndActionAssociations$4()"
    functionUses: 3
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_4__24:-1,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator].lambda$addElementSelectorAndActionAssociations$4()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator].lambda$addElementSelectorAndActionAssociations$4()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator"
    linkageType: null
    functionLinenumber: 55
    functionDepth: 1
    returnType: "ch.qos.logback.core.joran.action.Action"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.action.LoggerAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:56,1"
      Dst: "[ch.qos.logback.classic.joran.action.LoggerAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.action.LoggerAction].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.action.LoggerAction"
    linkageType: null
    functionLinenumber: 29
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.action.LoggerAction:30,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.AbstractComponentTracker$2].<init>(ch.qos.logback.core.spi.AbstractComponentTracker)"
    functionSourceFile: "ch.qos.logback.core.spi.AbstractComponentTracker$2"
    linkageType: null
    functionLinenumber: 201
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.spi.AbstractComponentTracker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.AbstractComponentTracker$2:202,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.AbstractComponentTracker$2].isSlatedForRemoval(ch.qos.logback.core.spi.AbstractComponentTracker$Entry,long)"
    functionSourceFile: "ch.qos.logback.core.spi.AbstractComponentTracker$2"
    linkageType: null
    functionLinenumber: 203
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.spi.AbstractComponentTracker$Entry"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.AbstractComponentTracker].isEntryStale(ch.qos.logback.core.spi.AbstractComponentTracker$Entry,long)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.AbstractComponentTracker$2:204,1"
      Dst: "[ch.qos.logback.core.spi.AbstractComponentTracker].isEntryStale(ch.qos.logback.core.spi.AbstractComponentTracker$Entry,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].<init>()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:35,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].createKeyStore()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean"
    linkageType: null
    functionLinenumber: 59
    functionDepth: 4
    returnType: "java.security.KeyStore"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].getLocation()"
    - "[ch.qos.logback.core.util.LocationUtil].urlForResource(java.lang.String)"
    - "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].newKeyStore()"
    - "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].getPassword()"
    - "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].getProvider()"
    - "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].getType()"
    - "[ch.qos.logback.core.encoder.NonClosableInputStream:ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:org.xml.sax.SAXException].getLocation()"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.net.URL].openStream()"
    - "[java.lang.String].toCharArray()"
    - "[java.security.KeyStore].load(java.io.InputStream,char[])"
    - "[java.io.InputStream].close()"
    - "[java.lang.Throwable].printStackTrace(java.io.PrintStream)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.security.NoSuchProviderException].<init>(java.lang.String)"
    - "[java.security.NoSuchAlgorithmException].<init>(java.lang.String)"
    - "[java.security.KeyStoreException].<init>(java.lang.String)"
    - "[java.lang.Throwable].getMessage()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - "[java.security.KeyStoreException].<init>(java.lang.String,java.lang.Throwable)"
    functionUses: 2
    ICount: 57
    EdgeCount: 9
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:60"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:64"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:63"
        BranchSideFuncs:
        - "getProvider()"
        - "urlForResource(java.lang.String)"
        - "getPassword()"
        - "getType()"
        - "getLocation()"
        - "newKeyStore()"
    - Branch String: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:81"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:86"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:85"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:81"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:86"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:85"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:60,1"
      Dst: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].getLocation()"
    - Src: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:61,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:66,1"
      Dst: "[ch.qos.logback.core.util.LocationUtil].urlForResource(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:67,1"
      Dst: "[java.net.URL].openStream()"
    - Src: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:68,1"
      Dst: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].newKeyStore()"
    - Src: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:69,1"
      Dst: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].getPassword()"
    - Src: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:69,1"
      Dst: "[java.lang.String].toCharArray()"
    - Src: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:69,1"
      Dst: "[java.security.KeyStore].load(java.io.InputStream,char[])"
    - Src: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:82,1"
      Dst: "[java.io.InputStream].close()"
    - Src: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:85,1"
      Dst: "[java.lang.Throwable].printStackTrace(java.io.PrintStream)"
    - Src: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:72,1"
      Dst: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].getProvider()"
    - Src: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:72,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:72,1"
      Dst: "[java.security.NoSuchProviderException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:74,1"
      Dst: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].getType()"
    - Src: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:74,1"
      Dst: "[java.security.NoSuchAlgorithmException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:76,1"
      Dst: "[java.security.KeyStoreException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:78,1"
      Dst: "[java.lang.Throwable].getMessage()"
    - Src: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:78,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:78,1"
      Dst: "[java.security.KeyStoreException].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 16
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].getLocation()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 6
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.LocationUtil].urlForResource(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.LocationUtil"
    linkageType: null
    functionLinenumber: 45
    functionDepth: 3
    returnType: "java.net.URL"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].getResourceBySelfClassLoader(java.lang.String)"
    - "[java.lang.NullPointerException].<init>(java.lang.String)"
    - "[java.lang.String].matches(java.lang.String)"
    - "[java.lang.String].startsWith(java.lang.String)"
    - "[java.lang.String].length()"
    - "[java.lang.String].substring(int)"
    - "[java.net.MalformedURLException].<init>(java.lang.String)"
    - "[java.net.URL].<init>(java.lang.String)"
    - "[java.io.FileNotFoundException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 33
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.LocationUtil:46"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.LocationUtil:50"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.LocationUtil:49"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.LocationUtil:50"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.LocationUtil:52"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.LocationUtil:51"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.LocationUtil:52"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.LocationUtil:62"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.LocationUtil:61"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.LocationUtil:54"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.LocationUtil:57"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.LocationUtil:56"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.LocationUtil:57"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.LocationUtil:60"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.LocationUtil:59"
        BranchSideFuncs:
        - "getResourceBySelfClassLoader(java.lang.String)"
    - Branch String: "ch.qos.logback.core.util.LocationUtil:64"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.LocationUtil:67"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.LocationUtil:66"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.LocationUtil:47,1"
      Dst: "[java.lang.NullPointerException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.util.LocationUtil:50,1"
      Dst: "[java.lang.String].matches(java.lang.String)"
    - Src: "ch.qos.logback.core.util.LocationUtil:51,1"
      Dst: "[ch.qos.logback.core.util.Loader].getResourceBySelfClassLoader(java.lang.String)"
    - Src: "ch.qos.logback.core.util.LocationUtil:52,1"
      Dst: "[java.lang.String].startsWith(java.lang.String)"
    - Src: "ch.qos.logback.core.util.LocationUtil:53,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.core.util.LocationUtil:53,1"
      Dst: "[java.lang.String].substring(int)"
    - Src: "ch.qos.logback.core.util.LocationUtil:58,1"
      Dst: "[java.net.MalformedURLException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.util.LocationUtil:62,1"
      Dst: "[java.net.URL].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.util.LocationUtil:65,1"
      Dst: "[java.io.FileNotFoundException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 14
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.util.Loader].getResourceBySelfClassLoader(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.Loader"
    linkageType: null
    functionLinenumber: 114
    functionDepth: 2
    returnType: "java.net.URL"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].getClassLoaderOfClass(java.lang.Class)"
    - "[ch.qos.logback.core.util.Loader].getResource(java.lang.String,java.lang.ClassLoader)"
    functionUses: 6
    ICount: 4
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.Loader:115,1"
      Dst: "[ch.qos.logback.core.util.Loader].getClassLoaderOfClass(java.lang.Class)"
    - Src: "ch.qos.logback.core.util.Loader:115,1"
      Dst: "[ch.qos.logback.core.util.Loader].getResource(java.lang.String,java.lang.ClassLoader)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].newKeyStore()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean"
    linkageType: null
    functionLinenumber: 95
    functionDepth: 1
    returnType: "java.security.KeyStore"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].getProvider()"
    - "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].getType()"
    - "[java.security.KeyStore].getInstance(java.lang.String,java.lang.String)"
    - "[java.security.KeyStore].getInstance(java.lang.String)"
    functionUses: 1
    ICount: 10
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:96"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:95"
        BranchSideFuncs:
        - "getProvider()"
        - "getType()"
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:96,1"
      Dst: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].getProvider()"
    - Src: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:96,1"
      Dst: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].getType()"
    - Src: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:96,1"
      Dst: "[java.security.KeyStore].getInstance(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:96,1"
      Dst: "[java.security.KeyStore].getInstance(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].getProvider()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean"
    linkageType: null
    functionLinenumber: 150
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].getType()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean"
    linkageType: null
    functionLinenumber: 126
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 6
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:127"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:130"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:129"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].getPassword()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean"
    linkageType: null
    functionLinenumber: 169
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 6
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:170"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:173"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:172"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].newKeyStore()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean"
    linkageType: null
    functionLinenumber: 95
    functionDepth: 1
    returnType: "java.security.KeyStore"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].getProvider()"
    - "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].getType()"
    - "[java.security.KeyStore].getInstance(java.lang.String,java.lang.String)"
    - "[java.security.KeyStore].getInstance(java.lang.String)"
    functionUses: 1
    ICount: 10
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:96"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:95"
        BranchSideFuncs:
        - "getProvider()"
        - "getType()"
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:96,1"
      Dst: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].getProvider()"
    - Src: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:96,1"
      Dst: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].getType()"
    - Src: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:96,1"
      Dst: "[java.security.KeyStore].getInstance(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:96,1"
      Dst: "[java.security.KeyStore].getInstance(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].getLocation()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 6
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].setLocation(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean"
    linkageType: null
    functionLinenumber: 115
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].getType()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean"
    linkageType: null
    functionLinenumber: 126
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 6
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:127"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:130"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:129"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].setType(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean"
    linkageType: null
    functionLinenumber: 141
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].getProvider()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean"
    linkageType: null
    functionLinenumber: 150
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].setProvider(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean"
    linkageType: null
    functionLinenumber: 159
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].getPassword()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean"
    linkageType: null
    functionLinenumber: 169
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 6
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:170"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:173"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:172"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].setPassword(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean"
    linkageType: null
    functionLinenumber: 181
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.ReceiverModelHandler].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.classic.model.processor.ReceiverModelHandler"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.ReceiverModelHandler:37,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.ReceiverModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.classic.model.processor.ReceiverModelHandler"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.model.processor.ReceiverModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.ReceiverModelHandler:41,1"
      Dst: "[ch.qos.logback.classic.model.processor.ReceiverModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.ReceiverModelHandler].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.classic.model.processor.ReceiverModelHandler"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.ReceiverModelHandler:37,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.ReceiverModelHandler].getSupportedModelClass()"
    functionSourceFile: "ch.qos.logback.classic.model.processor.ReceiverModelHandler"
    linkageType: null
    functionLinenumber: 45
    functionDepth: 0
    returnType: "java.lang.Class"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.ReceiverModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.classic.model.processor.ReceiverModelHandler"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.ComponentModel].getClassName()"
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getImport(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].pushObject(java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.model.processor.ModelHandlerException].<init>(java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 3
    ICount: 31
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.model.processor.ReceiverModelHandler:54"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.processor.ReceiverModelHandler:59"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.model.processor.ReceiverModelHandler:58"
        BranchSideFuncs:
        - "setContext(ch.qos.logback.core.Context)"
        - "instantiateByClassName(java.lang.String,java.lang.Class,ch.qos.logback.core.Context)"
        - "addError(java.lang.String,java.lang.Throwable)"
        - "getImport(java.lang.String)"
        - "pushObject(java.lang.Object)"
        - "addInfo(java.lang.String)"
        - "<init>(java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.ReceiverModelHandler:52,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].getClassName()"
    - Src: "ch.qos.logback.classic.model.processor.ReceiverModelHandler:54,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.ReceiverModelHandler:55,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.ReceiverModelHandler:59,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getImport(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.ReceiverModelHandler:63,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.ReceiverModelHandler:63,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.ReceiverModelHandler:65,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.model.processor.ReceiverModelHandler:66,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.model.processor.ReceiverModelHandler:68,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].pushObject(java.lang.Object)"
    - Src: "ch.qos.logback.classic.model.processor.ReceiverModelHandler:71,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.model.processor.ReceiverModelHandler:72,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerException].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ComponentModel].getClassName()"
    functionSourceFile: "ch.qos.logback.core.model.ComponentModel"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 11
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 282
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    - "[java.lang.String].length()"
    functionUses: 62
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].length()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getImport(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 287
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map].get(java.lang.Object)"
    functionUses: 9
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:288"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:291"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:290"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:292"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:295"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:294"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:291,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 3
    returnType: "java.lang.Object"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Class"
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].getClassLoaderOfObject(java.lang.Object)"
    - "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,java.lang.ClassLoader)"
    functionUses: 12
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:32,1"
      Dst: "[ch.qos.logback.core.util.Loader].getClassLoaderOfObject(java.lang.Object)"
    - Src: "ch.qos.logback.core.util.OptionHelper:33,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,java.lang.ClassLoader)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.Loader].getClassLoaderOfObject(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.util.Loader"
    linkageType: null
    functionLinenumber: 142
    functionDepth: 2
    returnType: "java.lang.ClassLoader"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].getClassLoaderOfClass(java.lang.Class)"
    - "[java.lang.NullPointerException].<init>(java.lang.String)"
    - "[java.lang.Object].getClass()"
    functionUses: 5
    ICount: 8
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.Loader:143"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.Loader:146"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.Loader:145"
        BranchSideFuncs:
        - "getClassLoaderOfClass(java.lang.Class)"
    Callsites:
    - Src: "ch.qos.logback.core.util.Loader:144,1"
      Dst: "[java.lang.NullPointerException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.util.Loader:146,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.util.Loader:146,1"
      Dst: "[ch.qos.logback.core.util.Loader].getClassLoaderOfClass(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,java.lang.ClassLoader)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 2
    returnType: "java.lang.Object"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Class"
    - "java.lang.ClassLoader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.OptionHelper].instantiateByClassNameAndParameter(java.lang.String,java.lang.Class,java.lang.ClassLoader,java.lang.Class,java.lang.Object)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:44,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].instantiateByClassNameAndParameter(java.lang.String,java.lang.Class,java.lang.ClassLoader,java.lang.Class,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].instantiateByClassNameAndParameter(java.lang.String,java.lang.Class,java.lang.ClassLoader,java.lang.Class,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 5
    argTypes:
    - "java.lang.String"
    - "java.lang.Class"
    - "java.lang.ClassLoader"
    - "java.lang.Class"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.IncompatibleClassException].<init>(java.lang.Class,java.lang.Class)"
    - "[ch.qos.logback.core.util.DynamicClassLoadingException].<init>(java.lang.String,java.lang.Throwable)"
    - "[java.lang.NullPointerException].<init>()"
    - "[java.lang.ClassLoader].loadClass(java.lang.String)"
    - "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    - "[java.lang.Class].getConstructor(java.lang.Class[])"
    - "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 35
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.OptionHelper:51"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:56"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:55"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:57"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:60"
        BranchSideFuncs:
        - "<init>(java.lang.Class,java.lang.Class)"
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:59"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:60"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:63"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:62"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:52,1"
      Dst: "[java.lang.NullPointerException].<init>()"
    - Src: "ch.qos.logback.core.util.OptionHelper:56,1"
      Dst: "[java.lang.ClassLoader].loadClass(java.lang.String)"
    - Src: "ch.qos.logback.core.util.OptionHelper:57,1"
      Dst: "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    - Src: "ch.qos.logback.core.util.OptionHelper:58,1"
      Dst: "[ch.qos.logback.core.util.IncompatibleClassException].<init>(java.lang.Class,java.lang.Class)"
    - Src: "ch.qos.logback.core.util.OptionHelper:61,1"
      Dst: "[java.lang.Class].getConstructor(java.lang.Class[])"
    - Src: "ch.qos.logback.core.util.OptionHelper:61,1"
      Dst: "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    - Src: "ch.qos.logback.core.util.OptionHelper:69,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.util.OptionHelper:69,1"
      Dst: "[ch.qos.logback.core.util.DynamicClassLoadingException].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.IncompatibleClassException].<init>(java.lang.Class,java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.util.IncompatibleClassException"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Exception].<init>()"
    functionUses: 1
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.IncompatibleClassException:24,1"
      Dst: "[java.lang.Exception].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.DynamicClassLoadingException].<init>(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.util.DynamicClassLoadingException"
    linkageType: null
    functionLinenumber: 20
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Exception].<init>(java.lang.String,java.lang.Throwable)"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.DynamicClassLoadingException:21,1"
      Dst: "[java.lang.Exception].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 67
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:45"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:44"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:47"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:46,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].pushObject(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 126
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].push(java.lang.Object)"
    functionUses: 12
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:127,1"
      Dst: "[java.util.Stack].push(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 74
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelHandlerException].<init>(java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelHandlerException"
    linkageType: null
    functionLinenumber: 10
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Exception].<init>(java.lang.Throwable)"
    functionUses: 5
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelHandlerException:11,1"
      Dst: "[java.lang.Exception].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.ReceiverModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.classic.model.processor.ReceiverModelHandler"
    linkageType: null
    functionLinenumber: 78
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekObject()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].popObject()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - "[ch.qos.logback.core.ContextBase].register(ch.qos.logback.core.spi.LifeCycle)"
    - "[ch.qos.logback.classic.net.SocketReceiver].run()"
    - "[ch.qos.logback.classic.net.ReceiverBase].start()"
    - "[ch.qos.logback.core.Context].register(ch.qos.logback.core.spi.LifeCycle)"
    functionUses: 3
    ICount: 19
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.model.processor.ReceiverModelHandler:79"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.processor.ReceiverModelHandler:83"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.model.processor.ReceiverModelHandler:82"
        BranchSideFuncs:
        - "peekObject()"
    - Branch String: "ch.qos.logback.classic.model.processor.ReceiverModelHandler:84"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.processor.ReceiverModelHandler:87"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.model.processor.ReceiverModelHandler:86"
        BranchSideFuncs:
        - "run()"
        - "popObject()"
        - "getContext()"
        - "start()"
        - "addInfo(java.lang.String)"
        - "register(ch.qos.logback.core.spi.LifeCycle)"
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.ReceiverModelHandler:83,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekObject()"
    - Src: "ch.qos.logback.classic.model.processor.ReceiverModelHandler:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.ReceiverModelHandler:87,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].popObject()"
    - Src: "ch.qos.logback.classic.model.processor.ReceiverModelHandler:88,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.ReceiverModelHandler:89,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - Src: "ch.qos.logback.classic.model.processor.ReceiverModelHandler:89,1"
      Dst: "[ch.qos.logback.core.Context].register(ch.qos.logback.core.spi.LifeCycle)"
    - Src: "ch.qos.logback.classic.model.processor.ReceiverModelHandler:90,1"
      Dst: "[ch.qos.logback.classic.net.ReceiverBase].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekObject()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 122
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].peek()"
    functionUses: 16
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:123,1"
      Dst: "[java.util.Stack].peek()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 96
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].popObject()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 130
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].pop()"
    functionUses: 12
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:131,1"
      Dst: "[java.util.Stack].pop()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 0
    returnType: "ch.qos.logback.core.Context"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 35
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.SystemInfo].<init>()"
    functionSourceFile: "ch.qos.logback.core.util.SystemInfo"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.SystemInfo:16,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.SystemInfo].getJavaVendor()"
    functionSourceFile: "ch.qos.logback.core.util.SystemInfo"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.OptionHelper].getSystemProperty(java.lang.String,java.lang.String)"
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.SystemInfo:19,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].getSystemProperty(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].getSystemProperty(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 145
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].getProperty(java.lang.String,java.lang.String)"
    functionUses: 3
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:146,1"
      Dst: "[java.lang.System].getProperty(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.ConversionRuleAction].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.action.ConversionRuleAction"
    linkageType: null
    functionLinenumber: 25
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.Action].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.ConversionRuleAction:26,1"
      Dst: "[ch.qos.logback.core.joran.action.Action].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.ConversionRuleAction].begin(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.ConversionRuleAction"
    linkageType: null
    functionLinenumber: 35
    functionDepth: 2
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.xml.sax.helpers.AttributesImpl].getValue(java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.ContextBase].getObject(java.lang.String)"
    - "[ch.qos.logback.core.ContextBase].putObject(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - "[ch.qos.logback.core.Context].getObject(java.lang.String)"
    - "[java.util.HashMap].<init>()"
    - "[ch.qos.logback.core.Context].putObject(java.lang.String,java.lang.Object)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 1
    ICount: 35
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.action.ConversionRuleAction:42"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.ConversionRuleAction:50"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.action.ConversionRuleAction:49"
        BranchSideFuncs:
        - "isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Branch String: "ch.qos.logback.core.joran.action.ConversionRuleAction:50"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.ConversionRuleAction:60"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.action.ConversionRuleAction:59"
        BranchSideFuncs:
        - "getObject(java.lang.String)"
    - Branch String: "ch.qos.logback.core.joran.action.ConversionRuleAction:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.ConversionRuleAction:66"
        BranchSideFuncs:
        - "putObject(java.lang.String,java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.joran.action.ConversionRuleAction:65"
        BranchSideFuncs:
        - "addError(java.lang.String)"
        - "addInfo(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.ConversionRuleAction:39,1"
      Dst: "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.ConversionRuleAction:42,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.ConversionRuleAction:45,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.ConversionRuleAction:60,1"
      Dst: "[ch.qos.logback.core.Context].getObject(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.ConversionRuleAction:62,1"
      Dst: "[java.util.HashMap].<init>()"
    - Src: "ch.qos.logback.core.joran.action.ConversionRuleAction:63,1"
      Dst: "[ch.qos.logback.core.Context].putObject(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.joran.action.ConversionRuleAction:66,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.ConversionRuleAction:66,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.ConversionRuleAction:67,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 282
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    - "[java.lang.String].length()"
    functionUses: 62
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].length()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.ConversionRuleAction].end(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.action.ConversionRuleAction"
    linkageType: null
    functionLinenumber: 79
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.ConversionRuleAction].finish(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.joran.action.ConversionRuleAction"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.ContextNameModel].<init>()"
    functionSourceFile: "ch.qos.logback.classic.model.ContextNameModel"
    linkageType: null
    functionLinenumber: 4
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.NamedModel].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.ContextNameModel:5,1"
      Dst: "[ch.qos.logback.core.model.NamedModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.ContextNameModel].makeNewInstance()"
    functionSourceFile: "ch.qos.logback.classic.model.ContextNameModel"
    linkageType: null
    functionLinenumber: 10
    functionDepth: 3
    returnType: "ch.qos.logback.classic.model.ContextNameModel"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.model.ContextNameModel].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.ContextNameModel:11,1"
      Dst: "[ch.qos.logback.classic.model.ContextNameModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.ContextNameModel].<init>()"
    functionSourceFile: "ch.qos.logback.classic.model.ContextNameModel"
    linkageType: null
    functionLinenumber: 4
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.NamedModel].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.ContextNameModel:5,1"
      Dst: "[ch.qos.logback.core.model.NamedModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.NamedModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.NamedModel"
    linkageType: null
    functionLinenumber: 17
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 5
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.NamedModel:18,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.recovery.ResilientFileOutputStream].<init>(java.io.File,boolean,long)"
    functionSourceFile: "ch.qos.logback.core.recovery.ResilientFileOutputStream"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.io.File"
    - "boolean"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.recovery.ResilientOutputStreamBase].<init>()"
    - "[java.io.FileOutputStream].<init>(java.io.File,boolean)"
    - "[java.io.BufferedOutputStream].<init>(java.io.OutputStream,int)"
    functionUses: 1
    ICount: 16
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.recovery.ResilientFileOutputStream:24,1"
      Dst: "[ch.qos.logback.core.recovery.ResilientOutputStreamBase].<init>()"
    - Src: "ch.qos.logback.core.recovery.ResilientFileOutputStream:26,1"
      Dst: "[java.io.FileOutputStream].<init>(java.io.File,boolean)"
    - Src: "ch.qos.logback.core.recovery.ResilientFileOutputStream:27,1"
      Dst: "[java.io.BufferedOutputStream].<init>(java.io.OutputStream,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.recovery.ResilientFileOutputStream].getChannel()"
    functionSourceFile: "ch.qos.logback.core.recovery.ResilientFileOutputStream"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 0
    returnType: "java.nio.channels.FileChannel"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.FileOutputStream].getChannel()"
    functionUses: 1
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.recovery.ResilientFileOutputStream:32"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.recovery.ResilientFileOutputStream:35"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.recovery.ResilientFileOutputStream:34"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.recovery.ResilientFileOutputStream:35,1"
      Dst: "[java.io.FileOutputStream].getChannel()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.recovery.ResilientFileOutputStream].getFile()"
    functionSourceFile: "ch.qos.logback.core.recovery.ResilientFileOutputStream"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.io.File"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.recovery.ResilientFileOutputStream].getDescription()"
    functionSourceFile: "ch.qos.logback.core.recovery.ResilientFileOutputStream"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File)"
    functionUses: 5
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.recovery.ResilientFileOutputStream:44,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.recovery.ResilientFileOutputStream].openNewOutputStream()"
    functionSourceFile: "ch.qos.logback.core.recovery.ResilientFileOutputStream"
    linkageType: null
    functionLinenumber: 49
    functionDepth: 0
    returnType: "java.io.OutputStream"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.FileOutputStream].<init>(java.io.File,boolean)"
    - "[java.io.BufferedOutputStream].<init>(java.io.OutputStream)"
    functionUses: 1
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.recovery.ResilientFileOutputStream:50,1"
      Dst: "[java.io.FileOutputStream].<init>(java.io.File,boolean)"
    - Src: "ch.qos.logback.core.recovery.ResilientFileOutputStream:51,1"
      Dst: "[java.io.BufferedOutputStream].<init>(java.io.OutputStream)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.recovery.ResilientFileOutputStream].toString()"
    functionSourceFile: "ch.qos.logback.core.recovery.ResilientFileOutputStream"
    linkageType: null
    functionLinenumber: 55
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].identityHashCode(java.lang.Object)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    functionUses: 3
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.recovery.ResilientFileOutputStream:56,1"
      Dst: "[java.lang.System].identityHashCode(java.lang.Object)"
    - Src: "ch.qos.logback.core.recovery.ResilientFileOutputStream:56,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareImpl].<init>(ch.qos.logback.core.Context,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareImpl"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 4
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:35,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareImpl].getOrigin()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareImpl"
    linkageType: null
    functionLinenumber: 41
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareImpl].setContext(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareImpl"
    linkageType: null
    functionLinenumber: 45
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 7
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareImpl:46"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:47"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareImpl:48"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:51"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:50"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:49,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.spi.ContextAwareImpl].getContext()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareImpl"
    linkageType: null
    functionLinenumber: 53
    functionDepth: 0
    returnType: "ch.qos.logback.core.Context"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareImpl].getStatusManager()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareImpl"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.core.status.StatusManager"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.Context].getStatusManager()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareImpl:58"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:61"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:60"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:61,1"
      Dst: "[ch.qos.logback.core.Context].getStatusManager()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareImpl].addStatus(ch.qos.logback.core.status.Status)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareImpl"
    linkageType: null
    functionLinenumber: 64
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.status.Status"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - "[ch.qos.logback.core.BasicStatusManager].add(ch.qos.logback.core.status.Status)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.ContextAwareImpl)"
    - "[java.io.PrintStream].println(java.lang.String)"
    - "[ch.qos.logback.core.Context].getStatusManager()"
    - "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    functionUses: 3
    ICount: 17
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareImpl:65"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:71"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:70"
        BranchSideFuncs:
        - "getStatusManager()"
    - Branch String: "ch.qos.logback.core.spi.ContextAwareImpl:66"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:69"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:68"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareImpl:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:75"
        BranchSideFuncs:
        - "add(ch.qos.logback.core.status.Status)"
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:74"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:67,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.ContextAwareImpl)"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:67,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:71,1"
      Dst: "[ch.qos.logback.core.Context].getStatusManager()"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:73,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.spi.ContextAwareImpl].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareImpl"
    linkageType: null
    functionLinenumber: 77
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.joran.spi.CAI_WithLocatorSupport].getOrigin()"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].getOrigin()"
    functionUses: 15
    ICount: 7
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:78,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].getOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:78,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:78,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareImpl].getOrigin()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareImpl"
    linkageType: null
    functionLinenumber: 41
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.status.InfoStatus"
    linkageType: null
    functionLinenumber: 17
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    functionUses: 15
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.InfoStatus:18,1"
      Dst: "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareImpl].addStatus(ch.qos.logback.core.status.Status)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareImpl"
    linkageType: null
    functionLinenumber: 64
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.status.Status"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - "[ch.qos.logback.core.BasicStatusManager].add(ch.qos.logback.core.status.Status)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.ContextAwareImpl)"
    - "[java.io.PrintStream].println(java.lang.String)"
    - "[ch.qos.logback.core.Context].getStatusManager()"
    - "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    functionUses: 3
    ICount: 17
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareImpl:65"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:71"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:70"
        BranchSideFuncs:
        - "getStatusManager()"
    - Branch String: "ch.qos.logback.core.spi.ContextAwareImpl:66"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:69"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:68"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareImpl:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:75"
        BranchSideFuncs:
        - "add(ch.qos.logback.core.status.Status)"
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:74"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:67,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.ContextAwareImpl)"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:67,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:71,1"
      Dst: "[ch.qos.logback.core.Context].getStatusManager()"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:73,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.spi.ContextAwareImpl].addInfo(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareImpl"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareImpl].getOrigin()"
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addStatus(ch.qos.logback.core.status.Status)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:82,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].getOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:82,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:82,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareImpl].getOrigin()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareImpl"
    linkageType: null
    functionLinenumber: 41
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.status.InfoStatus"
    linkageType: null
    functionLinenumber: 21
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.InfoStatus:22,1"
      Dst: "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareImpl].addStatus(ch.qos.logback.core.status.Status)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareImpl"
    linkageType: null
    functionLinenumber: 64
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.status.Status"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - "[ch.qos.logback.core.BasicStatusManager].add(ch.qos.logback.core.status.Status)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.ContextAwareImpl)"
    - "[java.io.PrintStream].println(java.lang.String)"
    - "[ch.qos.logback.core.Context].getStatusManager()"
    - "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    functionUses: 3
    ICount: 17
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareImpl:65"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:71"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:70"
        BranchSideFuncs:
        - "getStatusManager()"
    - Branch String: "ch.qos.logback.core.spi.ContextAwareImpl:66"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:69"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:68"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareImpl:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:75"
        BranchSideFuncs:
        - "add(ch.qos.logback.core.status.Status)"
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:74"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:67,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.ContextAwareImpl)"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:67,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:71,1"
      Dst: "[ch.qos.logback.core.Context].getStatusManager()"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:73,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.spi.ContextAwareImpl].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareImpl"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareImpl].getOrigin()"
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addStatus(ch.qos.logback.core.status.Status)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:86,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].getOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:86,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:86,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareImpl].getOrigin()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareImpl"
    linkageType: null
    functionLinenumber: 41
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.status.WarnStatus"
    linkageType: null
    functionLinenumber: 18
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    functionUses: 12
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.WarnStatus:19,1"
      Dst: "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareImpl].addStatus(ch.qos.logback.core.status.Status)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareImpl"
    linkageType: null
    functionLinenumber: 64
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.status.Status"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - "[ch.qos.logback.core.BasicStatusManager].add(ch.qos.logback.core.status.Status)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.ContextAwareImpl)"
    - "[java.io.PrintStream].println(java.lang.String)"
    - "[ch.qos.logback.core.Context].getStatusManager()"
    - "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    functionUses: 3
    ICount: 17
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareImpl:65"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:71"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:70"
        BranchSideFuncs:
        - "getStatusManager()"
    - Branch String: "ch.qos.logback.core.spi.ContextAwareImpl:66"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:69"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:68"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareImpl:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:75"
        BranchSideFuncs:
        - "add(ch.qos.logback.core.status.Status)"
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:74"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:67,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.ContextAwareImpl)"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:67,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:71,1"
      Dst: "[ch.qos.logback.core.Context].getStatusManager()"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:73,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.spi.ContextAwareImpl].addWarn(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareImpl"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareImpl].getOrigin()"
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addStatus(ch.qos.logback.core.status.Status)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:90,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].getOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:90,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:90,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareImpl].getOrigin()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareImpl"
    linkageType: null
    functionLinenumber: 41
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.status.WarnStatus"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionUses: 2
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.WarnStatus:23,1"
      Dst: "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareImpl].addStatus(ch.qos.logback.core.status.Status)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareImpl"
    linkageType: null
    functionLinenumber: 64
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.status.Status"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - "[ch.qos.logback.core.BasicStatusManager].add(ch.qos.logback.core.status.Status)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.ContextAwareImpl)"
    - "[java.io.PrintStream].println(java.lang.String)"
    - "[ch.qos.logback.core.Context].getStatusManager()"
    - "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    functionUses: 3
    ICount: 17
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareImpl:65"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:71"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:70"
        BranchSideFuncs:
        - "getStatusManager()"
    - Branch String: "ch.qos.logback.core.spi.ContextAwareImpl:66"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:69"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:68"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareImpl:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:75"
        BranchSideFuncs:
        - "add(ch.qos.logback.core.status.Status)"
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:74"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:67,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.ContextAwareImpl)"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:67,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:71,1"
      Dst: "[ch.qos.logback.core.Context].getStatusManager()"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:73,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.spi.ContextAwareImpl].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareImpl"
    linkageType: null
    functionLinenumber: 93
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.joran.spi.CAI_WithLocatorSupport].getOrigin()"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].getOrigin()"
    functionUses: 5
    ICount: 7
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:94,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].getOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:94,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:94,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareImpl].getOrigin()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareImpl"
    linkageType: null
    functionLinenumber: 41
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.status.ErrorStatus"
    linkageType: null
    functionLinenumber: 18
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    functionUses: 7
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.ErrorStatus:19,1"
      Dst: "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareImpl].addStatus(ch.qos.logback.core.status.Status)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareImpl"
    linkageType: null
    functionLinenumber: 64
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.status.Status"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - "[ch.qos.logback.core.BasicStatusManager].add(ch.qos.logback.core.status.Status)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.ContextAwareImpl)"
    - "[java.io.PrintStream].println(java.lang.String)"
    - "[ch.qos.logback.core.Context].getStatusManager()"
    - "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    functionUses: 3
    ICount: 17
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareImpl:65"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:71"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:70"
        BranchSideFuncs:
        - "getStatusManager()"
    - Branch String: "ch.qos.logback.core.spi.ContextAwareImpl:66"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:69"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:68"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareImpl:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:75"
        BranchSideFuncs:
        - "add(ch.qos.logback.core.status.Status)"
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:74"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:67,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.ContextAwareImpl)"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:67,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:71,1"
      Dst: "[ch.qos.logback.core.Context].getStatusManager()"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:73,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.spi.ContextAwareImpl].addError(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareImpl"
    linkageType: null
    functionLinenumber: 97
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.joran.spi.CAI_WithLocatorSupport].getOrigin()"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].getOrigin()"
    functionUses: 8
    ICount: 8
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:98,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].getOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:98,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:98,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.CallerDataConverter].<init>()"
    functionSourceFile: "ch.qos.logback.classic.pattern.CallerDataConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.ClassicConverter].<init>()"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:35,1"
      Dst: "[ch.qos.logback.classic.pattern.ClassicConverter].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.CallerDataConverter].start()"
    functionSourceFile: "ch.qos.logback.classic.pattern.CallerDataConverter"
    linkageType: null
    functionLinenumber: 49
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.DynamicConverter].getFirstOption()"
    - "[ch.qos.logback.classic.pattern.CallerDataConverter].isRange(java.lang.String)"
    - "[ch.qos.logback.classic.pattern.CallerDataConverter].splitRange(java.lang.String)"
    - "[ch.qos.logback.classic.pattern.CallerDataConverter].checkRange()"
    - "[ch.qos.logback.core.pattern.DynamicConverter].addError(java.lang.String)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].getOptionList()"
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.util.COWArrayList].get(int)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].getContext()"
    - "[ch.qos.logback.core.ContextBase].getObject(java.lang.String)"
    - "[ch.qos.logback.classic.pattern.CallerDataConverter].addEvaluator(ch.qos.logback.core.boolex.EventEvaluator)"
    - "[java.lang.Integer].parseInt(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    - "[ch.qos.logback.core.Context].getObject(java.lang.String)"
    - "[java.util.Map].get(java.lang.Object)"
    functionUses: 6
    ICount: 46
    EdgeCount: 13
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.CallerDataConverter:51"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:56"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:55"
        BranchSideFuncs:
        - "isRange(java.lang.String)"
    - Branch String: "ch.qos.logback.classic.pattern.CallerDataConverter:56"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:66"
        BranchSideFuncs:
        - "splitRange(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:65"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.CallerDataConverter:58"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:63"
        BranchSideFuncs:
        - "checkRange()"
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:62"
        BranchSideFuncs:
        - "addError(java.lang.String)"
    - Branch String: "ch.qos.logback.classic.pattern.CallerDataConverter:74"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:89"
        BranchSideFuncs:
        - "size()"
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:88"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.CallerDataConverter:74"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:89"
        BranchSideFuncs:
        - "size()"
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:88"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.CallerDataConverter:76"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:89"
        BranchSideFuncs:
        - "getContext()"
        - "get(int)"
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:88"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.CallerDataConverter:79"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:74"
        BranchSideFuncs:
        - "size()"
    - Branch String: "ch.qos.logback.classic.pattern.CallerDataConverter:83"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:75"
        BranchSideFuncs:
        - "addEvaluator(ch.qos.logback.core.boolex.EventEvaluator)"
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:74"
        BranchSideFuncs:
        - "size()"
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:50,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].getFirstOption()"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:56,1"
      Dst: "[ch.qos.logback.classic.pattern.CallerDataConverter].isRange(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:57,1"
      Dst: "[ch.qos.logback.classic.pattern.CallerDataConverter].splitRange(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:59,1"
      Dst: "[java.lang.Integer].parseInt(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:61,1"
      Dst: "[ch.qos.logback.classic.pattern.CallerDataConverter].checkRange()"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:63,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:63,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].addError(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:69,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].addError(java.lang.String,java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:72,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].getOptionList()"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:74,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:77,1"
      Dst: "[java.util.List].get(int)"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:78,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].getContext()"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:81,1"
      Dst: "[ch.qos.logback.core.Context].getObject(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:82,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:84,1"
      Dst: "[ch.qos.logback.classic.pattern.CallerDataConverter].addEvaluator(ch.qos.logback.core.boolex.EventEvaluator)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 19
    CyclomaticComplexity: 8
  - functionName: "[ch.qos.logback.classic.pattern.CallerDataConverter].isRange(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.pattern.CallerDataConverter"
    linkageType: null
    functionLinenumber: 91
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.CallerDataConverter].getDefaultRangeDelimiter()"
    - "[java.lang.String].contains(java.lang.CharSequence)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:92,1"
      Dst: "[ch.qos.logback.classic.pattern.CallerDataConverter].getDefaultRangeDelimiter()"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:92,1"
      Dst: "[java.lang.String].contains(java.lang.CharSequence)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.CallerDataConverter].getDefaultRangeDelimiter()"
    functionSourceFile: "ch.qos.logback.classic.pattern.CallerDataConverter"
    linkageType: null
    functionLinenumber: 168
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.CallerDataConverter].splitRange(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.pattern.CallerDataConverter"
    linkageType: null
    functionLinenumber: 95
    functionDepth: 1
    returnType: "java.lang.String[]"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.CallerDataConverter].getDefaultRangeDelimiter()"
    - "[java.util.regex.Pattern].quote(java.lang.String)"
    - "[java.lang.String].split(java.lang.String,int)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:96,1"
      Dst: "[ch.qos.logback.classic.pattern.CallerDataConverter].getDefaultRangeDelimiter()"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:96,1"
      Dst: "[java.util.regex.Pattern].quote(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:96,1"
      Dst: "[java.lang.String].split(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.CallerDataConverter].checkRange()"
    functionSourceFile: "ch.qos.logback.classic.pattern.CallerDataConverter"
    linkageType: null
    functionLinenumber: 99
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.DynamicConverter].addError(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int)"
    functionUses: 1
    ICount: 18
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.CallerDataConverter:100"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:101"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:100"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.CallerDataConverter:100"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:103"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:102"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.CallerDataConverter:103"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:106"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:105"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:101,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int)"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:101,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.classic.pattern.CallerDataConverter].addEvaluator(ch.qos.logback.core.boolex.EventEvaluator)"
    functionSourceFile: "ch.qos.logback.classic.pattern.CallerDataConverter"
    linkageType: null
    functionLinenumber: 108
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.boolex.EventEvaluator"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.util.ArrayList].<init>()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 10
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.CallerDataConverter:109"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:112"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:111"
        BranchSideFuncs:
        - "add(java.lang.Object)"
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:110,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:112,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.pattern.CallerDataConverter].isRange(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.pattern.CallerDataConverter"
    linkageType: null
    functionLinenumber: 91
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.CallerDataConverter].getDefaultRangeDelimiter()"
    - "[java.lang.String].contains(java.lang.CharSequence)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:92,1"
      Dst: "[ch.qos.logback.classic.pattern.CallerDataConverter].getDefaultRangeDelimiter()"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:92,1"
      Dst: "[java.lang.String].contains(java.lang.CharSequence)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.CallerDataConverter].splitRange(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.pattern.CallerDataConverter"
    linkageType: null
    functionLinenumber: 95
    functionDepth: 1
    returnType: "java.lang.String[]"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.CallerDataConverter].getDefaultRangeDelimiter()"
    - "[java.util.regex.Pattern].quote(java.lang.String)"
    - "[java.lang.String].split(java.lang.String,int)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:96,1"
      Dst: "[ch.qos.logback.classic.pattern.CallerDataConverter].getDefaultRangeDelimiter()"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:96,1"
      Dst: "[java.util.regex.Pattern].quote(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:96,1"
      Dst: "[java.lang.String].split(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.CallerDataConverter].checkRange()"
    functionSourceFile: "ch.qos.logback.classic.pattern.CallerDataConverter"
    linkageType: null
    functionLinenumber: 99
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.DynamicConverter].addError(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int)"
    functionUses: 1
    ICount: 18
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.CallerDataConverter:100"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:101"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:100"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.CallerDataConverter:100"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:103"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:102"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.CallerDataConverter:103"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:106"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:105"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:101,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int)"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:101,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.classic.pattern.CallerDataConverter].addEvaluator(ch.qos.logback.core.boolex.EventEvaluator)"
    functionSourceFile: "ch.qos.logback.classic.pattern.CallerDataConverter"
    linkageType: null
    functionLinenumber: 108
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.boolex.EventEvaluator"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.util.ArrayList].<init>()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 10
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.CallerDataConverter:109"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:112"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:111"
        BranchSideFuncs:
        - "add(java.lang.Object)"
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:110,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:112,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.pattern.CallerDataConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.pattern.CallerDataConverter"
    linkageType: null
    functionLinenumber: 115
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.util.COWArrayList].get(int)"
    - "[ch.qos.logback.core.boolex.JaninoEventEvaluatorBase].evaluate(java.lang.Object)"
    - "[ch.qos.logback.classic.boolex.OnMarkerEvaluator].evaluate(java.lang.Object)"
    - "[ch.qos.logback.classic.boolex.OnErrorEvaluator].evaluate(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.boolex.EventEvaluatorBase].getName()"
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.status.StatusBase].add(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getCallerData()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getCallerData()"
    - "[ch.qos.logback.classic.pattern.CallerDataConverter].getCallerLinePrefix()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    - "[ch.qos.logback.core.boolex.EventEvaluator].evaluate(java.lang.Object)"
    - "[ch.qos.logback.core.boolex.EventEvaluator].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getCallerData()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 71
    EdgeCount: 15
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.CallerDataConverter:118"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:147"
        BranchSideFuncs:
        - "size()"
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:146"
        BranchSideFuncs:
        - "getCallerData()"
    - Branch String: "ch.qos.logback.classic.pattern.CallerDataConverter:120"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:142"
        BranchSideFuncs:
        - "evaluate(java.lang.Object)"
        - "get(int)"
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:141"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.CallerDataConverter:123"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:139"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:138"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.CallerDataConverter:129"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:131"
        BranchSideFuncs:
        - "addError(java.lang.String,java.lang.Throwable)"
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:130"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.CallerDataConverter:131"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:119"
        BranchSideFuncs:
        - "<init>(java.lang.String,java.lang.Object)"
        - "add(ch.qos.logback.core.status.Status)"
        - "getName()"
        - "<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
        - "addStatus(ch.qos.logback.core.status.Status)"
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:118"
        BranchSideFuncs:
        - "size()"
    - Branch String: "ch.qos.logback.classic.pattern.CallerDataConverter:142"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:147"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:146"
        BranchSideFuncs:
        - "getCallerData()"
    - Branch String: "ch.qos.logback.classic.pattern.CallerDataConverter:148"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:160"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:159"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.CallerDataConverter:148"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:160"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:159"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.CallerDataConverter:149"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:149"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:148"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.CallerDataConverter:151"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:157"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:116,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:120,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:121,1"
      Dst: "[java.util.List].get(int)"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:123,1"
      Dst: "[ch.qos.logback.core.boolex.EventEvaluator].evaluate(java.lang.Object)"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:130,1"
      Dst: "[ch.qos.logback.core.boolex.EventEvaluator].getName()"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:130,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:130,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].addError(java.lang.String,java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:133,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:134,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:134,1"
      Dst: "[ch.qos.logback.core.status.StatusBase].add(ch.qos.logback.core.status.Status)"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:136,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].addStatus(ch.qos.logback.core.status.Status)"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:147,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getCallerData()"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:152,1"
      Dst: "[ch.qos.logback.classic.pattern.CallerDataConverter].getCallerLinePrefix()"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:152,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:153,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:155,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:158,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 23
    CyclomaticComplexity: 9
  - functionName: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.status.ErrorStatus"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionUses: 14
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.ErrorStatus:23,1"
      Dst: "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.status.ErrorStatus"
    linkageType: null
    functionLinenumber: 18
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    functionUses: 7
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.ErrorStatus:19,1"
      Dst: "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.CallerDataConverter].getCallerLinePrefix()"
    functionSourceFile: "ch.qos.logback.classic.pattern.CallerDataConverter"
    linkageType: null
    functionLinenumber: 164
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.CallerDataConverter].getCallerLinePrefix()"
    functionSourceFile: "ch.qos.logback.classic.pattern.CallerDataConverter"
    linkageType: null
    functionLinenumber: 164
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.CallerDataConverter].getDefaultRangeDelimiter()"
    functionSourceFile: "ch.qos.logback.classic.pattern.CallerDataConverter"
    linkageType: null
    functionLinenumber: 168
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.CallerDataConverter].convert(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.pattern.CallerDataConverter"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.CallerDataConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 11
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:35,1"
      Dst: "[ch.qos.logback.classic.pattern.CallerDataConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.CallerDataConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.pattern.CallerDataConverter"
    linkageType: null
    functionLinenumber: 115
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.util.COWArrayList].get(int)"
    - "[ch.qos.logback.core.boolex.JaninoEventEvaluatorBase].evaluate(java.lang.Object)"
    - "[ch.qos.logback.classic.boolex.OnMarkerEvaluator].evaluate(java.lang.Object)"
    - "[ch.qos.logback.classic.boolex.OnErrorEvaluator].evaluate(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.boolex.EventEvaluatorBase].getName()"
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.status.StatusBase].add(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getCallerData()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getCallerData()"
    - "[ch.qos.logback.classic.pattern.CallerDataConverter].getCallerLinePrefix()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    - "[ch.qos.logback.core.boolex.EventEvaluator].evaluate(java.lang.Object)"
    - "[ch.qos.logback.core.boolex.EventEvaluator].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getCallerData()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 71
    EdgeCount: 15
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.CallerDataConverter:118"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:147"
        BranchSideFuncs:
        - "size()"
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:146"
        BranchSideFuncs:
        - "getCallerData()"
    - Branch String: "ch.qos.logback.classic.pattern.CallerDataConverter:120"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:142"
        BranchSideFuncs:
        - "evaluate(java.lang.Object)"
        - "get(int)"
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:141"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.CallerDataConverter:123"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:139"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:138"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.CallerDataConverter:129"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:131"
        BranchSideFuncs:
        - "addError(java.lang.String,java.lang.Throwable)"
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:130"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.CallerDataConverter:131"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:119"
        BranchSideFuncs:
        - "<init>(java.lang.String,java.lang.Object)"
        - "add(ch.qos.logback.core.status.Status)"
        - "getName()"
        - "<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
        - "addStatus(ch.qos.logback.core.status.Status)"
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:118"
        BranchSideFuncs:
        - "size()"
    - Branch String: "ch.qos.logback.classic.pattern.CallerDataConverter:142"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:147"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:146"
        BranchSideFuncs:
        - "getCallerData()"
    - Branch String: "ch.qos.logback.classic.pattern.CallerDataConverter:148"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:160"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:159"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.CallerDataConverter:148"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:160"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:159"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.CallerDataConverter:149"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:149"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:148"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.CallerDataConverter:151"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.CallerDataConverter:157"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:116,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:120,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:121,1"
      Dst: "[java.util.List].get(int)"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:123,1"
      Dst: "[ch.qos.logback.core.boolex.EventEvaluator].evaluate(java.lang.Object)"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:130,1"
      Dst: "[ch.qos.logback.core.boolex.EventEvaluator].getName()"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:130,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:130,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].addError(java.lang.String,java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:133,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:134,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:134,1"
      Dst: "[ch.qos.logback.core.status.StatusBase].add(ch.qos.logback.core.status.Status)"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:136,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].addStatus(ch.qos.logback.core.status.Status)"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:147,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getCallerData()"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:152,1"
      Dst: "[ch.qos.logback.classic.pattern.CallerDataConverter].getCallerLinePrefix()"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:152,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:153,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:155,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "ch.qos.logback.classic.pattern.CallerDataConverter:158,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 23
    CyclomaticComplexity: 9
  - functionName: "[ch.qos.logback.core.pattern.SpacePadder].<init>()"
    functionSourceFile: "ch.qos.logback.core.pattern.SpacePadder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.SpacePadder:16,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.SpacePadder].leftPad(java.lang.StringBuilder,java.lang.String,int)"
    functionSourceFile: "ch.qos.logback.core.pattern.SpacePadder"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.StringBuilder"
    - "java.lang.String"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.SpacePadder].spacePad(java.lang.StringBuilder,int)"
    - "[java.lang.String].length()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 1
    ICount: 12
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.SpacePadder:25"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.SpacePadder:28"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.SpacePadder:27"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.SpacePadder:28"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.SpacePadder:31"
        BranchSideFuncs:
        - "spacePad(java.lang.StringBuilder,int)"
      - BranchSide: "ch.qos.logback.core.pattern.SpacePadder:30"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.SpacePadder:31"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.SpacePadder:34"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.SpacePadder:33"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.SpacePadder:26,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.core.pattern.SpacePadder:29,1"
      Dst: "[ch.qos.logback.core.pattern.SpacePadder].spacePad(java.lang.StringBuilder,int)"
    - Src: "ch.qos.logback.core.pattern.SpacePadder:32,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.pattern.SpacePadder].spacePad(java.lang.StringBuilder,int)"
    functionSourceFile: "ch.qos.logback.core.pattern.SpacePadder"
    linkageType: null
    functionLinenumber: 52
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 3
    ICount: 21
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.SpacePadder:53"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.SpacePadder:58"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.SpacePadder:57"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.SpacePadder:58"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.SpacePadder:63"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.SpacePadder:62"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.SpacePadder:59"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.SpacePadder:-1"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.SpacePadder:-2"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.SpacePadder:54,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.pattern.SpacePadder].rightPad(java.lang.StringBuilder,java.lang.String,int)"
    functionSourceFile: "ch.qos.logback.core.pattern.SpacePadder"
    linkageType: null
    functionLinenumber: 36
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.StringBuilder"
    - "java.lang.String"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.SpacePadder].spacePad(java.lang.StringBuilder,int)"
    - "[java.lang.String].length()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 1
    ICount: 12
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.SpacePadder:38"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.SpacePadder:41"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.SpacePadder:40"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.SpacePadder:41"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.SpacePadder:44"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.SpacePadder:43"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.SpacePadder:44"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.SpacePadder:47"
        BranchSideFuncs:
        - "spacePad(java.lang.StringBuilder,int)"
      - BranchSide: "ch.qos.logback.core.pattern.SpacePadder:46"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.SpacePadder:39,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.core.pattern.SpacePadder:42,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.core.pattern.SpacePadder:45,1"
      Dst: "[ch.qos.logback.core.pattern.SpacePadder].spacePad(java.lang.StringBuilder,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.pattern.SpacePadder].spacePad(java.lang.StringBuilder,int)"
    functionSourceFile: "ch.qos.logback.core.pattern.SpacePadder"
    linkageType: null
    functionLinenumber: 52
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 3
    ICount: 21
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.SpacePadder:53"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.SpacePadder:58"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.SpacePadder:57"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.SpacePadder:58"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.SpacePadder:63"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.SpacePadder:62"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.SpacePadder:59"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.SpacePadder:-1"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.SpacePadder:-2"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.SpacePadder:54,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.pattern.SpacePadder].spacePad(java.lang.StringBuilder,int)"
    functionSourceFile: "ch.qos.logback.core.pattern.SpacePadder"
    linkageType: null
    functionLinenumber: 52
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 3
    ICount: 21
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.SpacePadder:53"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.SpacePadder:58"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.SpacePadder:57"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.SpacePadder:58"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.SpacePadder:63"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.SpacePadder:62"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.SpacePadder:59"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.SpacePadder:-1"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.SpacePadder:-2"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.SpacePadder:54,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$makeInstance2__3].bootstrap$()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$makeInstance2__3"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator$makeInstance2__3].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$makeInstance2__3:-1,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator$makeInstance2__3].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$makeInstance2__3].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$makeInstance2__3"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$makeInstance2__3:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$makeInstance2__3].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$makeInstance2__3"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$makeInstance2__3:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$makeInstance2__3].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$makeInstance2__3"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 3
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull].makeInstance2(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$makeInstance2__3:-1,1"
      Dst: "[ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull].makeInstance2(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull].makeInstance2(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:44,1"
      Dst: "[ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull"
    linkageType: null
    functionLinenumber: 37
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.model.processor.ConfigurationModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:38,1"
      Dst: "[ch.qos.logback.classic.model.processor.ConfigurationModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.ConfigurationModelHandler].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:47,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.boolex.OnErrorEvaluator].<init>()"
    functionSourceFile: "ch.qos.logback.classic.boolex.OnErrorEvaluator"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.boolex.EventEvaluatorBase].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.boolex.OnErrorEvaluator:28,1"
      Dst: "[ch.qos.logback.core.boolex.EventEvaluatorBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.boolex.OnErrorEvaluator].evaluate(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.boolex.OnErrorEvaluator"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getLevel()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    functionUses: 1
    ICount: 10
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.boolex.OnErrorEvaluator:35"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.boolex.OnErrorEvaluator:34"
        BranchSideFuncs:
        - "getLevel()"
    Callsites:
    - Src: "ch.qos.logback.classic.boolex.OnErrorEvaluator:35,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.boolex.OnErrorEvaluator].evaluate(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.boolex.OnErrorEvaluator"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.boolex.OnErrorEvaluator].evaluate(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 4
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.boolex.OnErrorEvaluator:28,1"
      Dst: "[ch.qos.logback.classic.boolex.OnErrorEvaluator].evaluate(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.boolex.OnErrorEvaluator].evaluate(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.boolex.OnErrorEvaluator"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getLevel()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    functionUses: 1
    ICount: 10
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.boolex.OnErrorEvaluator:35"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.boolex.OnErrorEvaluator:34"
        BranchSideFuncs:
        - "getLevel()"
    Callsites:
    - Src: "ch.qos.logback.classic.boolex.OnErrorEvaluator:35,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.net.SyslogAppender].<init>()"
    functionSourceFile: "ch.qos.logback.classic.net.SyslogAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.SyslogAppenderBase].<init>()"
    - "[ch.qos.logback.classic.PatternLayout].<init>()"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SyslogAppender:40,1"
      Dst: "[ch.qos.logback.core.net.SyslogAppenderBase].<init>()"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:45,1"
      Dst: "[ch.qos.logback.classic.PatternLayout].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SyslogAppender].start()"
    functionSourceFile: "ch.qos.logback.classic.net.SyslogAppender"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.SyslogAppenderBase].start()"
    - "[ch.qos.logback.classic.net.SyslogAppender].setupStackTraceLayout()"
    functionUses: 6
    ICount: 4
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SyslogAppender:51,1"
      Dst: "[ch.qos.logback.core.net.SyslogAppenderBase].start()"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:52,1"
      Dst: "[ch.qos.logback.classic.net.SyslogAppender].setupStackTraceLayout()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SyslogAppender].setupStackTraceLayout()"
    functionSourceFile: "ch.qos.logback.classic.net.SyslogAppender"
    linkageType: null
    functionLinenumber: 137
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.PatternLayoutBase].getInstanceConverterMap()"
    - "[ch.qos.logback.classic.net.SyslogAppender].getPrefixPattern()"
    - "[ch.qos.logback.core.pattern.PatternLayoutBase].setPattern(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - "[ch.qos.logback.core.LayoutBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.pattern.PatternLayoutBase].start()"
    - "[java.lang.Class].getName()"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    functionUses: 1
    ICount: 17
    EdgeCount: 6
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SyslogAppender:138,1"
      Dst: "[ch.qos.logback.core.pattern.PatternLayoutBase].getInstanceConverterMap()"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:138,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:138,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:140,1"
      Dst: "[ch.qos.logback.classic.net.SyslogAppender].getPrefixPattern()"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:140,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:140,1"
      Dst: "[ch.qos.logback.core.pattern.PatternLayoutBase].setPattern(java.lang.String)"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:141,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:141,1"
      Dst: "[ch.qos.logback.core.LayoutBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:142,1"
      Dst: "[ch.qos.logback.core.pattern.PatternLayoutBase].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SyslogAppender].getPrefixPattern()"
    functionSourceFile: "ch.qos.logback.classic.net.SyslogAppender"
    linkageType: null
    functionLinenumber: 55
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.SyslogAppenderBase].getFacility()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SyslogAppender:56,1"
      Dst: "[ch.qos.logback.core.net.SyslogAppenderBase].getFacility()"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:56,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 0
    returnType: "ch.qos.logback.core.Context"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 35
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SyslogAppender].getPrefixPattern()"
    functionSourceFile: "ch.qos.logback.classic.net.SyslogAppender"
    linkageType: null
    functionLinenumber: 55
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.SyslogAppenderBase].getFacility()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SyslogAppender:56,1"
      Dst: "[ch.qos.logback.core.net.SyslogAppenderBase].getFacility()"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:56,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SyslogAppender].createOutputStream()"
    functionSourceFile: "ch.qos.logback.classic.net.SyslogAppender"
    linkageType: null
    functionLinenumber: 60
    functionDepth: 1
    returnType: "ch.qos.logback.core.net.SyslogOutputStream"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.SyslogOutputStream].<init>(java.lang.String,int)"
    - "[ch.qos.logback.core.net.SyslogAppenderBase].getPort()"
    - "[ch.qos.logback.core.net.SyslogAppenderBase].getSyslogHost()"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SyslogAppender:61,1"
      Dst: "[ch.qos.logback.core.net.SyslogAppenderBase].getSyslogHost()"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:61,1"
      Dst: "[ch.qos.logback.core.net.SyslogAppenderBase].getPort()"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:61,1"
      Dst: "[ch.qos.logback.core.net.SyslogOutputStream].<init>(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.SyslogOutputStream].<init>(java.lang.String,int)"
    functionSourceFile: "ch.qos.logback.core.net.SyslogOutputStream"
    linkageType: null
    functionLinenumber: 41
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.OutputStream].<init>()"
    - "[java.io.ByteArrayOutputStream].<init>()"
    - "[java.net.InetAddress].getByName(java.lang.String)"
    - "[java.net.DatagramSocket].<init>()"
    functionUses: 2
    ICount: 14
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.SyslogOutputStream:42,1"
      Dst: "[java.io.OutputStream].<init>()"
    - Src: "ch.qos.logback.core.net.SyslogOutputStream:39,1"
      Dst: "[java.io.ByteArrayOutputStream].<init>()"
    - Src: "ch.qos.logback.core.net.SyslogOutputStream:43,1"
      Dst: "[java.net.InetAddress].getByName(java.lang.String)"
    - Src: "ch.qos.logback.core.net.SyslogOutputStream:45,1"
      Dst: "[java.net.DatagramSocket].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SyslogAppender].getSeverityForEvent(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.net.SyslogAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "int"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.util.LevelToSyslogSeverity].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SyslogAppender:73,1"
      Dst: "[ch.qos.logback.classic.util.LevelToSyslogSeverity].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.LevelToSyslogSeverity].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.util.LevelToSyslogSeverity"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getLevel()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.classic.Level)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 12
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LevelToSyslogSeverity:28,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    - Src: "ch.qos.logback.classic.util.LevelToSyslogSeverity:41,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.classic.Level)"
    - Src: "ch.qos.logback.classic.util.LevelToSyslogSeverity:41,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SyslogAppender].postProcess(java.lang.Object,java.io.OutputStream)"
    functionSourceFile: "ch.qos.logback.classic.net.SyslogAppender"
    linkageType: null
    functionLinenumber: 77
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.io.OutputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getThrowableProxy()"
    - "[ch.qos.logback.classic.PatternLayout].doLayout(ch.qos.logback.classic.spi.ILoggingEvent)"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].getStackTraceElementProxyArray()"
    - "[ch.qos.logback.classic.net.SyslogAppender].handleThrowableFirstLine(java.io.OutputStream,ch.qos.logback.classic.spi.IThrowableProxy,java.lang.String,boolean)"
    - "[ch.qos.logback.core.joran.spi.ConsoleTarget$2].write(byte[])"
    - "[ch.qos.logback.core.joran.spi.ConsoleTarget$1].write(byte[])"
    - "[ch.qos.logback.core.joran.spi.ConsoleTarget$2].flush()"
    - "[ch.qos.logback.core.recovery.ResilientOutputStreamBase].flush()"
    - "[ch.qos.logback.core.joran.spi.ConsoleTarget$1].flush()"
    - "[ch.qos.logback.core.net.SyslogOutputStream].flush()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy:ch.qos.logback.classic.spi.ThrowableProxyVO].getCause()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getThrowableProxy()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getStackTraceElementProxyArray()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.String].getBytes()"
    - "[java.io.OutputStream].write(byte[])"
    - "[java.io.OutputStream].flush()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getCause()"
    functionUses: 1
    ICount: 38
    EdgeCount: 11
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.net.SyslogAppender:78"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SyslogAppender:81"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.net.SyslogAppender:80"
        BranchSideFuncs:
        - "getThrowableProxy()"
    - Branch String: "ch.qos.logback.classic.net.SyslogAppender:84"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SyslogAppender:87"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.net.SyslogAppender:86"
        BranchSideFuncs:
        - "doLayout(ch.qos.logback.classic.spi.ILoggingEvent)"
    - Branch String: "ch.qos.logback.classic.net.SyslogAppender:89"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SyslogAppender:105"
        BranchSideFuncs:
        - "handleThrowableFirstLine(java.io.OutputStream,ch.qos.logback.classic.spi.IThrowableProxy,java.lang.String,boolean)"
        - "getStackTraceElementProxyArray()"
      - BranchSide: "ch.qos.logback.classic.net.SyslogAppender:104"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.net.SyslogAppender:94"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SyslogAppender:102"
        BranchSideFuncs:
        - "getThrowableProxy()"
        - "write(byte[])"
        - "handleThrowableFirstLine(java.io.OutputStream,ch.qos.logback.classic.spi.IThrowableProxy,java.lang.String,boolean)"
        - "getStackTraceElementProxyArray()"
        - "doLayout(ch.qos.logback.classic.spi.ILoggingEvent)"
        - "flush()"
      - BranchSide: "ch.qos.logback.classic.net.SyslogAppender:101"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SyslogAppender:82,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getThrowableProxy()"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:87,1"
      Dst: "[ch.qos.logback.classic.PatternLayout].doLayout(ch.qos.logback.classic.spi.ILoggingEvent)"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:90,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getStackTraceElementProxyArray()"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:92,1"
      Dst: "[ch.qos.logback.classic.net.SyslogAppender].handleThrowableFirstLine(java.io.OutputStream,ch.qos.logback.classic.spi.IThrowableProxy,java.lang.String,boolean)"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:95,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:96,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:96,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:97,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:97,1"
      Dst: "[java.lang.String].getBytes()"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:97,1"
      Dst: "[java.io.OutputStream].write(byte[])"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:98,1"
      Dst: "[java.io.OutputStream].flush()"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:103,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getCause()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 13
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.PatternLayout].doLayout(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.PatternLayout"
    linkageType: null
    functionLinenumber: 172
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.LayoutBase].isStarted()"
    - "[ch.qos.logback.core.pattern.PatternLayoutBase].writeLoopOnConverters(java.lang.Object)"
    functionUses: 3
    ICount: 7
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.PatternLayout:173"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.PatternLayout:176"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.PatternLayout:175"
        BranchSideFuncs:
        - "writeLoopOnConverters(java.lang.Object)"
    Callsites:
    - Src: "ch.qos.logback.classic.PatternLayout:173,1"
      Dst: "[ch.qos.logback.core.LayoutBase].isStarted()"
    - Src: "ch.qos.logback.classic.PatternLayout:176,1"
      Dst: "[ch.qos.logback.core.pattern.PatternLayoutBase].writeLoopOnConverters(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SyslogAppender].handleThrowableFirstLine(java.io.OutputStream,ch.qos.logback.classic.spi.IThrowableProxy,java.lang.String,boolean)"
    functionSourceFile: "ch.qos.logback.classic.net.SyslogAppender"
    linkageType: null
    functionLinenumber: 109
    functionDepth: 0
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.io.OutputStream"
    - "ch.qos.logback.classic.spi.IThrowableProxy"
    - "java.lang.String"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].getClassName()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy:ch.qos.logback.classic.spi.ThrowableProxyVO].getMessage()"
    - "[ch.qos.logback.core.joran.spi.ConsoleTarget$2].write(byte[])"
    - "[ch.qos.logback.core.joran.spi.ConsoleTarget$1].write(byte[])"
    - "[ch.qos.logback.core.joran.spi.ConsoleTarget$2].flush()"
    - "[ch.qos.logback.core.recovery.ResilientOutputStreamBase].flush()"
    - "[ch.qos.logback.core.joran.spi.ConsoleTarget$1].flush()"
    - "[ch.qos.logback.core.net.SyslogOutputStream].flush()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getClassName()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getMessage()"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.String].getBytes()"
    - "[java.io.OutputStream].write(byte[])"
    - "[java.io.OutputStream].flush()"
    functionUses: 1
    ICount: 20
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.net.SyslogAppender:112"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SyslogAppender:115"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.net.SyslogAppender:114"
        BranchSideFuncs:
        - "write(byte[])"
        - "getClassName()"
        - "flush()"
        - "getMessage()"
    Callsites:
    - Src: "ch.qos.logback.classic.net.SyslogAppender:110,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:110,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:115,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getClassName()"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:115,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getMessage()"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:116,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:116,1"
      Dst: "[java.lang.String].getBytes()"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:116,1"
      Dst: "[java.io.OutputStream].write(byte[])"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:117,1"
      Dst: "[java.io.OutputStream].flush()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.net.SyslogAppender].handleThrowableFirstLine(java.io.OutputStream,ch.qos.logback.classic.spi.IThrowableProxy,java.lang.String,boolean)"
    functionSourceFile: "ch.qos.logback.classic.net.SyslogAppender"
    linkageType: null
    functionLinenumber: 109
    functionDepth: 0
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.io.OutputStream"
    - "ch.qos.logback.classic.spi.IThrowableProxy"
    - "java.lang.String"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].getClassName()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy:ch.qos.logback.classic.spi.ThrowableProxyVO].getMessage()"
    - "[ch.qos.logback.core.joran.spi.ConsoleTarget$2].write(byte[])"
    - "[ch.qos.logback.core.joran.spi.ConsoleTarget$1].write(byte[])"
    - "[ch.qos.logback.core.joran.spi.ConsoleTarget$2].flush()"
    - "[ch.qos.logback.core.recovery.ResilientOutputStreamBase].flush()"
    - "[ch.qos.logback.core.joran.spi.ConsoleTarget$1].flush()"
    - "[ch.qos.logback.core.net.SyslogOutputStream].flush()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getClassName()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getMessage()"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.String].getBytes()"
    - "[java.io.OutputStream].write(byte[])"
    - "[java.io.OutputStream].flush()"
    functionUses: 1
    ICount: 20
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.net.SyslogAppender:112"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SyslogAppender:115"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.net.SyslogAppender:114"
        BranchSideFuncs:
        - "write(byte[])"
        - "getClassName()"
        - "flush()"
        - "getMessage()"
    Callsites:
    - Src: "ch.qos.logback.classic.net.SyslogAppender:110,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:110,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:115,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getClassName()"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:115,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getMessage()"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:116,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:116,1"
      Dst: "[java.lang.String].getBytes()"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:116,1"
      Dst: "[java.io.OutputStream].write(byte[])"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:117,1"
      Dst: "[java.io.OutputStream].flush()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.net.SyslogAppender].stackTraceHeaderLine(java.lang.StringBuilder,boolean)"
    functionSourceFile: "ch.qos.logback.classic.net.SyslogAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SyslogAppender].buildLayout()"
    functionSourceFile: "ch.qos.logback.classic.net.SyslogAppender"
    linkageType: null
    functionLinenumber: 125
    functionDepth: 2
    returnType: "ch.qos.logback.core.Layout"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.PatternLayout].<init>()"
    - "[ch.qos.logback.core.pattern.PatternLayoutBase].getInstanceConverterMap()"
    - "[ch.qos.logback.classic.net.SyslogAppender].getPrefixPattern()"
    - "[ch.qos.logback.core.pattern.PatternLayoutBase].setPattern(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - "[ch.qos.logback.core.LayoutBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.pattern.PatternLayoutBase].start()"
    - "[java.lang.Class].getName()"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    functionUses: 1
    ICount: 18
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.net.SyslogAppender:128"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SyslogAppender:131"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.net.SyslogAppender:130"
        BranchSideFuncs:
        - "setContext(ch.qos.logback.core.Context)"
        - "getContext()"
        - "start()"
        - "setPattern(java.lang.String)"
        - "getPrefixPattern()"
    Callsites:
    - Src: "ch.qos.logback.classic.net.SyslogAppender:126,1"
      Dst: "[ch.qos.logback.classic.PatternLayout].<init>()"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:127,1"
      Dst: "[ch.qos.logback.core.pattern.PatternLayoutBase].getInstanceConverterMap()"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:127,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:127,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:131,1"
      Dst: "[ch.qos.logback.classic.net.SyslogAppender].getPrefixPattern()"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:131,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:131,1"
      Dst: "[ch.qos.logback.core.pattern.PatternLayoutBase].setPattern(java.lang.String)"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:132,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:132,1"
      Dst: "[ch.qos.logback.core.LayoutBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:133,1"
      Dst: "[ch.qos.logback.core.pattern.PatternLayoutBase].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.PatternLayout].<init>()"
    functionSourceFile: "ch.qos.logback.classic.PatternLayout"
    linkageType: null
    functionLinenumber: 163
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.PatternLayoutBase].<init>()"
    - "[ch.qos.logback.classic.pattern.EnsureExceptionHandling].<init>()"
    functionUses: 4
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.PatternLayout:164,1"
      Dst: "[ch.qos.logback.core.pattern.PatternLayoutBase].<init>()"
    - Src: "ch.qos.logback.classic.PatternLayout:165,1"
      Dst: "[ch.qos.logback.classic.pattern.EnsureExceptionHandling].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.EnsureExceptionHandling].<init>()"
    functionSourceFile: "ch.qos.logback.classic.pattern.EnsureExceptionHandling"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:24,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SyslogAppender].getPrefixPattern()"
    functionSourceFile: "ch.qos.logback.classic.net.SyslogAppender"
    linkageType: null
    functionLinenumber: 55
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.SyslogAppenderBase].getFacility()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SyslogAppender:56,1"
      Dst: "[ch.qos.logback.core.net.SyslogAppenderBase].getFacility()"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:56,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 0
    returnType: "ch.qos.logback.core.Context"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 35
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SyslogAppender].setupStackTraceLayout()"
    functionSourceFile: "ch.qos.logback.classic.net.SyslogAppender"
    linkageType: null
    functionLinenumber: 137
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.PatternLayoutBase].getInstanceConverterMap()"
    - "[ch.qos.logback.classic.net.SyslogAppender].getPrefixPattern()"
    - "[ch.qos.logback.core.pattern.PatternLayoutBase].setPattern(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - "[ch.qos.logback.core.LayoutBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.pattern.PatternLayoutBase].start()"
    - "[java.lang.Class].getName()"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    functionUses: 1
    ICount: 17
    EdgeCount: 6
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SyslogAppender:138,1"
      Dst: "[ch.qos.logback.core.pattern.PatternLayoutBase].getInstanceConverterMap()"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:138,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:138,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:140,1"
      Dst: "[ch.qos.logback.classic.net.SyslogAppender].getPrefixPattern()"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:140,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:140,1"
      Dst: "[ch.qos.logback.core.pattern.PatternLayoutBase].setPattern(java.lang.String)"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:141,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:141,1"
      Dst: "[ch.qos.logback.core.LayoutBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.net.SyslogAppender:142,1"
      Dst: "[ch.qos.logback.core.pattern.PatternLayoutBase].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SyslogAppender].isThrowableExcluded()"
    functionSourceFile: "ch.qos.logback.classic.net.SyslogAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SyslogAppender].setThrowableExcluded(boolean)"
    functionSourceFile: "ch.qos.logback.classic.net.SyslogAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SyslogAppender].getStackTracePattern()"
    functionSourceFile: "ch.qos.logback.classic.net.SyslogAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SyslogAppender].setStackTracePattern(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.net.SyslogAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.EndEvent].<init>(java.lang.String,java.lang.String,java.lang.String,org.xml.sax.Locator)"
    functionSourceFile: "ch.qos.logback.core.joran.event.EndEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    - "java.lang.String"
    - "org.xml.sax.Locator"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.event.SaxEvent].<init>(java.lang.String,java.lang.String,java.lang.String,org.xml.sax.Locator)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.EndEvent:21,1"
      Dst: "[ch.qos.logback.core.joran.event.SaxEvent].<init>(java.lang.String,java.lang.String,java.lang.String,org.xml.sax.Locator)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.EndEvent].toString()"
    functionSourceFile: "ch.qos.logback.core.joran.event.EndEvent"
    linkageType: null
    functionLinenumber: 25
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.xml.sax.helpers.LocatorImpl].getColumnNumber()"
    - "[org.xml.sax.helpers.LocatorImpl].getLineNumber()"
    - "[ch.qos.logback.core.joran.event.SaxEvent].getQName()"
    - "[org.xml.sax.Locator].getLineNumber()"
    - "[org.xml.sax.Locator].getColumnNumber()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int,int)"
    functionUses: 3
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.EndEvent:26,1"
      Dst: "[ch.qos.logback.core.joran.event.SaxEvent].getQName()"
    - Src: "ch.qos.logback.core.joran.event.EndEvent:26,1"
      Dst: "[org.xml.sax.Locator].getLineNumber()"
    - Src: "ch.qos.logback.core.joran.event.EndEvent:26,1"
      Dst: "[org.xml.sax.Locator].getColumnNumber()"
    - Src: "ch.qos.logback.core.joran.event.EndEvent:26,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.SaxEvent].getQName()"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEvent"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__98].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__98"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__98].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__98:-1,1"
      Dst: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__98].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__98].<init>()"
    functionSourceFile: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__98"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__98:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__98].<init>()"
    functionSourceFile: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__98"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__98:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__98].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__98"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.PropertyModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__98:-1,1"
      Dst: "[ch.qos.logback.core.model.processor.PropertyModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.PropertyModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.PropertyModelHandler"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.PropertyModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:29,1"
      Dst: "[ch.qos.logback.core.model.processor.PropertyModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.Reporter$TargetChoice].values()"
    functionSourceFile: "org.slf4j.helpers.Reporter$TargetChoice"
    linkageType: null
    functionLinenumber: 38
    functionDepth: 0
    returnType: "org.slf4j.helpers.Reporter$TargetChoice[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].clone()"
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.Reporter$TargetChoice:39,1"
      Dst: "[java.lang.Object].clone()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.Reporter$TargetChoice].valueOf(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.Reporter$TargetChoice"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "org.slf4j.helpers.Reporter$TargetChoice"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.Reporter$TargetChoice:39,1"
      Dst: "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.Reporter$TargetChoice].<init>(java.lang.String,int)"
    functionSourceFile: "org.slf4j.helpers.Reporter$TargetChoice"
    linkageType: null
    functionLinenumber: 38
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].<init>(java.lang.String,int)"
    functionUses: 2
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.Reporter$TargetChoice:39,1"
      Dst: "[java.lang.Enum].<init>(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.Reporter$TargetChoice].$values()"
    functionSourceFile: "org.slf4j.helpers.Reporter$TargetChoice"
    linkageType: null
    functionLinenumber: 38
    functionDepth: 0
    returnType: "org.slf4j.helpers.Reporter$TargetChoice[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.FilterReply].values()"
    functionSourceFile: "ch.qos.logback.core.spi.FilterReply"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 0
    returnType: "ch.qos.logback.core.spi.FilterReply[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].clone()"
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.FilterReply:28,1"
      Dst: "[java.lang.Object].clone()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.FilterReply].valueOf(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.FilterReply"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.core.spi.FilterReply"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.FilterReply:28,1"
      Dst: "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.FilterReply].<init>(java.lang.String,int)"
    functionSourceFile: "ch.qos.logback.core.spi.FilterReply"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].<init>(java.lang.String,int)"
    functionUses: 3
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.FilterReply:28,1"
      Dst: "[java.lang.Enum].<init>(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.FilterReply].$values()"
    functionSourceFile: "ch.qos.logback.core.spi.FilterReply"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 0
    returnType: "ch.qos.logback.core.spi.FilterReply[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__13].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__13"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__13].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__13:-1,1"
      Dst: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__13].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__13].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__13"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__13:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__13].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__13"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__13:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__13].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__13"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.StatusListenerModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__13:-1,1"
      Dst: "[ch.qos.logback.core.model.processor.StatusListenerModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.StatusListenerModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.StatusListenerModelHandler"
    linkageType: null
    functionLinenumber: 21
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.StatusListenerModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.StatusListenerModelHandler:22,1"
      Dst: "[ch.qos.logback.core.model.processor.StatusListenerModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.StatusListenerModelHandler].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.model.processor.StatusListenerModelHandler"
    linkageType: null
    functionLinenumber: 17
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.StatusListenerModelHandler:18,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SocketAppender].<init>()"
    functionSourceFile: "ch.qos.logback.classic.net.SocketAppender"
    linkageType: null
    functionLinenumber: 37
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.AbstractSocketAppender].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SocketAppender:38,1"
      Dst: "[ch.qos.logback.core.net.AbstractSocketAppender].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SocketAppender].postProcessEvent(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.net.SocketAppender"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].getCallerData()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getCallerData()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getCallerData()"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.net.SocketAppender:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SocketAppender:46"
        BranchSideFuncs:
        - "getCallerData()"
      - BranchSide: "ch.qos.logback.classic.net.SocketAppender:45"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SocketAppender:44,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getCallerData()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.net.SocketAppender].setIncludeCallerData(boolean)"
    functionSourceFile: "ch.qos.logback.classic.net.SocketAppender"
    linkageType: null
    functionLinenumber: 48
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SocketAppender].getPST()"
    functionSourceFile: "ch.qos.logback.classic.net.SocketAppender"
    linkageType: null
    functionLinenumber: 52
    functionDepth: 0
    returnType: "ch.qos.logback.core.spi.PreSerializationTransformer"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SocketAppender].postProcessEvent(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.net.SocketAppender"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.net.SocketAppender].postProcessEvent(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SocketAppender:32,1"
      Dst: "[ch.qos.logback.classic.net.SocketAppender].postProcessEvent(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SocketAppender].postProcessEvent(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.net.SocketAppender"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].getCallerData()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getCallerData()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getCallerData()"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.net.SocketAppender:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SocketAppender:46"
        BranchSideFuncs:
        - "getCallerData()"
      - BranchSide: "ch.qos.logback.classic.net.SocketAppender:45"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SocketAppender:44,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getCallerData()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__44].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__44"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__44].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__44:-1,1"
      Dst: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__44].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__44].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__44"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__44:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__44].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__44"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__44:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__44].get()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__44"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.ConversionRuleAction].<init>()"
    functionUses: 3
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__44:-1,1"
      Dst: "[ch.qos.logback.core.joran.action.ConversionRuleAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.ConversionRuleAction].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.action.ConversionRuleAction"
    linkageType: null
    functionLinenumber: 25
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.Action].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.ConversionRuleAction:26,1"
      Dst: "[ch.qos.logback.core.joran.action.Action].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__62].bootstrap$()"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__62"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__62].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__62:-1,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__62].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__62].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__62"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__62:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__62].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__62"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__62:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__62].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__62"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.model.processor.LoggerModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__62:-1,1"
      Dst: "[ch.qos.logback.classic.model.processor.LoggerModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.LoggerModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.classic.model.processor.LoggerModelHandler"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.model.processor.LoggerModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.LoggerModelHandler:28,1"
      Dst: "[ch.qos.logback.classic.model.processor.LoggerModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.LoggerModelHandler].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.classic.model.processor.LoggerModelHandler"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.LoggerModelHandler:24,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLConfiguration].<init>()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLConfiguration"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].<init>()"
    functionUses: 4
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLConfiguration:24,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLConfiguration].getParameters()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLConfiguration"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 2
    returnType: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].<init>()"
    functionUses: 4
    ICount: 8
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.SSLConfiguration:35"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLConfiguration:38"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLConfiguration:37"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLConfiguration:36,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].<init>()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:34,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 34
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:34,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLConfiguration].setParameters(ch.qos.logback.core.net.ssl.SSLParametersConfiguration)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLConfiguration"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.net.ssl.SSLParametersConfiguration"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.conditional.IfModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.conditional.IfModel"
    linkageType: null
    functionLinenumber: 19
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.conditional.IfModel:20,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.conditional.IfModel].makeNewInstance()"
    functionSourceFile: "ch.qos.logback.core.model.conditional.IfModel"
    linkageType: null
    functionLinenumber: 30
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.conditional.IfModel"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.conditional.IfModel].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.conditional.IfModel:31,1"
      Dst: "[ch.qos.logback.core.model.conditional.IfModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.conditional.IfModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.conditional.IfModel"
    linkageType: null
    functionLinenumber: 19
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.conditional.IfModel:20,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.ArrayList].<init>()"
    functionUses: 16
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:27,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.model.Model:40,1"
      Dst: "[java.util.ArrayList].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.conditional.IfModel].mirror(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.conditional.IfModel"
    linkageType: null
    functionLinenumber: 35
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].mirror(ch.qos.logback.core.model.Model)"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.conditional.IfModel:37,1"
      Dst: "[ch.qos.logback.core.model.Model].mirror(ch.qos.logback.core.model.Model)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].mirror(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 56
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 11
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.conditional.IfModel].getCondition()"
    functionSourceFile: "ch.qos.logback.core.model.conditional.IfModel"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.conditional.IfModel].setCondition(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.conditional.IfModel"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.conditional.IfModel].getBranchState()"
    functionSourceFile: "ch.qos.logback.core.model.conditional.IfModel"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 0
    returnType: "ch.qos.logback.core.model.conditional.IfModel$BranchState"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.conditional.IfModel].setBranchState(ch.qos.logback.core.model.conditional.IfModel$BranchState)"
    functionSourceFile: "ch.qos.logback.core.model.conditional.IfModel"
    linkageType: null
    functionLinenumber: 54
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.conditional.IfModel$BranchState"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 5
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.conditional.IfModel].setBranchState(boolean)"
    functionSourceFile: "ch.qos.logback.core.model.conditional.IfModel"
    linkageType: null
    functionLinenumber: 59
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.conditional.IfModel].setBranchState(ch.qos.logback.core.model.conditional.IfModel$BranchState)"
    functionUses: 1
    ICount: 9
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.conditional.IfModel:60"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.conditional.IfModel:63"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.conditional.IfModel:62"
        BranchSideFuncs:
        - "setBranchState(ch.qos.logback.core.model.conditional.IfModel$BranchState)"
    Callsites:
    - Src: "ch.qos.logback.core.model.conditional.IfModel:61,1"
      Dst: "[ch.qos.logback.core.model.conditional.IfModel].setBranchState(ch.qos.logback.core.model.conditional.IfModel$BranchState)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.model.conditional.IfModel].setBranchState(ch.qos.logback.core.model.conditional.IfModel$BranchState)"
    functionSourceFile: "ch.qos.logback.core.model.conditional.IfModel"
    linkageType: null
    functionLinenumber: 54
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.conditional.IfModel$BranchState"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 5
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.conditional.IfModel].resetBranchState()"
    functionSourceFile: "ch.qos.logback.core.model.conditional.IfModel"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.conditional.IfModel].setBranchState(ch.qos.logback.core.model.conditional.IfModel$BranchState)"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.conditional.IfModel:67,1"
      Dst: "[ch.qos.logback.core.model.conditional.IfModel].setBranchState(ch.qos.logback.core.model.conditional.IfModel$BranchState)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.conditional.IfModel].setBranchState(ch.qos.logback.core.model.conditional.IfModel$BranchState)"
    functionSourceFile: "ch.qos.logback.core.model.conditional.IfModel"
    linkageType: null
    functionLinenumber: 54
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.conditional.IfModel$BranchState"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 5
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.conditional.IfModel].toString()"
    functionSourceFile: "ch.qos.logback.core.model.conditional.IfModel"
    linkageType: null
    functionLinenumber: 71
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getSimpleName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    functionUses: 3
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.conditional.IfModel:72,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.model.conditional.IfModel:72,1"
      Dst: "[java.lang.Class].getSimpleName()"
    - Src: "ch.qos.logback.core.model.conditional.IfModel:72,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.conditional.IfModel].hashCode()"
    functionSourceFile: "ch.qos.logback.core.model.conditional.IfModel"
    linkageType: null
    functionLinenumber: 77
    functionDepth: 1
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].hashCode()"
    - "[java.util.Objects].hash(java.lang.Object[])"
    functionUses: 5
    ICount: 11
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.conditional.IfModel:78,1"
      Dst: "[ch.qos.logback.core.model.Model].hashCode()"
    - Src: "ch.qos.logback.core.model.conditional.IfModel:79,1"
      Dst: "[java.util.Objects].hash(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].hashCode()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 145
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Integer].valueOf(int)"
    - "[java.util.Objects].hash(java.lang.Object[])"
    functionUses: 15
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:146,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "ch.qos.logback.core.model.Model:146,1"
      Dst: "[java.util.Objects].hash(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.conditional.IfModel].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.model.conditional.IfModel"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].equals(java.lang.Object)"
    - "[java.lang.Object].getClass()"
    - "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    functionUses: 6
    ICount: 23
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.conditional.IfModel:85"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.conditional.IfModel:87"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.conditional.IfModel:86"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "ch.qos.logback.core.model.conditional.IfModel:87"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.conditional.IfModel:89"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.conditional.IfModel:88"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.conditional.IfModel:89"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.conditional.IfModel:91"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.conditional.IfModel:90"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.conditional.IfModel:92"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.conditional.IfModel:90"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.conditional.IfModel:92"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.conditional.IfModel:90"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.conditional.IfModel:87,1"
      Dst: "[ch.qos.logback.core.model.Model].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.model.conditional.IfModel:89,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.model.conditional.IfModel:92,1"
      Dst: "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 11
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.model.Model].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 150
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    functionUses: 16
    ICount: 30
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.Model:151"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:153"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:152"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:153"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:155"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:154"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:155"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:157"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:156"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:158"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:-1"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:158"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:-1"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:159"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:159"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:-2"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:155,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.model.Model:158,1"
      Dst: "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 13
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.sift.AppenderTracker].<init>(ch.qos.logback.core.Context,ch.qos.logback.core.sift.AppenderFactory)"
    functionSourceFile: "ch.qos.logback.core.sift.AppenderTracker"
    linkageType: null
    functionLinenumber: 40
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.sift.AppenderFactory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.AbstractComponentTracker].<init>()"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].<init>(ch.qos.logback.core.Context,java.lang.Object)"
    functionUses: 1
    ICount: 11
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.AppenderTracker:41,1"
      Dst: "[ch.qos.logback.core.spi.AbstractComponentTracker].<init>()"
    - Src: "ch.qos.logback.core.sift.AppenderTracker:44,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].<init>(ch.qos.logback.core.Context,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.AppenderTracker].processPriorToRemoval(ch.qos.logback.core.Appender)"
    functionSourceFile: "ch.qos.logback.core.sift.AppenderTracker"
    linkageType: null
    functionLinenumber: 48
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Appender"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.read.CyclicBufferAppender].stop()"
    - "[ch.qos.logback.core.FileAppender].stop()"
    - "[ch.qos.logback.core.net.server.AbstractServerSocketAppender].stop()"
    - "[ch.qos.logback.core.sift.SiftingAppenderBase].stop()"
    - "[ch.qos.logback.core.AsyncAppenderBase].stop()"
    - "[ch.qos.logback.core.OutputStreamAppender].stop()"
    - "[ch.qos.logback.core.net.AbstractSocketAppender].stop()"
    - "[ch.qos.logback.core.rolling.RollingFileAppender].stop()"
    - "[ch.qos.logback.core.net.SyslogAppenderBase].stop()"
    - "[ch.qos.logback.core.testUtil.StringListAppender].stop()"
    - "[ch.qos.logback.core.AppenderBase:ch.qos.logback.core.UnsynchronizedAppenderBase:ch.qos.logback.core.net.SMTPAppenderBase].stop()"
    - "[ch.qos.logback.core.spi.LifeCycle].stop()"
    functionUses: 1
    ICount: 4
    EdgeCount: 11
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.AppenderTracker:49,1"
      Dst: "[ch.qos.logback.core.spi.LifeCycle].stop()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.AppenderTracker].buildComponent(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.sift.AppenderTracker"
    linkageType: null
    functionLinenumber: 53
    functionDepth: 3
    returnType: "ch.qos.logback.core.Appender"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel].buildAppender(ch.qos.logback.core.Context,java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addError(java.lang.String)"
    - "[ch.qos.logback.core.sift.AppenderTracker].buildNOPAppender(java.lang.String)"
    - "[ch.qos.logback.core.sift.AppenderFactory].buildAppender(ch.qos.logback.core.Context,java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 14
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.sift.AppenderTracker:60"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.sift.AppenderTracker:64"
        BranchSideFuncs:
        - "buildNOPAppender(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.sift.AppenderTracker:63"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.AppenderTracker:56,1"
      Dst: "[ch.qos.logback.core.sift.AppenderFactory].buildAppender(ch.qos.logback.core.Context,java.lang.String)"
    - Src: "ch.qos.logback.core.sift.AppenderTracker:58,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.sift.AppenderTracker:58,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.sift.AppenderTracker:61,1"
      Dst: "[ch.qos.logback.core.sift.AppenderTracker].buildNOPAppender(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.spi.ContextAwareImpl].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareImpl"
    linkageType: null
    functionLinenumber: 93
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.joran.spi.CAI_WithLocatorSupport].getOrigin()"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].getOrigin()"
    functionUses: 5
    ICount: 7
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:94,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].getOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:94,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:94,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.AppenderTracker].buildNOPAppender(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.sift.AppenderTracker"
    linkageType: null
    functionLinenumber: 67
    functionDepth: 2
    returnType: "ch.qos.logback.core.helpers.NOPAppender"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addError(java.lang.String)"
    - "[ch.qos.logback.core.helpers.NOPAppender].<init>()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.AppenderBase].start()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 16
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.sift.AppenderTracker:68"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.sift.AppenderTracker:72"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.sift.AppenderTracker:71"
        BranchSideFuncs:
        - "<init>()"
        - "setContext(ch.qos.logback.core.Context)"
        - "start()"
    Callsites:
    - Src: "ch.qos.logback.core.sift.AppenderTracker:70,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.sift.AppenderTracker:70,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.sift.AppenderTracker:72,1"
      Dst: "[ch.qos.logback.core.helpers.NOPAppender].<init>()"
    - Src: "ch.qos.logback.core.sift.AppenderTracker:73,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.sift.AppenderTracker:74,1"
      Dst: "[ch.qos.logback.core.AppenderBase].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.helpers.NOPAppender].<init>()"
    functionSourceFile: "ch.qos.logback.core.helpers.NOPAppender"
    linkageType: null
    functionLinenumber: 17
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.AppenderBase].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.helpers.NOPAppender:18,1"
      Dst: "[ch.qos.logback.core.AppenderBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 67
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:45"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:44"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:47"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:46,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.sift.AppenderTracker].buildNOPAppender(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.sift.AppenderTracker"
    linkageType: null
    functionLinenumber: 67
    functionDepth: 2
    returnType: "ch.qos.logback.core.helpers.NOPAppender"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addError(java.lang.String)"
    - "[ch.qos.logback.core.helpers.NOPAppender].<init>()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.AppenderBase].start()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 16
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.sift.AppenderTracker:68"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.sift.AppenderTracker:72"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.sift.AppenderTracker:71"
        BranchSideFuncs:
        - "<init>()"
        - "setContext(ch.qos.logback.core.Context)"
        - "start()"
    Callsites:
    - Src: "ch.qos.logback.core.sift.AppenderTracker:70,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.sift.AppenderTracker:70,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.sift.AppenderTracker:72,1"
      Dst: "[ch.qos.logback.core.helpers.NOPAppender].<init>()"
    - Src: "ch.qos.logback.core.sift.AppenderTracker:73,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.sift.AppenderTracker:74,1"
      Dst: "[ch.qos.logback.core.AppenderBase].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.sift.AppenderTracker].isComponentStale(ch.qos.logback.core.Appender)"
    functionSourceFile: "ch.qos.logback.core.sift.AppenderTracker"
    linkageType: null
    functionLinenumber: 79
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Appender"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.AppenderBase:ch.qos.logback.core.UnsynchronizedAppenderBase].isStarted()"
    - "[ch.qos.logback.core.spi.LifeCycle].isStarted()"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.sift.AppenderTracker:80"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.sift.AppenderTracker:79"
        BranchSideFuncs:
        - "isStarted()"
    Callsites:
    - Src: "ch.qos.logback.core.sift.AppenderTracker:80,1"
      Dst: "[ch.qos.logback.core.spi.LifeCycle].isStarted()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.sift.AppenderTracker].isComponentStale(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.sift.AppenderTracker"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.sift.AppenderTracker].isComponentStale(ch.qos.logback.core.Appender)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.AppenderTracker:32,1"
      Dst: "[ch.qos.logback.core.sift.AppenderTracker].isComponentStale(ch.qos.logback.core.Appender)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.AppenderTracker].isComponentStale(ch.qos.logback.core.Appender)"
    functionSourceFile: "ch.qos.logback.core.sift.AppenderTracker"
    linkageType: null
    functionLinenumber: 79
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Appender"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.AppenderBase:ch.qos.logback.core.UnsynchronizedAppenderBase].isStarted()"
    - "[ch.qos.logback.core.spi.LifeCycle].isStarted()"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.sift.AppenderTracker:80"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.sift.AppenderTracker:79"
        BranchSideFuncs:
        - "isStarted()"
    Callsites:
    - Src: "ch.qos.logback.core.sift.AppenderTracker:80,1"
      Dst: "[ch.qos.logback.core.spi.LifeCycle].isStarted()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.sift.AppenderTracker].processPriorToRemoval(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.sift.AppenderTracker"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.sift.AppenderTracker].processPriorToRemoval(ch.qos.logback.core.Appender)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.AppenderTracker:32,1"
      Dst: "[ch.qos.logback.core.sift.AppenderTracker].processPriorToRemoval(ch.qos.logback.core.Appender)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.AppenderTracker].processPriorToRemoval(ch.qos.logback.core.Appender)"
    functionSourceFile: "ch.qos.logback.core.sift.AppenderTracker"
    linkageType: null
    functionLinenumber: 48
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Appender"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.read.CyclicBufferAppender].stop()"
    - "[ch.qos.logback.core.FileAppender].stop()"
    - "[ch.qos.logback.core.net.server.AbstractServerSocketAppender].stop()"
    - "[ch.qos.logback.core.sift.SiftingAppenderBase].stop()"
    - "[ch.qos.logback.core.AsyncAppenderBase].stop()"
    - "[ch.qos.logback.core.OutputStreamAppender].stop()"
    - "[ch.qos.logback.core.net.AbstractSocketAppender].stop()"
    - "[ch.qos.logback.core.rolling.RollingFileAppender].stop()"
    - "[ch.qos.logback.core.net.SyslogAppenderBase].stop()"
    - "[ch.qos.logback.core.testUtil.StringListAppender].stop()"
    - "[ch.qos.logback.core.AppenderBase:ch.qos.logback.core.UnsynchronizedAppenderBase:ch.qos.logback.core.net.SMTPAppenderBase].stop()"
    - "[ch.qos.logback.core.spi.LifeCycle].stop()"
    functionUses: 1
    ICount: 4
    EdgeCount: 11
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.AppenderTracker:49,1"
      Dst: "[ch.qos.logback.core.spi.LifeCycle].stop()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.StatusPrinter].<init>()"
    functionSourceFile: "ch.qos.logback.core.util.StatusPrinter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.StatusPrinter:27,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.StatusPrinter].setPrintStream(java.io.PrintStream)"
    functionSourceFile: "ch.qos.logback.core.util.StatusPrinter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.PrintStream"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.StatusPrinter].printInCaseOfErrorsOrWarnings(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.util.StatusPrinter"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 8
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.StatusPrinter].printInCaseOfErrorsOrWarnings(ch.qos.logback.core.Context,long)"
    functionUses: 3
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.StatusPrinter:44,1"
      Dst: "[ch.qos.logback.core.util.StatusPrinter].printInCaseOfErrorsOrWarnings(ch.qos.logback.core.Context,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.StatusPrinter].printInCaseOfErrorsOrWarnings(ch.qos.logback.core.Context,long)"
    functionSourceFile: "ch.qos.logback.core.util.StatusPrinter"
    linkageType: null
    functionLinenumber: 53
    functionDepth: 7
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - "[ch.qos.logback.core.ContextBase].getName()"
    - "[ch.qos.logback.core.status.StatusUtil].<init>(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.status.StatusUtil].getHighestLevel(long)"
    - "[ch.qos.logback.core.util.StatusPrinter].print(ch.qos.logback.core.status.StatusManager,long)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[ch.qos.logback.core.Context].getStatusManager()"
    - "[ch.qos.logback.core.Context].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.io.PrintStream].println(java.lang.String)"
    functionUses: 1
    ICount: 19
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.StatusPrinter:54"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:58"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:57"
        BranchSideFuncs:
        - "getStatusManager()"
    - Branch String: "ch.qos.logback.core.util.StatusPrinter:59"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:62"
        BranchSideFuncs:
        - "getName()"
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:61"
        BranchSideFuncs:
        - "<init>(ch.qos.logback.core.Context)"
        - "getHighestLevel(long)"
    - Branch String: "ch.qos.logback.core.util.StatusPrinter:63"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:67"
        BranchSideFuncs:
        - "print(ch.qos.logback.core.status.StatusManager,long)"
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:66"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.StatusPrinter:55,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.util.StatusPrinter:58,1"
      Dst: "[ch.qos.logback.core.Context].getStatusManager()"
    - Src: "ch.qos.logback.core.util.StatusPrinter:60,1"
      Dst: "[ch.qos.logback.core.Context].getName()"
    - Src: "ch.qos.logback.core.util.StatusPrinter:60,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.util.StatusPrinter:60,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    - Src: "ch.qos.logback.core.util.StatusPrinter:62,1"
      Dst: "[ch.qos.logback.core.status.StatusUtil].<init>(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.util.StatusPrinter:63,1"
      Dst: "[ch.qos.logback.core.status.StatusUtil].getHighestLevel(long)"
    - Src: "ch.qos.logback.core.util.StatusPrinter:64,1"
      Dst: "[ch.qos.logback.core.util.StatusPrinter].print(ch.qos.logback.core.status.StatusManager,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.status.StatusUtil].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.status.StatusUtil"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - "[java.lang.Object].<init>()"
    - "[ch.qos.logback.core.Context].getStatusManager()"
    functionUses: 4
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.StatusUtil:33,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.status.StatusUtil:34,1"
      Dst: "[ch.qos.logback.core.Context].getStatusManager()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.StatusUtil].getHighestLevel(long)"
    functionSourceFile: "ch.qos.logback.core.status.StatusUtil"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "int"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusUtil].filterStatusListByTimeThreshold(java.util.List,long)"
    - "[ch.qos.logback.core.BasicStatusManager].getCopyOfStatusList()"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.status.StatusBase].getLevel()"
    - "[ch.qos.logback.core.status.StatusManager].getCopyOfStatusList()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[ch.qos.logback.core.status.Status].getLevel()"
    functionUses: 1
    ICount: 16
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.status.StatusUtil:95"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:99"
        BranchSideFuncs:
        - "iterator()"
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:98"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.status.StatusUtil:96"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:98"
        BranchSideFuncs:
        - "getLevel()"
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:97"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.status.StatusUtil:93,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].getCopyOfStatusList()"
    - Src: "ch.qos.logback.core.status.StatusUtil:93,1"
      Dst: "[ch.qos.logback.core.status.StatusUtil].filterStatusListByTimeThreshold(java.util.List,long)"
    - Src: "ch.qos.logback.core.status.StatusUtil:95,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.status.StatusUtil:95,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.status.StatusUtil:95,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.status.StatusUtil:96,1"
      Dst: "[ch.qos.logback.core.status.Status].getLevel()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.status.StatusUtil].filterStatusListByTimeThreshold(java.util.List,long)"
    functionSourceFile: "ch.qos.logback.core.status.StatusUtil"
    linkageType: null
    functionLinenumber: 57
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 2
    argTypes:
    - "java.util.List"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.status.StatusBase].getTimestamp()"
    - "[java.util.ArrayList].<init>()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[ch.qos.logback.core.status.Status].getTimestamp()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 3
    ICount: 16
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.status.StatusUtil:59"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:63"
        BranchSideFuncs:
        - "iterator()"
        - "getTimestamp()"
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:62"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.status.StatusUtil:60"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:62"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:61"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.status.StatusUtil:58,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.core.status.StatusUtil:59,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.status.StatusUtil:59,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.status.StatusUtil:59,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.status.StatusUtil:60,1"
      Dst: "[ch.qos.logback.core.status.Status].getTimestamp()"
    - Src: "ch.qos.logback.core.status.StatusUtil:61,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.util.StatusPrinter].print(ch.qos.logback.core.status.StatusManager,long)"
    functionSourceFile: "ch.qos.logback.core.util.StatusPrinter"
    linkageType: null
    functionLinenumber: 121
    functionDepth: 6
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.status.StatusManager"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusUtil].filterStatusListByTimeThreshold(java.util.List,long)"
    - "[ch.qos.logback.core.BasicStatusManager].getCopyOfStatusList()"
    - "[ch.qos.logback.core.util.StatusPrinter].buildStrFromStatusList(java.lang.StringBuilder,java.util.List)"
    - "[java.lang.StringBuilder].<init>()"
    - "[ch.qos.logback.core.status.StatusManager].getCopyOfStatusList()"
    - "[java.lang.StringBuilder].toString()"
    - "[java.io.PrintStream].println(java.lang.String)"
    functionUses: 1
    ICount: 11
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.StatusPrinter:122,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.core.util.StatusPrinter:123,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].getCopyOfStatusList()"
    - Src: "ch.qos.logback.core.util.StatusPrinter:123,1"
      Dst: "[ch.qos.logback.core.status.StatusUtil].filterStatusListByTimeThreshold(java.util.List,long)"
    - Src: "ch.qos.logback.core.util.StatusPrinter:124,1"
      Dst: "[ch.qos.logback.core.util.StatusPrinter].buildStrFromStatusList(java.lang.StringBuilder,java.util.List)"
    - Src: "ch.qos.logback.core.util.StatusPrinter:125,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "ch.qos.logback.core.util.StatusPrinter:125,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.StatusPrinter].buildStrFromStatusList(java.lang.StringBuilder,java.util.List)"
    functionSourceFile: "ch.qos.logback.core.util.StatusPrinter"
    linkageType: null
    functionLinenumber: 134
    functionDepth: 5
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.util.StatusPrinter].buildStr(java.lang.StringBuilder,java.lang.String,ch.qos.logback.core.status.Status)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    functionUses: 1
    ICount: 12
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.StatusPrinter:135"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:137"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:136"
        BranchSideFuncs:
        - "iterator()"
    - Branch String: "ch.qos.logback.core.util.StatusPrinter:137"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:140"
        BranchSideFuncs:
        - "iterator()"
        - "buildStr(java.lang.StringBuilder,java.lang.String,ch.qos.logback.core.status.Status)"
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:139"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.StatusPrinter:137,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.util.StatusPrinter:137,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.util.StatusPrinter:137,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.util.StatusPrinter:138,1"
      Dst: "[ch.qos.logback.core.util.StatusPrinter].buildStr(java.lang.StringBuilder,java.lang.String,ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.StatusPrinter].buildStr(java.lang.StringBuilder,java.lang.String,ch.qos.logback.core.status.Status)"
    functionSourceFile: "ch.qos.logback.core.util.StatusPrinter"
    linkageType: null
    functionLinenumber: 164
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.StringBuilder"
    - "java.lang.String"
    - "ch.qos.logback.core.status.Status"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusBase].hasChildren()"
    - "[ch.qos.logback.core.util.CachingDateFormatter].format(long)"
    - "[ch.qos.logback.core.status.StatusBase].getTimestamp()"
    - "[ch.qos.logback.core.status.StatusBase].getThrowable()"
    - "[ch.qos.logback.core.util.StatusPrinter].appendThrowable(java.lang.StringBuilder,java.lang.Throwable)"
    - "[ch.qos.logback.core.status.StatusBase].iterator()"
    - "[ch.qos.logback.core.util.StatusPrinter].buildStr(java.lang.StringBuilder,java.lang.String,ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.status.Status].hasChildren()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[ch.qos.logback.core.status.Status].getTimestamp()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[ch.qos.logback.core.status.Status].getThrowable()"
    - "[ch.qos.logback.core.status.Status].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    functionUses: 3
    ICount: 34
    EdgeCount: 9
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.StatusPrinter:165"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:168"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:167"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.StatusPrinter:171"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:175"
        BranchSideFuncs:
        - "getTimestamp()"
        - "format(long)"
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:174"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.StatusPrinter:177"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:180"
        BranchSideFuncs:
        - "getThrowable()"
        - "appendThrowable(java.lang.StringBuilder,java.lang.Throwable)"
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:179"
        BranchSideFuncs:
        - "hasChildren()"
    - Branch String: "ch.qos.logback.core.util.StatusPrinter:180"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:187"
        BranchSideFuncs:
        - "iterator()"
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:186"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.StatusPrinter:182"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:187"
        BranchSideFuncs:
        - "buildStr(java.lang.StringBuilder,java.lang.String,ch.qos.logback.core.status.Status)"
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:186"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.StatusPrinter:165,1"
      Dst: "[ch.qos.logback.core.status.Status].hasChildren()"
    - Src: "ch.qos.logback.core.util.StatusPrinter:166,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.util.StatusPrinter:172,1"
      Dst: "[ch.qos.logback.core.status.Status].getTimestamp()"
    - Src: "ch.qos.logback.core.util.StatusPrinter:172,1"
      Dst: "[ch.qos.logback.core.util.CachingDateFormatter].format(long)"
    - Src: "ch.qos.logback.core.util.StatusPrinter:173,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.core.util.StatusPrinter:175,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "ch.qos.logback.core.util.StatusPrinter:177,1"
      Dst: "[ch.qos.logback.core.status.Status].getThrowable()"
    - Src: "ch.qos.logback.core.util.StatusPrinter:178,1"
      Dst: "[ch.qos.logback.core.util.StatusPrinter].appendThrowable(java.lang.StringBuilder,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.util.StatusPrinter:181,1"
      Dst: "[ch.qos.logback.core.status.Status].iterator()"
    - Src: "ch.qos.logback.core.util.StatusPrinter:182,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.util.StatusPrinter:183,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.util.StatusPrinter:184,1"
      Dst: "[ch.qos.logback.core.util.StatusPrinter].buildStr(java.lang.StringBuilder,java.lang.String,ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 12
    CyclomaticComplexity: 6
  - functionName: "[ch.qos.logback.core.util.CachingDateFormatter].format(long)"
    functionSourceFile: "ch.qos.logback.core.util.CachingDateFormatter"
    linkageType: null
    functionLinenumber: 68
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.CachingDateFormatter$CacheTuple].<init>(long,java.lang.String)"
    - "[java.util.concurrent.atomic.AtomicReference].get()"
    - "[java.time.Instant].ofEpochMilli(long)"
    - "[java.time.format.DateTimeFormatter].format(java.time.temporal.TemporalAccessor)"
    - "[java.util.concurrent.atomic.AtomicReference].compareAndSet(java.lang.Object,java.lang.Object)"
    functionUses: 6
    ICount: 19
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.CachingDateFormatter:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.CachingDateFormatter:79"
        BranchSideFuncs:
        - "<init>(long,java.lang.String)"
      - BranchSide: "ch.qos.logback.core.util.CachingDateFormatter:78"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:69,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].get()"
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:73,1"
      Dst: "[java.time.Instant].ofEpochMilli(long)"
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:74,1"
      Dst: "[java.time.format.DateTimeFormatter].format(java.time.temporal.TemporalAccessor)"
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:75,1"
      Dst: "[ch.qos.logback.core.util.CachingDateFormatter$CacheTuple].<init>(long,java.lang.String)"
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:77,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].compareAndSet(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.CachingDateFormatter$CacheTuple].<init>(long,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.CachingDateFormatter$CacheTuple"
    linkageType: null
    functionLinenumber: 40
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "long"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 2
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.CachingDateFormatter$CacheTuple:41,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.StatusPrinter].appendThrowable(java.lang.StringBuilder,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.util.StatusPrinter"
    linkageType: null
    functionLinenumber: 146
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.helpers.ThrowableToStringArray].convert(java.lang.Throwable)"
    - "[java.lang.String].startsWith(java.lang.String)"
    - "[java.lang.String].charAt(int)"
    - "[java.lang.Character].isDigit(char)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 1
    ICount: 22
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.StatusPrinter:149"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:161"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:160"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.StatusPrinter:150"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:151"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.StatusPrinter:152"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:156"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.StatusPrinter:147,1"
      Dst: "[ch.qos.logback.core.helpers.ThrowableToStringArray].convert(java.lang.Throwable)"
    - Src: "ch.qos.logback.core.util.StatusPrinter:150,1"
      Dst: "[java.lang.String].startsWith(java.lang.String)"
    - Src: "ch.qos.logback.core.util.StatusPrinter:152,1"
      Dst: "[java.lang.String].charAt(int)"
    - Src: "ch.qos.logback.core.util.StatusPrinter:152,1"
      Dst: "[java.lang.Character].isDigit(char)"
    - Src: "ch.qos.logback.core.util.StatusPrinter:154,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.helpers.ThrowableToStringArray].convert(java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.helpers.ThrowableToStringArray"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 2
    returnType: "java.lang.String[]"
    argCount: 1
    argTypes:
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.helpers.ThrowableToStringArray].extract(java.util.List,java.lang.Throwable,java.lang.StackTraceElement[])"
    - "[java.util.LinkedList].<init>()"
    - "[java.util.List].toArray(java.lang.Object[])"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.helpers.ThrowableToStringArray:24,1"
      Dst: "[java.util.LinkedList].<init>()"
    - Src: "ch.qos.logback.core.helpers.ThrowableToStringArray:25,1"
      Dst: "[ch.qos.logback.core.helpers.ThrowableToStringArray].extract(java.util.List,java.lang.Throwable,java.lang.StackTraceElement[])"
    - Src: "ch.qos.logback.core.helpers.ThrowableToStringArray:26,1"
      Dst: "[java.util.List].toArray(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.helpers.ThrowableToStringArray].extract(java.util.List,java.lang.Throwable,java.lang.StackTraceElement[])"
    functionSourceFile: "ch.qos.logback.core.helpers.ThrowableToStringArray"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.util.List"
    - "java.lang.Throwable"
    - "java.lang.StackTraceElement[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.helpers.ThrowableToStringArray].findNumberOfCommonFrames(java.lang.StackTraceElement[],java.lang.StackTraceElement[])"
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[ch.qos.logback.core.helpers.ThrowableToStringArray].formatFirstLine(java.lang.Throwable,java.lang.StackTraceElement[])"
    - "[ch.qos.logback.core.spi.ScanException:org.xml.sax.SAXException].getCause()"
    - "[ch.qos.logback.core.helpers.ThrowableToStringArray].extract(java.util.List,java.lang.Throwable,java.lang.StackTraceElement[])"
    - "[java.lang.Throwable].getStackTrace()"
    - "[java.util.List].add(java.lang.Object)"
    - "[java.lang.StackTraceElement].toString()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - "[java.lang.Throwable].getCause()"
    functionUses: 2
    ICount: 24
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.helpers.ThrowableToStringArray:36"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.ThrowableToStringArray:39"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.helpers.ThrowableToStringArray:40"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.ThrowableToStringArray:44"
        BranchSideFuncs:
        - "add(java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.helpers.ThrowableToStringArray:43"
        BranchSideFuncs:
        - "getCause()"
    - Branch String: "ch.qos.logback.core.helpers.ThrowableToStringArray:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.ThrowableToStringArray:48"
        BranchSideFuncs:
        - "extract(java.util.List,java.lang.Throwable,java.lang.StackTraceElement[])"
      - BranchSide: "ch.qos.logback.core.helpers.ThrowableToStringArray:47"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.helpers.ThrowableToStringArray:32,1"
      Dst: "[java.lang.Throwable].getStackTrace()"
    - Src: "ch.qos.logback.core.helpers.ThrowableToStringArray:33,1"
      Dst: "[ch.qos.logback.core.helpers.ThrowableToStringArray].findNumberOfCommonFrames(java.lang.StackTraceElement[],java.lang.StackTraceElement[])"
    - Src: "ch.qos.logback.core.helpers.ThrowableToStringArray:35,1"
      Dst: "[ch.qos.logback.core.helpers.ThrowableToStringArray].formatFirstLine(java.lang.Throwable,java.lang.StackTraceElement[])"
    - Src: "ch.qos.logback.core.helpers.ThrowableToStringArray:35,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "ch.qos.logback.core.helpers.ThrowableToStringArray:37,1"
      Dst: "[java.lang.StackTraceElement].toString()"
    - Src: "ch.qos.logback.core.helpers.ThrowableToStringArray:37,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.helpers.ThrowableToStringArray:41,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - Src: "ch.qos.logback.core.helpers.ThrowableToStringArray:44,1"
      Dst: "[java.lang.Throwable].getCause()"
    - Src: "ch.qos.logback.core.helpers.ThrowableToStringArray:46,1"
      Dst: "[ch.qos.logback.core.helpers.ThrowableToStringArray].extract(java.util.List,java.lang.Throwable,java.lang.StackTraceElement[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.helpers.ThrowableToStringArray].findNumberOfCommonFrames(java.lang.StackTraceElement[],java.lang.StackTraceElement[])"
    functionSourceFile: "ch.qos.logback.core.helpers.ThrowableToStringArray"
    linkageType: null
    functionLinenumber: 63
    functionDepth: 0
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.lang.StackTraceElement[]"
    - "java.lang.StackTraceElement[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StackTraceElement].equals(java.lang.Object)"
    functionUses: 1
    ICount: 22
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.helpers.ThrowableToStringArray:64"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.ThrowableToStringArray:68"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.ThrowableToStringArray:67"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.helpers.ThrowableToStringArray:71"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.ThrowableToStringArray:80"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.ThrowableToStringArray:79"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.helpers.ThrowableToStringArray:71"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.ThrowableToStringArray:80"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.ThrowableToStringArray:79"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.helpers.ThrowableToStringArray:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.ThrowableToStringArray:80"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.ThrowableToStringArray:79"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.helpers.ThrowableToStringArray:72,1"
      Dst: "[java.lang.StackTraceElement].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.helpers.ThrowableToStringArray].formatFirstLine(java.lang.Throwable,java.lang.StackTraceElement[])"
    functionSourceFile: "ch.qos.logback.core.helpers.ThrowableToStringArray"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "java.lang.Throwable"
    - "java.lang.StackTraceElement[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.xml.sax.SAXException].getMessage()"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - "[java.lang.Throwable].getMessage()"
    functionUses: 1
    ICount: 14
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.helpers.ThrowableToStringArray:52"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.ThrowableToStringArray:56"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.ThrowableToStringArray:55"
        BranchSideFuncs:
        - "getMessage()"
    - Branch String: "ch.qos.logback.core.helpers.ThrowableToStringArray:57"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.ThrowableToStringArray:60"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.ThrowableToStringArray:59"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.helpers.ThrowableToStringArray:56,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.helpers.ThrowableToStringArray:56,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.core.helpers.ThrowableToStringArray:56,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.helpers.ThrowableToStringArray:57,1"
      Dst: "[java.lang.Throwable].getMessage()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.util.StatusPrinter].printInCaseOfErrorsOrWarnings(ch.qos.logback.core.Context,long)"
    functionSourceFile: "ch.qos.logback.core.util.StatusPrinter"
    linkageType: null
    functionLinenumber: 53
    functionDepth: 7
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - "[ch.qos.logback.core.ContextBase].getName()"
    - "[ch.qos.logback.core.status.StatusUtil].<init>(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.status.StatusUtil].getHighestLevel(long)"
    - "[ch.qos.logback.core.util.StatusPrinter].print(ch.qos.logback.core.status.StatusManager,long)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[ch.qos.logback.core.Context].getStatusManager()"
    - "[ch.qos.logback.core.Context].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.io.PrintStream].println(java.lang.String)"
    functionUses: 1
    ICount: 19
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.StatusPrinter:54"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:58"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:57"
        BranchSideFuncs:
        - "getStatusManager()"
    - Branch String: "ch.qos.logback.core.util.StatusPrinter:59"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:62"
        BranchSideFuncs:
        - "getName()"
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:61"
        BranchSideFuncs:
        - "<init>(ch.qos.logback.core.Context)"
        - "getHighestLevel(long)"
    - Branch String: "ch.qos.logback.core.util.StatusPrinter:63"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:67"
        BranchSideFuncs:
        - "print(ch.qos.logback.core.status.StatusManager,long)"
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:66"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.StatusPrinter:55,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.util.StatusPrinter:58,1"
      Dst: "[ch.qos.logback.core.Context].getStatusManager()"
    - Src: "ch.qos.logback.core.util.StatusPrinter:60,1"
      Dst: "[ch.qos.logback.core.Context].getName()"
    - Src: "ch.qos.logback.core.util.StatusPrinter:60,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.util.StatusPrinter:60,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    - Src: "ch.qos.logback.core.util.StatusPrinter:62,1"
      Dst: "[ch.qos.logback.core.status.StatusUtil].<init>(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.util.StatusPrinter:63,1"
      Dst: "[ch.qos.logback.core.status.StatusUtil].getHighestLevel(long)"
    - Src: "ch.qos.logback.core.util.StatusPrinter:64,1"
      Dst: "[ch.qos.logback.core.util.StatusPrinter].print(ch.qos.logback.core.status.StatusManager,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.util.StatusPrinter].printIfErrorsOccured(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.util.StatusPrinter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 8
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[ch.qos.logback.core.Context].getStatusManager()"
    - "[ch.qos.logback.core.Context].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.io.PrintStream].println(java.lang.String)"
    - "[ch.qos.logback.core.status.StatusUtil].<init>(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.status.StatusUtil].getHighestLevel(long)"
    - "[ch.qos.logback.core.util.StatusPrinter].print(ch.qos.logback.core.status.StatusManager)"
    functionUses: 0
    ICount: 18
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.StatusPrinter:75"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:79"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:78"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.StatusPrinter:80"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:83"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:82"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.StatusPrinter:84"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:88"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:87"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.StatusPrinter:76,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.util.StatusPrinter:79,1"
      Dst: "[ch.qos.logback.core.Context].getStatusManager()"
    - Src: "ch.qos.logback.core.util.StatusPrinter:81,1"
      Dst: "[ch.qos.logback.core.Context].getName()"
    - Src: "ch.qos.logback.core.util.StatusPrinter:81,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.util.StatusPrinter:81,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    - Src: "ch.qos.logback.core.util.StatusPrinter:83,1"
      Dst: "[ch.qos.logback.core.status.StatusUtil].<init>(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.util.StatusPrinter:84,1"
      Dst: "[ch.qos.logback.core.status.StatusUtil].getHighestLevel(long)"
    - Src: "ch.qos.logback.core.util.StatusPrinter:85,1"
      Dst: "[ch.qos.logback.core.util.StatusPrinter].print(ch.qos.logback.core.status.StatusManager)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.status.StatusUtil].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.status.StatusUtil"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - "[java.lang.Object].<init>()"
    - "[ch.qos.logback.core.Context].getStatusManager()"
    functionUses: 4
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.StatusUtil:33,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.status.StatusUtil:34,1"
      Dst: "[ch.qos.logback.core.Context].getStatusManager()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.StatusUtil].getHighestLevel(long)"
    functionSourceFile: "ch.qos.logback.core.status.StatusUtil"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "int"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusUtil].filterStatusListByTimeThreshold(java.util.List,long)"
    - "[ch.qos.logback.core.BasicStatusManager].getCopyOfStatusList()"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.status.StatusBase].getLevel()"
    - "[ch.qos.logback.core.status.StatusManager].getCopyOfStatusList()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[ch.qos.logback.core.status.Status].getLevel()"
    functionUses: 1
    ICount: 16
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.status.StatusUtil:95"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:99"
        BranchSideFuncs:
        - "iterator()"
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:98"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.status.StatusUtil:96"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:98"
        BranchSideFuncs:
        - "getLevel()"
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:97"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.status.StatusUtil:93,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].getCopyOfStatusList()"
    - Src: "ch.qos.logback.core.status.StatusUtil:93,1"
      Dst: "[ch.qos.logback.core.status.StatusUtil].filterStatusListByTimeThreshold(java.util.List,long)"
    - Src: "ch.qos.logback.core.status.StatusUtil:95,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.status.StatusUtil:95,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.status.StatusUtil:95,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.status.StatusUtil:96,1"
      Dst: "[ch.qos.logback.core.status.Status].getLevel()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.util.StatusPrinter].print(ch.qos.logback.core.status.StatusManager)"
    functionSourceFile: "ch.qos.logback.core.util.StatusPrinter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 7
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.status.StatusManager"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.StatusPrinter].print(ch.qos.logback.core.status.StatusManager,long)"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.StatusPrinter:118,1"
      Dst: "[ch.qos.logback.core.util.StatusPrinter].print(ch.qos.logback.core.status.StatusManager,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.StatusPrinter].print(ch.qos.logback.core.status.StatusManager,long)"
    functionSourceFile: "ch.qos.logback.core.util.StatusPrinter"
    linkageType: null
    functionLinenumber: 121
    functionDepth: 6
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.status.StatusManager"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusUtil].filterStatusListByTimeThreshold(java.util.List,long)"
    - "[ch.qos.logback.core.BasicStatusManager].getCopyOfStatusList()"
    - "[ch.qos.logback.core.util.StatusPrinter].buildStrFromStatusList(java.lang.StringBuilder,java.util.List)"
    - "[java.lang.StringBuilder].<init>()"
    - "[ch.qos.logback.core.status.StatusManager].getCopyOfStatusList()"
    - "[java.lang.StringBuilder].toString()"
    - "[java.io.PrintStream].println(java.lang.String)"
    functionUses: 1
    ICount: 11
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.StatusPrinter:122,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.core.util.StatusPrinter:123,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].getCopyOfStatusList()"
    - Src: "ch.qos.logback.core.util.StatusPrinter:123,1"
      Dst: "[ch.qos.logback.core.status.StatusUtil].filterStatusListByTimeThreshold(java.util.List,long)"
    - Src: "ch.qos.logback.core.util.StatusPrinter:124,1"
      Dst: "[ch.qos.logback.core.util.StatusPrinter].buildStrFromStatusList(java.lang.StringBuilder,java.util.List)"
    - Src: "ch.qos.logback.core.util.StatusPrinter:125,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "ch.qos.logback.core.util.StatusPrinter:125,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.StatusPrinter].print(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.util.StatusPrinter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 8
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.StatusPrinter].print(ch.qos.logback.core.Context,long)"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.StatusPrinter:96,1"
      Dst: "[ch.qos.logback.core.util.StatusPrinter].print(ch.qos.logback.core.Context,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.StatusPrinter].print(ch.qos.logback.core.Context,long)"
    functionSourceFile: "ch.qos.logback.core.util.StatusPrinter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 7
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[ch.qos.logback.core.Context].getStatusManager()"
    - "[ch.qos.logback.core.Context].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.io.PrintStream].println(java.lang.String)"
    - "[ch.qos.logback.core.util.StatusPrinter].print(ch.qos.logback.core.status.StatusManager,long)"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.StatusPrinter:105"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:109"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:108"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.StatusPrinter:110"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:113"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:112"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.StatusPrinter:106,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.util.StatusPrinter:109,1"
      Dst: "[ch.qos.logback.core.Context].getStatusManager()"
    - Src: "ch.qos.logback.core.util.StatusPrinter:111,1"
      Dst: "[ch.qos.logback.core.Context].getName()"
    - Src: "ch.qos.logback.core.util.StatusPrinter:111,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.util.StatusPrinter:111,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    - Src: "ch.qos.logback.core.util.StatusPrinter:113,1"
      Dst: "[ch.qos.logback.core.util.StatusPrinter].print(ch.qos.logback.core.status.StatusManager,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.StatusPrinter].print(ch.qos.logback.core.status.StatusManager,long)"
    functionSourceFile: "ch.qos.logback.core.util.StatusPrinter"
    linkageType: null
    functionLinenumber: 121
    functionDepth: 6
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.status.StatusManager"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusUtil].filterStatusListByTimeThreshold(java.util.List,long)"
    - "[ch.qos.logback.core.BasicStatusManager].getCopyOfStatusList()"
    - "[ch.qos.logback.core.util.StatusPrinter].buildStrFromStatusList(java.lang.StringBuilder,java.util.List)"
    - "[java.lang.StringBuilder].<init>()"
    - "[ch.qos.logback.core.status.StatusManager].getCopyOfStatusList()"
    - "[java.lang.StringBuilder].toString()"
    - "[java.io.PrintStream].println(java.lang.String)"
    functionUses: 1
    ICount: 11
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.StatusPrinter:122,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.core.util.StatusPrinter:123,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].getCopyOfStatusList()"
    - Src: "ch.qos.logback.core.util.StatusPrinter:123,1"
      Dst: "[ch.qos.logback.core.status.StatusUtil].filterStatusListByTimeThreshold(java.util.List,long)"
    - Src: "ch.qos.logback.core.util.StatusPrinter:124,1"
      Dst: "[ch.qos.logback.core.util.StatusPrinter].buildStrFromStatusList(java.lang.StringBuilder,java.util.List)"
    - Src: "ch.qos.logback.core.util.StatusPrinter:125,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "ch.qos.logback.core.util.StatusPrinter:125,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.StatusPrinter].print(ch.qos.logback.core.Context,long)"
    functionSourceFile: "ch.qos.logback.core.util.StatusPrinter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 7
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[ch.qos.logback.core.Context].getStatusManager()"
    - "[ch.qos.logback.core.Context].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.io.PrintStream].println(java.lang.String)"
    - "[ch.qos.logback.core.util.StatusPrinter].print(ch.qos.logback.core.status.StatusManager,long)"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.StatusPrinter:105"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:109"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:108"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.StatusPrinter:110"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:113"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:112"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.StatusPrinter:106,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.util.StatusPrinter:109,1"
      Dst: "[ch.qos.logback.core.Context].getStatusManager()"
    - Src: "ch.qos.logback.core.util.StatusPrinter:111,1"
      Dst: "[ch.qos.logback.core.Context].getName()"
    - Src: "ch.qos.logback.core.util.StatusPrinter:111,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.util.StatusPrinter:111,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    - Src: "ch.qos.logback.core.util.StatusPrinter:113,1"
      Dst: "[ch.qos.logback.core.util.StatusPrinter].print(ch.qos.logback.core.status.StatusManager,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.StatusPrinter].print(ch.qos.logback.core.status.StatusManager)"
    functionSourceFile: "ch.qos.logback.core.util.StatusPrinter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 7
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.status.StatusManager"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.StatusPrinter].print(ch.qos.logback.core.status.StatusManager,long)"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.StatusPrinter:118,1"
      Dst: "[ch.qos.logback.core.util.StatusPrinter].print(ch.qos.logback.core.status.StatusManager,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.StatusPrinter].print(ch.qos.logback.core.status.StatusManager,long)"
    functionSourceFile: "ch.qos.logback.core.util.StatusPrinter"
    linkageType: null
    functionLinenumber: 121
    functionDepth: 6
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.status.StatusManager"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusUtil].filterStatusListByTimeThreshold(java.util.List,long)"
    - "[ch.qos.logback.core.BasicStatusManager].getCopyOfStatusList()"
    - "[ch.qos.logback.core.util.StatusPrinter].buildStrFromStatusList(java.lang.StringBuilder,java.util.List)"
    - "[java.lang.StringBuilder].<init>()"
    - "[ch.qos.logback.core.status.StatusManager].getCopyOfStatusList()"
    - "[java.lang.StringBuilder].toString()"
    - "[java.io.PrintStream].println(java.lang.String)"
    functionUses: 1
    ICount: 11
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.StatusPrinter:122,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.core.util.StatusPrinter:123,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].getCopyOfStatusList()"
    - Src: "ch.qos.logback.core.util.StatusPrinter:123,1"
      Dst: "[ch.qos.logback.core.status.StatusUtil].filterStatusListByTimeThreshold(java.util.List,long)"
    - Src: "ch.qos.logback.core.util.StatusPrinter:124,1"
      Dst: "[ch.qos.logback.core.util.StatusPrinter].buildStrFromStatusList(java.lang.StringBuilder,java.util.List)"
    - Src: "ch.qos.logback.core.util.StatusPrinter:125,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "ch.qos.logback.core.util.StatusPrinter:125,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.StatusPrinter].print(java.util.List)"
    functionSourceFile: "ch.qos.logback.core.util.StatusPrinter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 6
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[ch.qos.logback.core.util.StatusPrinter].buildStrFromStatusList(java.lang.StringBuilder,java.util.List)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.io.PrintStream].println(java.lang.String)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.StatusPrinter:129,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.core.util.StatusPrinter:130,1"
      Dst: "[ch.qos.logback.core.util.StatusPrinter].buildStrFromStatusList(java.lang.StringBuilder,java.util.List)"
    - Src: "ch.qos.logback.core.util.StatusPrinter:131,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "ch.qos.logback.core.util.StatusPrinter:131,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.StatusPrinter].buildStrFromStatusList(java.lang.StringBuilder,java.util.List)"
    functionSourceFile: "ch.qos.logback.core.util.StatusPrinter"
    linkageType: null
    functionLinenumber: 134
    functionDepth: 5
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.util.StatusPrinter].buildStr(java.lang.StringBuilder,java.lang.String,ch.qos.logback.core.status.Status)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    functionUses: 1
    ICount: 12
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.StatusPrinter:135"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:137"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:136"
        BranchSideFuncs:
        - "iterator()"
    - Branch String: "ch.qos.logback.core.util.StatusPrinter:137"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:140"
        BranchSideFuncs:
        - "iterator()"
        - "buildStr(java.lang.StringBuilder,java.lang.String,ch.qos.logback.core.status.Status)"
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:139"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.StatusPrinter:137,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.util.StatusPrinter:137,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.util.StatusPrinter:137,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.util.StatusPrinter:138,1"
      Dst: "[ch.qos.logback.core.util.StatusPrinter].buildStr(java.lang.StringBuilder,java.lang.String,ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.StatusPrinter].buildStrFromStatusList(java.lang.StringBuilder,java.util.List)"
    functionSourceFile: "ch.qos.logback.core.util.StatusPrinter"
    linkageType: null
    functionLinenumber: 134
    functionDepth: 5
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.util.StatusPrinter].buildStr(java.lang.StringBuilder,java.lang.String,ch.qos.logback.core.status.Status)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    functionUses: 1
    ICount: 12
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.StatusPrinter:135"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:137"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:136"
        BranchSideFuncs:
        - "iterator()"
    - Branch String: "ch.qos.logback.core.util.StatusPrinter:137"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:140"
        BranchSideFuncs:
        - "iterator()"
        - "buildStr(java.lang.StringBuilder,java.lang.String,ch.qos.logback.core.status.Status)"
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:139"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.StatusPrinter:137,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.util.StatusPrinter:137,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.util.StatusPrinter:137,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.util.StatusPrinter:138,1"
      Dst: "[ch.qos.logback.core.util.StatusPrinter].buildStr(java.lang.StringBuilder,java.lang.String,ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.StatusPrinter].appendThrowable(java.lang.StringBuilder,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.util.StatusPrinter"
    linkageType: null
    functionLinenumber: 146
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.helpers.ThrowableToStringArray].convert(java.lang.Throwable)"
    - "[java.lang.String].startsWith(java.lang.String)"
    - "[java.lang.String].charAt(int)"
    - "[java.lang.Character].isDigit(char)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 1
    ICount: 22
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.StatusPrinter:149"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:161"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:160"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.StatusPrinter:150"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:151"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.StatusPrinter:152"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:156"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.StatusPrinter:147,1"
      Dst: "[ch.qos.logback.core.helpers.ThrowableToStringArray].convert(java.lang.Throwable)"
    - Src: "ch.qos.logback.core.util.StatusPrinter:150,1"
      Dst: "[java.lang.String].startsWith(java.lang.String)"
    - Src: "ch.qos.logback.core.util.StatusPrinter:152,1"
      Dst: "[java.lang.String].charAt(int)"
    - Src: "ch.qos.logback.core.util.StatusPrinter:152,1"
      Dst: "[java.lang.Character].isDigit(char)"
    - Src: "ch.qos.logback.core.util.StatusPrinter:154,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.util.StatusPrinter].buildStr(java.lang.StringBuilder,java.lang.String,ch.qos.logback.core.status.Status)"
    functionSourceFile: "ch.qos.logback.core.util.StatusPrinter"
    linkageType: null
    functionLinenumber: 164
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.StringBuilder"
    - "java.lang.String"
    - "ch.qos.logback.core.status.Status"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusBase].hasChildren()"
    - "[ch.qos.logback.core.util.CachingDateFormatter].format(long)"
    - "[ch.qos.logback.core.status.StatusBase].getTimestamp()"
    - "[ch.qos.logback.core.status.StatusBase].getThrowable()"
    - "[ch.qos.logback.core.util.StatusPrinter].appendThrowable(java.lang.StringBuilder,java.lang.Throwable)"
    - "[ch.qos.logback.core.status.StatusBase].iterator()"
    - "[ch.qos.logback.core.util.StatusPrinter].buildStr(java.lang.StringBuilder,java.lang.String,ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.status.Status].hasChildren()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[ch.qos.logback.core.status.Status].getTimestamp()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[ch.qos.logback.core.status.Status].getThrowable()"
    - "[ch.qos.logback.core.status.Status].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    functionUses: 3
    ICount: 34
    EdgeCount: 9
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.StatusPrinter:165"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:168"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:167"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.StatusPrinter:171"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:175"
        BranchSideFuncs:
        - "getTimestamp()"
        - "format(long)"
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:174"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.StatusPrinter:177"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:180"
        BranchSideFuncs:
        - "getThrowable()"
        - "appendThrowable(java.lang.StringBuilder,java.lang.Throwable)"
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:179"
        BranchSideFuncs:
        - "hasChildren()"
    - Branch String: "ch.qos.logback.core.util.StatusPrinter:180"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:187"
        BranchSideFuncs:
        - "iterator()"
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:186"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.StatusPrinter:182"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:187"
        BranchSideFuncs:
        - "buildStr(java.lang.StringBuilder,java.lang.String,ch.qos.logback.core.status.Status)"
      - BranchSide: "ch.qos.logback.core.util.StatusPrinter:186"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.StatusPrinter:165,1"
      Dst: "[ch.qos.logback.core.status.Status].hasChildren()"
    - Src: "ch.qos.logback.core.util.StatusPrinter:166,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.util.StatusPrinter:172,1"
      Dst: "[ch.qos.logback.core.status.Status].getTimestamp()"
    - Src: "ch.qos.logback.core.util.StatusPrinter:172,1"
      Dst: "[ch.qos.logback.core.util.CachingDateFormatter].format(long)"
    - Src: "ch.qos.logback.core.util.StatusPrinter:173,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.core.util.StatusPrinter:175,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "ch.qos.logback.core.util.StatusPrinter:177,1"
      Dst: "[ch.qos.logback.core.status.Status].getThrowable()"
    - Src: "ch.qos.logback.core.util.StatusPrinter:178,1"
      Dst: "[ch.qos.logback.core.util.StatusPrinter].appendThrowable(java.lang.StringBuilder,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.util.StatusPrinter:181,1"
      Dst: "[ch.qos.logback.core.status.Status].iterator()"
    - Src: "ch.qos.logback.core.util.StatusPrinter:182,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.util.StatusPrinter:183,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.util.StatusPrinter:184,1"
      Dst: "[ch.qos.logback.core.util.StatusPrinter].buildStr(java.lang.StringBuilder,java.lang.String,ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 12
    CyclomaticComplexity: 6
  - functionName: "[ch.qos.logback.core.pattern.color.ANSIConstants].<init>()"
    functionSourceFile: "ch.qos.logback.core.pattern.color.ANSIConstants"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.color.ANSIConstants:16,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.DummyEncoder].getCharset()"
    functionSourceFile: "ch.qos.logback.core.testUtil.DummyEncoder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.nio.charset.Charset"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.DummyEncoder].setCharset(java.nio.charset.Charset)"
    functionSourceFile: "ch.qos.logback.core.testUtil.DummyEncoder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.nio.charset.Charset"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.DummyEncoder].<init>()"
    functionSourceFile: "ch.qos.logback.core.testUtil.DummyEncoder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.encoder.EncoderBase].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.DummyEncoder:37,1"
      Dst: "[ch.qos.logback.core.encoder.EncoderBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.DummyEncoder].<init>(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.testUtil.DummyEncoder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.encoder.EncoderBase].<init>()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.DummyEncoder:40,1"
      Dst: "[ch.qos.logback.core.encoder.EncoderBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.DummyEncoder].encode(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.testUtil.DummyEncoder"
    linkageType: null
    functionLinenumber: 44
    functionDepth: 1
    returnType: "byte[]"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.testUtil.DummyEncoder].encodeString(java.lang.String)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.DummyEncoder:45,1"
      Dst: "[ch.qos.logback.core.testUtil.DummyEncoder].encodeString(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.DummyEncoder].encodeString(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.testUtil.DummyEncoder"
    linkageType: null
    functionLinenumber: 48
    functionDepth: 0
    returnType: "byte[]"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].getBytes()"
    - "[java.lang.String].getBytes(java.nio.charset.Charset)"
    functionUses: 3
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.testUtil.DummyEncoder:49"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.testUtil.DummyEncoder:52"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.testUtil.DummyEncoder:51"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.DummyEncoder:50,1"
      Dst: "[java.lang.String].getBytes()"
    - Src: "ch.qos.logback.core.testUtil.DummyEncoder:52,1"
      Dst: "[java.lang.String].getBytes(java.nio.charset.Charset)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.DummyEncoder].encodeString(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.testUtil.DummyEncoder"
    linkageType: null
    functionLinenumber: 48
    functionDepth: 0
    returnType: "byte[]"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].getBytes()"
    - "[java.lang.String].getBytes(java.nio.charset.Charset)"
    functionUses: 3
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.testUtil.DummyEncoder:49"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.testUtil.DummyEncoder:52"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.testUtil.DummyEncoder:51"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.DummyEncoder:50,1"
      Dst: "[java.lang.String].getBytes()"
    - Src: "ch.qos.logback.core.testUtil.DummyEncoder:52,1"
      Dst: "[java.lang.String].getBytes(java.nio.charset.Charset)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.DummyEncoder].appendIfNotNull(java.lang.StringBuilder,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.testUtil.DummyEncoder"
    linkageType: null
    functionLinenumber: 56
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 1
    ICount: 6
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.testUtil.DummyEncoder:57"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.testUtil.DummyEncoder:60"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.testUtil.DummyEncoder:59"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.DummyEncoder:58,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.testUtil.DummyEncoder].header()"
    functionSourceFile: "ch.qos.logback.core.testUtil.DummyEncoder"
    linkageType: null
    functionLinenumber: 62
    functionDepth: 1
    returnType: "byte[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.testUtil.DummyEncoder].appendIfNotNull(java.lang.StringBuilder,java.lang.String)"
    - "[ch.qos.logback.core.testUtil.DummyEncoder].encodeString(java.lang.String)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].length()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 12
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.testUtil.DummyEncoder:65"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.testUtil.DummyEncoder:70"
        BranchSideFuncs:
        - "encodeString(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.DummyEncoder:63,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.core.testUtil.DummyEncoder:64,1"
      Dst: "[ch.qos.logback.core.testUtil.DummyEncoder].appendIfNotNull(java.lang.StringBuilder,java.lang.String)"
    - Src: "ch.qos.logback.core.testUtil.DummyEncoder:65,1"
      Dst: "[java.lang.StringBuilder].length()"
    - Src: "ch.qos.logback.core.testUtil.DummyEncoder:69,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.core.testUtil.DummyEncoder:71,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "ch.qos.logback.core.testUtil.DummyEncoder:71,1"
      Dst: "[ch.qos.logback.core.testUtil.DummyEncoder].encodeString(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.testUtil.DummyEncoder].appendIfNotNull(java.lang.StringBuilder,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.testUtil.DummyEncoder"
    linkageType: null
    functionLinenumber: 56
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 1
    ICount: 6
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.testUtil.DummyEncoder:57"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.testUtil.DummyEncoder:60"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.testUtil.DummyEncoder:59"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.DummyEncoder:58,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.testUtil.DummyEncoder].encodeString(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.testUtil.DummyEncoder"
    linkageType: null
    functionLinenumber: 48
    functionDepth: 0
    returnType: "byte[]"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].getBytes()"
    - "[java.lang.String].getBytes(java.nio.charset.Charset)"
    functionUses: 3
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.testUtil.DummyEncoder:49"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.testUtil.DummyEncoder:52"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.testUtil.DummyEncoder:51"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.DummyEncoder:50,1"
      Dst: "[java.lang.String].getBytes()"
    - Src: "ch.qos.logback.core.testUtil.DummyEncoder:52,1"
      Dst: "[java.lang.String].getBytes(java.nio.charset.Charset)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.DummyEncoder].headerBytes()"
    functionSourceFile: "ch.qos.logback.core.testUtil.DummyEncoder"
    linkageType: null
    functionLinenumber: 74
    functionDepth: 2
    returnType: "byte[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.testUtil.DummyEncoder].header()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.DummyEncoder:75,1"
      Dst: "[ch.qos.logback.core.testUtil.DummyEncoder].header()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.DummyEncoder].header()"
    functionSourceFile: "ch.qos.logback.core.testUtil.DummyEncoder"
    linkageType: null
    functionLinenumber: 62
    functionDepth: 1
    returnType: "byte[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.testUtil.DummyEncoder].appendIfNotNull(java.lang.StringBuilder,java.lang.String)"
    - "[ch.qos.logback.core.testUtil.DummyEncoder].encodeString(java.lang.String)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].length()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 12
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.testUtil.DummyEncoder:65"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.testUtil.DummyEncoder:70"
        BranchSideFuncs:
        - "encodeString(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.DummyEncoder:63,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.core.testUtil.DummyEncoder:64,1"
      Dst: "[ch.qos.logback.core.testUtil.DummyEncoder].appendIfNotNull(java.lang.StringBuilder,java.lang.String)"
    - Src: "ch.qos.logback.core.testUtil.DummyEncoder:65,1"
      Dst: "[java.lang.StringBuilder].length()"
    - Src: "ch.qos.logback.core.testUtil.DummyEncoder:69,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.core.testUtil.DummyEncoder:71,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "ch.qos.logback.core.testUtil.DummyEncoder:71,1"
      Dst: "[ch.qos.logback.core.testUtil.DummyEncoder].encodeString(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.testUtil.DummyEncoder].footerBytes()"
    functionSourceFile: "ch.qos.logback.core.testUtil.DummyEncoder"
    linkageType: null
    functionLinenumber: 78
    functionDepth: 1
    returnType: "byte[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.testUtil.DummyEncoder].encodeString(java.lang.String)"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.testUtil.DummyEncoder:79"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.testUtil.DummyEncoder:82"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.testUtil.DummyEncoder:81"
        BranchSideFuncs:
        - "encodeString(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.DummyEncoder:82,1"
      Dst: "[ch.qos.logback.core.testUtil.DummyEncoder].encodeString(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.DummyEncoder].encodeString(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.testUtil.DummyEncoder"
    linkageType: null
    functionLinenumber: 48
    functionDepth: 0
    returnType: "byte[]"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].getBytes()"
    - "[java.lang.String].getBytes(java.nio.charset.Charset)"
    functionUses: 3
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.testUtil.DummyEncoder:49"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.testUtil.DummyEncoder:52"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.testUtil.DummyEncoder:51"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.DummyEncoder:50,1"
      Dst: "[java.lang.String].getBytes()"
    - Src: "ch.qos.logback.core.testUtil.DummyEncoder:52,1"
      Dst: "[java.lang.String].getBytes(java.nio.charset.Charset)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.DummyEncoder].getFileHeader()"
    functionSourceFile: "ch.qos.logback.core.testUtil.DummyEncoder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.DummyEncoder].setFileHeader(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.testUtil.DummyEncoder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.DummyEncoder].getFileFooter()"
    functionSourceFile: "ch.qos.logback.core.testUtil.DummyEncoder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.DummyEncoder].setFileFooter(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.testUtil.DummyEncoder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.Token$Type].values()"
    functionSourceFile: "ch.qos.logback.core.subst.Token$Type"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 0
    returnType: "ch.qos.logback.core.subst.Token$Type[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].clone()"
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.Token$Type:23,1"
      Dst: "[java.lang.Object].clone()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.Token$Type].valueOf(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.subst.Token$Type"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.core.subst.Token$Type"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.Token$Type:23,1"
      Dst: "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.Token$Type].<init>(java.lang.String,int)"
    functionSourceFile: "ch.qos.logback.core.subst.Token$Type"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].<init>(java.lang.String,int)"
    functionUses: 5
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.Token$Type:23,1"
      Dst: "[java.lang.Enum].<init>(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.Token$Type].$values()"
    functionSourceFile: "ch.qos.logback.core.subst.Token$Type"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 0
    returnType: "ch.qos.logback.core.subst.Token$Type[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 12
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor$secondPhaseTraverse__19].bootstrap$(ch.qos.logback.core.model.processor.DefaultProcessor)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor$secondPhaseTraverse__19"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.DefaultProcessor$TraverseMethod"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.processor.DefaultProcessor"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.DefaultProcessor$secondPhaseTraverse__19].<init>(ch.qos.logback.core.model.processor.DefaultProcessor)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor$secondPhaseTraverse__19:-1,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor$secondPhaseTraverse__19].<init>(ch.qos.logback.core.model.processor.DefaultProcessor)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor$secondPhaseTraverse__19].<init>(ch.qos.logback.core.model.processor.DefaultProcessor)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor$secondPhaseTraverse__19"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.processor.DefaultProcessor"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor$secondPhaseTraverse__19:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor$secondPhaseTraverse__19].<init>(ch.qos.logback.core.model.processor.DefaultProcessor)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor$secondPhaseTraverse__19"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.processor.DefaultProcessor"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor$secondPhaseTraverse__19:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor$secondPhaseTraverse__19].traverse(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelFilter)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor$secondPhaseTraverse__19"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "int"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.Model"
    - "ch.qos.logback.core.model.processor.ModelFilter"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].secondPhaseTraverse(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelFilter)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor$secondPhaseTraverse__19:-1,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].secondPhaseTraverse(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelFilter)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor].secondPhaseTraverse(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelFilter)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor"
    linkageType: null
    functionLinenumber: 225
    functionDepth: 3
    returnType: "int"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.Model"
    - "ch.qos.logback.core.model.processor.ModelFilter"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ChainedModelFilter].decide(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.DenyModelFilter].decide(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.DenyAllModelFilter].decide(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.AllowModelFilter].decide(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.AllowAllModelFilter].decide(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].allDependenciesStarted(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.Model].isUnhandled()"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].createHandler(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.conditional.ElseModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.joran.ParamModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.conditional.IfModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.LevelModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.ImportModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.RootLoggerModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.AppenderModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.AppenderRefDependencyAnalyser].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.ImplicitModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.LoggerModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.SerializeModelModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.PropertyModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.ReceiverModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.ShutdownHookModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.ConfigurationModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.TimestampModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.ContextNameModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.sift.SiftModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.StatusListenerModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.DefineModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.conditional.ThenModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.EventEvaluatorModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.AppenderRefModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.NOPModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.sift.NOPSiftModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.Model].markAsHandled()"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].dependencyIsADirectSubmodel(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.Model].isSkipped()"
    - "[ch.qos.logback.core.model.Model].getSubModels()"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].secondPhaseTraverse(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelFilter)"
    - "[ch.qos.logback.classic.model.processor.RootLoggerModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.DefineModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.ShutdownHookModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.StatusListenerModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.conditional.IfModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.ImplicitModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.ReceiverModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.LoggerModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.AppenderModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.EventEvaluatorModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.model.Model].getTag()"
    - "[ch.qos.logback.core.model.processor.ModelFilter].decide(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 2
    ICount: 44
    EdgeCount: 59
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:227"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:231"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:230"
        BranchSideFuncs:
        - "isUnhandled()"
        - "allDependenciesStarted(ch.qos.logback.core.model.Model)"
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:238"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:247"
        BranchSideFuncs:
        - "createHandler(ch.qos.logback.core.model.Model)"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:246"
        BranchSideFuncs:
        - "dependencyIsADirectSubmodel(ch.qos.logback.core.model.Model)"
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:238"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:247"
        BranchSideFuncs:
        - "createHandler(ch.qos.logback.core.model.Model)"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:246"
        BranchSideFuncs:
        - "dependencyIsADirectSubmodel(ch.qos.logback.core.model.Model)"
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:240"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:247"
        BranchSideFuncs:
        - "handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
        - "markAsHandled()"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:246"
        BranchSideFuncs:
        - "dependencyIsADirectSubmodel(ch.qos.logback.core.model.Model)"
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:247"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:251"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:250"
        BranchSideFuncs:
        - "isSkipped()"
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:247"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:251"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:250"
        BranchSideFuncs:
        - "isSkipped()"
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:251"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:256"
        BranchSideFuncs:
        - "iterator()"
        - "getSubModels()"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:255"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:252"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:256"
        BranchSideFuncs:
        - "secondPhaseTraverse(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelFilter)"
        - "iterator()"
        - "getSubModels()"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:255"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:256"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:261"
        BranchSideFuncs:
        - "postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:260"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:226,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelFilter].decide(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:235,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].allDependenciesStarted(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:238,1"
      Dst: "[ch.qos.logback.core.model.Model].isUnhandled()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:239,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].createHandler(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:241,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:242,1"
      Dst: "[ch.qos.logback.core.model.Model].markAsHandled()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:247,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].dependencyIsADirectSubmodel(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:251,1"
      Dst: "[ch.qos.logback.core.model.Model].isSkipped()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:252,1"
      Dst: "[ch.qos.logback.core.model.Model].getSubModels()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:252,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:252,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:252,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:253,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].secondPhaseTraverse(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelFilter)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:257,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:260,1"
      Dst: "[ch.qos.logback.core.model.Model].getTag()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:260,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:260,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 18
    CyclomaticComplexity: 8
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor].allDependenciesStarted(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor"
    linkageType: null
    functionLinenumber: 283
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getDependeeNamesForModel(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.util.COWArrayList].isEmpty()"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].isNamedDependeeStarted(java.lang.String)"
    - "[java.util.List].isEmpty()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    functionUses: 1
    ICount: 19
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:286"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:287"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:286"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:286"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:289"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:288"
        BranchSideFuncs:
        - "iterator()"
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:289"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:295"
        BranchSideFuncs:
        - "iterator()"
        - "isNamedDependeeStarted(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:294"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:291"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:294"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:293"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:284,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getDependeeNamesForModel(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:286,1"
      Dst: "[java.util.List].isEmpty()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:289,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:289,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:289,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:290,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].isNamedDependeeStarted(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getDependeeNamesForModel(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 204
    functionDepth: 1
    returnType: "java.util.List"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.model.processor.DependencyDefinition].getDepender()"
    - "[ch.qos.logback.core.model.processor.DependencyDefinition].getDependee()"
    - "[java.util.ArrayList].<init>()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 2
    ICount: 16
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:206"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:211"
        BranchSideFuncs:
        - "iterator()"
        - "getDepender()"
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:210"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:207"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:210"
        BranchSideFuncs:
        - "getDependee()"
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:209"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:205,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:206,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:206,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:206,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:207,1"
      Dst: "[ch.qos.logback.core.model.processor.DependencyDefinition].getDepender()"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:208,1"
      Dst: "[ch.qos.logback.core.model.processor.DependencyDefinition].getDependee()"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:208,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.model.processor.DependencyDefinition].getDepender()"
    functionSourceFile: "ch.qos.logback.core.model.processor.DependencyDefinition"
    linkageType: null
    functionLinenumber: 45
    functionDepth: 0
    returnType: "ch.qos.logback.core.model.Model"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DependencyDefinition].getDependee()"
    functionSourceFile: "ch.qos.logback.core.model.processor.DependencyDefinition"
    linkageType: null
    functionLinenumber: 41
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].isNamedDependeeStarted(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 233
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].contains(java.lang.Object)"
    - "[java.util.List].contains(java.lang.Object)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:234,1"
      Dst: "[java.util.List].contains(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].isUnhandled()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 89
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.Model:90"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:89"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor].createHandler(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor"
    linkageType: null
    functionLinenumber: 169
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.model.Model].getTag()"
    - "[ch.qos.logback.core.model.Model].getLineNumber()"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__60].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__56].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__12].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__62].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__9].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$makeInstance2__3].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__13].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__16].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__73].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__71].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__72].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__4].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__74].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__11].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__86].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__57].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__80].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__70].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__81].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__6].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__77].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__10].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__5].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__76].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__78].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__79].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__85].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__17].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__7].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__14].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__59].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__15].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__75].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__58].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__8].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__61].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__84].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__82].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__63].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__83].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__18].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser].isSupportedModelType(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].isSupportedModelType(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.model.Model].idString()"
    - "[java.lang.Object].getClass()"
    - "[java.util.HashMap].get(java.lang.Object)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Class,java.lang.String,int)"
    - "[ch.qos.logback.core.model.ModelHandlerFactoryMethod].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Class,java.lang.String)"
    functionUses: 2
    ICount: 26
    EdgeCount: 48
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:172"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:178"
        BranchSideFuncs:
        - "getTag()"
        - "addError(java.lang.String)"
        - "getLineNumber()"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:177"
        BranchSideFuncs:
        - "make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:179"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:181"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:180"
        BranchSideFuncs:
        - "isSupportedModelType(ch.qos.logback.core.model.Model)"
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:181"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:185"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
        - "idString()"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:184"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:170,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:170,1"
      Dst: "[java.util.HashMap].get(java.lang.Object)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:173,1"
      Dst: "[ch.qos.logback.core.model.Model].getTag()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:174,1"
      Dst: "[ch.qos.logback.core.model.Model].getLineNumber()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:174,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Class,java.lang.String,int)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:173,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:178,1"
      Dst: "[ch.qos.logback.core.model.ModelHandlerFactoryMethod].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:181,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].isSupportedModelType(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:182,1"
      Dst: "[ch.qos.logback.core.model.Model].idString()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:182,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Class,java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:182,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].getTag()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 16
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].getLineNumber()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 112
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 8
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].idString()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 139
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int)"
    functionUses: 4
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:140,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 96
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].markAsHandled()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 97
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor].dependencyIsADirectSubmodel(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor"
    linkageType: null
    functionLinenumber: 265
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getDependeeNamesForModel(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.util.COWArrayList].isEmpty()"
    - "[ch.qos.logback.core.model.Model].getSubModels()"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.model.NamedComponentModel].getName()"
    - "[ch.qos.logback.core.util.COWArrayList].contains(java.lang.Object)"
    - "[java.util.List].isEmpty()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.List].contains(java.lang.Object)"
    functionUses: 1
    ICount: 23
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:267"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:268"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:267"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:267"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:270"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:269"
        BranchSideFuncs:
        - "iterator()"
        - "getSubModels()"
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:270"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:280"
        BranchSideFuncs:
        - "iterator()"
        - "getSubModels()"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:279"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:271"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:278"
        BranchSideFuncs:
        - "contains(java.lang.Object)"
        - "getName()"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:277"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:274"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:278"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:277"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:266,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getDependeeNamesForModel(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:267,1"
      Dst: "[java.util.List].isEmpty()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:270,1"
      Dst: "[ch.qos.logback.core.model.Model].getSubModels()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:270,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:270,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:270,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:273,1"
      Dst: "[ch.qos.logback.core.model.NamedComponentModel].getName()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:274,1"
      Dst: "[java.util.List].contains(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.model.Model].getSubModels()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 120
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 8
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.NamedComponentModel].getName()"
    functionSourceFile: "ch.qos.logback.core.model.NamedComponentModel"
    linkageType: null
    functionLinenumber: 35
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].isSkipped()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 85
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 74
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.StackTraceElementProxy].<init>(java.lang.StackTraceElement)"
    functionSourceFile: "ch.qos.logback.classic.spi.StackTraceElementProxy"
    linkageType: null
    functionLinenumber: 29
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.StackTraceElement"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.StackTraceElementProxy:31"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.StackTraceElementProxy:34"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.StackTraceElementProxy:33"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.StackTraceElementProxy:30,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.classic.spi.StackTraceElementProxy:32,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.StackTraceElementProxy].getSTEAsString()"
    functionSourceFile: "ch.qos.logback.classic.spi.StackTraceElementProxy"
    linkageType: null
    functionLinenumber: 37
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StackTraceElement].toString()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.StackTraceElementProxy:38"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.StackTraceElementProxy:41"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.StackTraceElementProxy:40"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.StackTraceElementProxy:39,1"
      Dst: "[java.lang.StackTraceElement].toString()"
    - Src: "ch.qos.logback.classic.spi.StackTraceElementProxy:39,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.StackTraceElementProxy].getStackTraceElement()"
    functionSourceFile: "ch.qos.logback.classic.spi.StackTraceElementProxy"
    linkageType: null
    functionLinenumber: 44
    functionDepth: 0
    returnType: "java.lang.StackTraceElement"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.StackTraceElementProxy].setClassPackagingData(ch.qos.logback.classic.spi.ClassPackagingData)"
    functionSourceFile: "ch.qos.logback.classic.spi.StackTraceElementProxy"
    linkageType: null
    functionLinenumber: 48
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ClassPackagingData"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 2
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.StackTraceElementProxy:49"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.StackTraceElementProxy:52"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.StackTraceElementProxy:51"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.StackTraceElementProxy:50,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.StackTraceElementProxy].getClassPackagingData()"
    functionSourceFile: "ch.qos.logback.classic.spi.StackTraceElementProxy"
    linkageType: null
    functionLinenumber: 55
    functionDepth: 0
    returnType: "ch.qos.logback.classic.spi.ClassPackagingData"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.StackTraceElementProxy].hashCode()"
    functionSourceFile: "ch.qos.logback.classic.spi.StackTraceElementProxy"
    linkageType: null
    functionLinenumber: 60
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StackTraceElement].hashCode()"
    functionUses: 4
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.StackTraceElementProxy:61,1"
      Dst: "[java.lang.StackTraceElement].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.StackTraceElementProxy].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.spi.StackTraceElementProxy"
    linkageType: null
    functionLinenumber: 65
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.ClassPackagingData].equals(java.lang.Object)"
    - "[java.lang.Object].getClass()"
    - "[java.lang.StackTraceElement].equals(java.lang.Object)"
    functionUses: 6
    ICount: 27
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.StackTraceElementProxy:66"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.StackTraceElementProxy:68"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.StackTraceElementProxy:67"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.StackTraceElementProxy:68"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.StackTraceElementProxy:70"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.StackTraceElementProxy:69"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.StackTraceElementProxy:70"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.StackTraceElementProxy:72"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.StackTraceElementProxy:71"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.StackTraceElementProxy:74"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.StackTraceElementProxy:77"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.StackTraceElementProxy:76"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.StackTraceElementProxy:77"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.StackTraceElementProxy:81"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.StackTraceElementProxy:80"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "ch.qos.logback.classic.spi.StackTraceElementProxy:78"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.StackTraceElementProxy:84"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.StackTraceElementProxy:83"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.StackTraceElementProxy:81"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.StackTraceElementProxy:84"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.StackTraceElementProxy:83"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.StackTraceElementProxy:70,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.classic.spi.StackTraceElementProxy:74,1"
      Dst: "[java.lang.StackTraceElement].equals(java.lang.Object)"
    - Src: "ch.qos.logback.classic.spi.StackTraceElementProxy:81,1"
      Dst: "[ch.qos.logback.classic.spi.ClassPackagingData].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 14
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.ClassPackagingData].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.spi.ClassPackagingData"
    linkageType: null
    functionLinenumber: 75
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 7
    ICount: 36
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.ClassPackagingData:76"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ClassPackagingData:78"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ClassPackagingData:77"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ClassPackagingData:78"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ClassPackagingData:80"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ClassPackagingData:79"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ClassPackagingData:80"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ClassPackagingData:82"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ClassPackagingData:81"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ClassPackagingData:83"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ClassPackagingData:86"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ClassPackagingData:85"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ClassPackagingData:84"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ClassPackagingData:88"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ClassPackagingData:87"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ClassPackagingData:86"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ClassPackagingData:88"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ClassPackagingData:87"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ClassPackagingData:88"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ClassPackagingData:90"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ClassPackagingData:89"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ClassPackagingData:90"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ClassPackagingData:93"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ClassPackagingData:92"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ClassPackagingData:91"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ClassPackagingData:95"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ClassPackagingData:94"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ClassPackagingData:93"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ClassPackagingData:95"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ClassPackagingData:94"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ClassPackagingData:80,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.classic.spi.ClassPackagingData:86,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 19
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.spi.StackTraceElementProxy].toString()"
    functionSourceFile: "ch.qos.logback.classic.spi.StackTraceElementProxy"
    linkageType: null
    functionLinenumber: 88
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.StackTraceElementProxy].getSTEAsString()"
    functionUses: 6
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.StackTraceElementProxy:89,1"
      Dst: "[ch.qos.logback.classic.spi.StackTraceElementProxy].getSTEAsString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.StackTraceElementProxy].getSTEAsString()"
    functionSourceFile: "ch.qos.logback.classic.spi.StackTraceElementProxy"
    linkageType: null
    functionLinenumber: 37
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StackTraceElement].toString()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.StackTraceElementProxy:38"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.StackTraceElementProxy:41"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.StackTraceElementProxy:40"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.StackTraceElementProxy:39,1"
      Dst: "[java.lang.StackTraceElement].toString()"
    - Src: "ch.qos.logback.classic.spi.StackTraceElementProxy:39,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.net.server.RemoteAppenderServerRunner].<init>(ch.qos.logback.core.net.server.ServerListener,java.util.concurrent.Executor)"
    functionSourceFile: "ch.qos.logback.classic.net.server.RemoteAppenderServerRunner"
    linkageType: null
    functionLinenumber: 38
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.net.server.ServerListener"
    - "java.util.concurrent.Executor"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.server.ConcurrentServerRunner].<init>(ch.qos.logback.core.net.server.ServerListener,java.util.concurrent.Executor)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.server.RemoteAppenderServerRunner:39,1"
      Dst: "[ch.qos.logback.core.net.server.ConcurrentServerRunner].<init>(ch.qos.logback.core.net.server.ServerListener,java.util.concurrent.Executor)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.RemoteAppenderServerRunner].configureClient(ch.qos.logback.classic.net.server.RemoteAppenderClient)"
    functionSourceFile: "ch.qos.logback.classic.net.server.RemoteAppenderServerRunner"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.net.server.RemoteAppenderClient"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - "[ch.qos.logback.classic.net.server.RemoteAppenderStreamClient].setLoggerContext(ch.qos.logback.classic.LoggerContext)"
    - "[ch.qos.logback.classic.net.server.RemoteAppenderClient].setLoggerContext(ch.qos.logback.classic.LoggerContext)"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.server.RemoteAppenderServerRunner:47,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - Src: "ch.qos.logback.classic.net.server.RemoteAppenderServerRunner:47,1"
      Dst: "[ch.qos.logback.classic.net.server.RemoteAppenderClient].setLoggerContext(ch.qos.logback.classic.LoggerContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 0
    returnType: "ch.qos.logback.core.Context"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 35
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.RemoteAppenderServerRunner].configureClient(ch.qos.logback.core.net.server.Client)"
    functionSourceFile: "ch.qos.logback.classic.net.server.RemoteAppenderServerRunner"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.net.server.Client"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.net.server.RemoteAppenderServerRunner].configureClient(ch.qos.logback.classic.net.server.RemoteAppenderClient)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.server.RemoteAppenderServerRunner:29,1"
      Dst: "[ch.qos.logback.classic.net.server.RemoteAppenderServerRunner].configureClient(ch.qos.logback.classic.net.server.RemoteAppenderClient)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.RemoteAppenderServerRunner].configureClient(ch.qos.logback.classic.net.server.RemoteAppenderClient)"
    functionSourceFile: "ch.qos.logback.classic.net.server.RemoteAppenderServerRunner"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.net.server.RemoteAppenderClient"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - "[ch.qos.logback.classic.net.server.RemoteAppenderStreamClient].setLoggerContext(ch.qos.logback.classic.LoggerContext)"
    - "[ch.qos.logback.classic.net.server.RemoteAppenderClient].setLoggerContext(ch.qos.logback.classic.LoggerContext)"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.server.RemoteAppenderServerRunner:47,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - Src: "ch.qos.logback.classic.net.server.RemoteAppenderServerRunner:47,1"
      Dst: "[ch.qos.logback.classic.net.server.RemoteAppenderClient].setLoggerContext(ch.qos.logback.classic.LoggerContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].<init>()"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 65
    functionDepth: 3
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.BasicStatusManager].<init>()"
    - "[ch.qos.logback.core.spi.LogbackLock].<init>()"
    - "[ch.qos.logback.core.ContextBase].initCollisionMaps()"
    - "[java.lang.Object].<init>()"
    - "[java.lang.System].currentTimeMillis()"
    - "[java.util.HashMap].<init>()"
    - "[java.util.concurrent.ConcurrentHashMap].<init>()"
    - "[java.util.concurrent.CopyOnWriteArrayList].<init>()"
    - "[java.util.ArrayList].<init>(int)"
    functionUses: 1
    ICount: 24
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase:66,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.ContextBase:40,1"
      Dst: "[java.lang.System].currentTimeMillis()"
    - Src: "ch.qos.logback.core.ContextBase:43,1"
      Dst: "[ch.qos.logback.core.BasicStatusManager].<init>()"
    - Src: "ch.qos.logback.core.ContextBase:47,1"
      Dst: "[java.util.HashMap].<init>()"
    - Src: "ch.qos.logback.core.ContextBase:48,1"
      Dst: "[java.util.concurrent.ConcurrentHashMap].<init>()"
    - Src: "ch.qos.logback.core.ContextBase:50,1"
      Dst: "[ch.qos.logback.core.spi.LogbackLock].<init>()"
    - Src: "ch.qos.logback.core.ContextBase:52,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].<init>()"
    - Src: "ch.qos.logback.core.ContextBase:60,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    - Src: "ch.qos.logback.core.ContextBase:67,1"
      Dst: "[ch.qos.logback.core.ContextBase].initCollisionMaps()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].getStatusManager()"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 70
    functionDepth: 0
    returnType: "ch.qos.logback.core.status.StatusManager"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 19
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].setStatusManager(ch.qos.logback.core.status.StatusManager)"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.status.StatusManager"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.ContextBase:87"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.ContextBase:90"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.ContextBase:89"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase:88,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].getCopyOfPropertyMap()"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 93
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashMap].<init>(java.util.Map)"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase:94,1"
      Dst: "[java.util.HashMap].<init>(java.util.Map)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].putProperty(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 97
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].putHostnameProperty(java.lang.String)"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 4
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.ContextBase:98"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.ContextBase:101"
        BranchSideFuncs:
        - "putHostnameProperty(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.ContextBase:100"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase:98,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - Src: "ch.qos.logback.core.ContextBase:99,1"
      Dst: "[ch.qos.logback.core.ContextBase].putHostnameProperty(java.lang.String)"
    - Src: "ch.qos.logback.core.ContextBase:101,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.ContextBase].putHostnameProperty(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 136
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map].get(java.lang.Object)"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 2
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.ContextBase:138"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.ContextBase:143"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.ContextBase:142"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase:137,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "ch.qos.logback.core.ContextBase:139,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.ContextBase].initCollisionMaps()"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 105
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].putObject(java.lang.String,java.lang.Object)"
    - "[java.util.HashMap].<init>()"
    functionUses: 2
    ICount: 8
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase:106,1"
      Dst: "[java.util.HashMap].<init>()"
    - Src: "ch.qos.logback.core.ContextBase:106,1"
      Dst: "[ch.qos.logback.core.ContextBase].putObject(java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].putObject(java.lang.String,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 149
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 8
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase:150,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].getProperty(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 117
    functionDepth: 5
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getName()"
    - "[ch.qos.logback.core.ContextBase].lazyGetHostname()"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - "[java.util.Map].get(java.lang.Object)"
    functionUses: 4
    ICount: 16
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.ContextBase:118"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.ContextBase:120"
        BranchSideFuncs:
        - "getName()"
      - BranchSide: "ch.qos.logback.core.ContextBase:119"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.ContextBase:120"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.ContextBase:124"
        BranchSideFuncs:
        - "lazyGetHostname()"
      - BranchSide: "ch.qos.logback.core.ContextBase:123"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase:118,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.ContextBase:119,1"
      Dst: "[ch.qos.logback.core.ContextBase].getName()"
    - Src: "ch.qos.logback.core.ContextBase:120,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - Src: "ch.qos.logback.core.ContextBase:121,1"
      Dst: "[ch.qos.logback.core.ContextBase].lazyGetHostname()"
    - Src: "ch.qos.logback.core.ContextBase:124,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].getName()"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 157
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 12
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].lazyGetHostname()"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 127
    functionDepth: 4
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.NetworkAddressUtil].<init>(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.util.NetworkAddressUtil].safelyGetLocalHostName()"
    - "[ch.qos.logback.core.ContextBase].putHostnameProperty(java.lang.String)"
    - "[java.util.Map].get(java.lang.Object)"
    functionUses: 1
    ICount: 11
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.ContextBase:129"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.ContextBase:133"
        BranchSideFuncs:
        - "safelyGetLocalHostName()"
        - "putHostnameProperty(java.lang.String)"
        - "<init>(ch.qos.logback.core.Context)"
      - BranchSide: "ch.qos.logback.core.ContextBase:132"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase:128,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "ch.qos.logback.core.ContextBase:130,1"
      Dst: "[ch.qos.logback.core.util.NetworkAddressUtil].<init>(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.ContextBase:130,1"
      Dst: "[ch.qos.logback.core.util.NetworkAddressUtil].safelyGetLocalHostName()"
    - Src: "ch.qos.logback.core.ContextBase:131,1"
      Dst: "[ch.qos.logback.core.ContextBase].putHostnameProperty(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.NetworkAddressUtil].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.util.NetworkAddressUtil"
    linkageType: null
    functionLinenumber: 14
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:15,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:16,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 34
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:34,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 67
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:45"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:44"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:47"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:46,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.NetworkAddressUtil].safelyGetLocalHostName()"
    functionSourceFile: "ch.qos.logback.core.util.NetworkAddressUtil"
    linkageType: null
    functionLinenumber: 60
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.NetworkAddressUtil].getLocalHostName()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:61,1"
      Dst: "[ch.qos.logback.core.util.NetworkAddressUtil].getLocalHostName()"
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:64,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.NetworkAddressUtil].getLocalHostName()"
    functionSourceFile: "ch.qos.logback.core.util.NetworkAddressUtil"
    linkageType: null
    functionLinenumber: 20
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.NetworkAddressUtil].getLocalAddressAsString()"
    - "[java.net.InetAddress].getLocalHost()"
    - "[java.net.InetAddress].getHostName()"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:21,1"
      Dst: "[java.net.InetAddress].getLocalHost()"
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:22,1"
      Dst: "[java.net.InetAddress].getHostName()"
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:24,1"
      Dst: "[ch.qos.logback.core.util.NetworkAddressUtil].getLocalAddressAsString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.NetworkAddressUtil].getLocalAddressAsString()"
    functionSourceFile: "ch.qos.logback.core.util.NetworkAddressUtil"
    linkageType: null
    functionLinenumber: 37
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.NetworkAddressUtil].acceptableAddress(java.net.InetAddress)"
    - "[java.net.NetworkInterface].getNetworkInterfaces()"
    - "[java.util.Enumeration].hasMoreElements()"
    - "[java.util.Enumeration].nextElement()"
    - "[java.net.NetworkInterface].getInetAddresses()"
    - "[java.net.InetAddress].getHostAddress()"
    - "[java.net.UnknownHostException].<init>()"
    functionUses: 2
    ICount: 21
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.NetworkAddressUtil:39"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.NetworkAddressUtil:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.NetworkAddressUtil:47"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.NetworkAddressUtil:39"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.NetworkAddressUtil:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.NetworkAddressUtil:47"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.NetworkAddressUtil:41"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.NetworkAddressUtil:47"
        BranchSideFuncs:
        - "acceptableAddress(java.net.InetAddress)"
      - BranchSide: "ch.qos.logback.core.util.NetworkAddressUtil:46"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.NetworkAddressUtil:41"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.NetworkAddressUtil:47"
        BranchSideFuncs:
        - "acceptableAddress(java.net.InetAddress)"
      - BranchSide: "ch.qos.logback.core.util.NetworkAddressUtil:46"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.NetworkAddressUtil:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.NetworkAddressUtil:46"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.NetworkAddressUtil:45"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:38,1"
      Dst: "[java.net.NetworkInterface].getNetworkInterfaces()"
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:39,1"
      Dst: "[java.util.Enumeration].hasMoreElements()"
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:40,1"
      Dst: "[java.util.Enumeration].nextElement()"
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:40,1"
      Dst: "[java.net.NetworkInterface].getInetAddresses()"
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:43,1"
      Dst: "[ch.qos.logback.core.util.NetworkAddressUtil].acceptableAddress(java.net.InetAddress)"
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:44,1"
      Dst: "[java.net.InetAddress].getHostAddress()"
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:48,1"
      Dst: "[java.net.UnknownHostException].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 11
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.util.NetworkAddressUtil].acceptableAddress(java.net.InetAddress)"
    functionSourceFile: "ch.qos.logback.core.util.NetworkAddressUtil"
    linkageType: null
    functionLinenumber: 51
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.net.InetAddress"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.net.InetAddress].isLoopbackAddress()"
    - "[java.net.InetAddress].isAnyLocalAddress()"
    - "[java.net.InetAddress].isLinkLocalAddress()"
    functionUses: 1
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.NetworkAddressUtil:52"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.NetworkAddressUtil:-1"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.NetworkAddressUtil:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.NetworkAddressUtil:52"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.NetworkAddressUtil:-1"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.NetworkAddressUtil:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.NetworkAddressUtil:52"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.NetworkAddressUtil:-1"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.NetworkAddressUtil:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.NetworkAddressUtil:53"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.NetworkAddressUtil:-2"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:52,1"
      Dst: "[java.net.InetAddress].isLoopbackAddress()"
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:52,1"
      Dst: "[java.net.InetAddress].isAnyLocalAddress()"
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:53,1"
      Dst: "[java.net.InetAddress].isLinkLocalAddress()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 74
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].putHostnameProperty(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 136
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map].get(java.lang.Object)"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 2
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.ContextBase:138"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.ContextBase:143"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.ContextBase:142"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase:137,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "ch.qos.logback.core.ContextBase:139,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.ContextBase].lazyGetHostname()"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 127
    functionDepth: 4
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.NetworkAddressUtil].<init>(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.util.NetworkAddressUtil].safelyGetLocalHostName()"
    - "[ch.qos.logback.core.ContextBase].putHostnameProperty(java.lang.String)"
    - "[java.util.Map].get(java.lang.Object)"
    functionUses: 1
    ICount: 11
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.ContextBase:129"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.ContextBase:133"
        BranchSideFuncs:
        - "safelyGetLocalHostName()"
        - "putHostnameProperty(java.lang.String)"
        - "<init>(ch.qos.logback.core.Context)"
      - BranchSide: "ch.qos.logback.core.ContextBase:132"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase:128,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "ch.qos.logback.core.ContextBase:130,1"
      Dst: "[ch.qos.logback.core.util.NetworkAddressUtil].<init>(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.ContextBase:130,1"
      Dst: "[ch.qos.logback.core.util.NetworkAddressUtil].safelyGetLocalHostName()"
    - Src: "ch.qos.logback.core.ContextBase:131,1"
      Dst: "[ch.qos.logback.core.ContextBase].putHostnameProperty(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.ContextBase].putHostnameProperty(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 136
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map].get(java.lang.Object)"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 2
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.ContextBase:138"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.ContextBase:143"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.ContextBase:142"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase:137,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "ch.qos.logback.core.ContextBase:139,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.ContextBase].getObject(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 145
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map].get(java.lang.Object)"
    functionUses: 13
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase:146,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].putObject(java.lang.String,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 149
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 8
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase:150,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].removeObject(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 153
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map].remove(java.lang.Object)"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase:154,1"
      Dst: "[java.util.Map].remove(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].getName()"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 157
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 12
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].start()"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 165
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 6
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].stop()"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 171
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].stopExecutorServices()"
    functionUses: 3
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase:172,1"
      Dst: "[ch.qos.logback.core.ContextBase].stopExecutorServices()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].stopExecutorServices()"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 246
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.ExecutorServiceUtil].shutdown(java.util.concurrent.ExecutorService)"
    functionUses: 1
    ICount: 8
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase:247,1"
      Dst: "[ch.qos.logback.core.util.ExecutorServiceUtil].shutdown(java.util.concurrent.ExecutorService)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.ExecutorServiceUtil].shutdown(java.util.concurrent.ExecutorService)"
    functionSourceFile: "ch.qos.logback.core.util.ExecutorServiceUtil"
    linkageType: null
    functionLinenumber: 112
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.concurrent.ExecutorService"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.ExecutorService].shutdownNow()"
    functionUses: 2
    ICount: 4
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.ExecutorServiceUtil:113"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.ExecutorServiceUtil:116"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.ExecutorServiceUtil:115"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.ExecutorServiceUtil:114,1"
      Dst: "[java.util.concurrent.ExecutorService].shutdownNow()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.ContextBase].isStarted()"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 177
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].reset()"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 186
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].removeShutdownHook()"
    - "[ch.qos.logback.core.ContextBase].getLifeCycleManager()"
    - "[ch.qos.logback.core.LifeCycleManager].reset()"
    - "[ch.qos.logback.classic.turbo.LRUMessageCache].clear()"
    - "[java.util.Map].clear()"
    functionUses: 1
    ICount: 9
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase:187,1"
      Dst: "[ch.qos.logback.core.ContextBase].removeShutdownHook()"
    - Src: "ch.qos.logback.core.ContextBase:188,1"
      Dst: "[ch.qos.logback.core.ContextBase].getLifeCycleManager()"
    - Src: "ch.qos.logback.core.ContextBase:188,1"
      Dst: "[ch.qos.logback.core.LifeCycleManager].reset()"
    - Src: "ch.qos.logback.core.ContextBase:189,1"
      Dst: "[java.util.Map].clear()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].removeShutdownHook()"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 254
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getObject(java.lang.String)"
    - "[ch.qos.logback.core.ContextBase].removeObject(java.lang.String)"
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.BasicStatusManager].add(ch.qos.logback.core.status.Status)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Thread)"
    - "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    - "[java.lang.Runtime].getRuntime()"
    - "[java.lang.Runtime].removeShutdownHook(java.lang.Thread)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(boolean)"
    functionUses: 1
    ICount: 20
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.ContextBase:256"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.ContextBase:269"
        BranchSideFuncs:
        - "<init>(java.lang.String,java.lang.Object)"
        - "add(ch.qos.logback.core.status.Status)"
        - "removeObject(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.ContextBase:268"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase:255,1"
      Dst: "[ch.qos.logback.core.ContextBase].getObject(java.lang.String)"
    - Src: "ch.qos.logback.core.ContextBase:257,1"
      Dst: "[ch.qos.logback.core.ContextBase].removeObject(java.lang.String)"
    - Src: "ch.qos.logback.core.ContextBase:260,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Thread)"
    - Src: "ch.qos.logback.core.ContextBase:260,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.ContextBase:260,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    - Src: "ch.qos.logback.core.ContextBase:261,1"
      Dst: "[java.lang.Runtime].getRuntime()"
    - Src: "ch.qos.logback.core.ContextBase:262,1"
      Dst: "[java.lang.Runtime].removeShutdownHook(java.lang.Thread)"
    - Src: "ch.qos.logback.core.ContextBase:263,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.ContextBase].getObject(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 145
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map].get(java.lang.Object)"
    functionUses: 13
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase:146,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].removeObject(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 153
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map].remove(java.lang.Object)"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase:154,1"
      Dst: "[java.util.Map].remove(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.status.InfoStatus"
    linkageType: null
    functionLinenumber: 17
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    functionUses: 15
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.InfoStatus:18,1"
      Dst: "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].getLifeCycleManager()"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 287
    functionDepth: 1
    returnType: "ch.qos.logback.core.LifeCycleManager"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.LifeCycleManager].<init>()"
    functionUses: 2
    ICount: 8
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.ContextBase:288"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.ContextBase:291"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "ch.qos.logback.core.ContextBase:290"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase:289,1"
      Dst: "[ch.qos.logback.core.LifeCycleManager].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.LifeCycleManager].<init>()"
    functionSourceFile: "ch.qos.logback.core.LifeCycleManager"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.HashSet].<init>()"
    functionUses: 1
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.LifeCycleManager:28,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.LifeCycleManager:30,1"
      Dst: "[java.util.HashSet].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.LifeCycleManager].reset()"
    functionSourceFile: "ch.qos.logback.core.LifeCycleManager"
    linkageType: null
    functionLinenumber: 47
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.jul.LevelChangePropagator:ch.qos.logback.classic.net.ReceiverBase:ch.qos.logback.classic.turbo.TurboFilter:ch.qos.logback.core.AppenderBase:ch.qos.logback.core.ContextBase:ch.qos.logback.core.LayoutBase:ch.qos.logback.core.UnsynchronizedAppenderBase:ch.qos.logback.core.boolex.EventEvaluatorBase:ch.qos.logback.core.boolex.Matcher:ch.qos.logback.core.encoder.EncoderBase:ch.qos.logback.core.encoder.LayoutWrappingEncoder:ch.qos.logback.core.filter.Filter:ch.qos.logback.core.net.SMTPAppenderBase:ch.qos.logback.core.pattern.DynamicConverter:ch.qos.logback.core.rolling.RollingPolicyBase:ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase:ch.qos.logback.core.rolling.TriggeringPolicyBase:ch.qos.logback.core.sift.AbstractDiscriminator:ch.qos.logback.core.status.OnPrintStreamStatusListenerBase:ch.qos.logback.core.testUtil.TrivialStatusListener].isStarted()"
    - "[ch.qos.logback.core.FileAppender].stop()"
    - "[ch.qos.logback.core.status.OnFileStatusListener].stop()"
    - "[ch.qos.logback.core.net.server.AbstractServerSocketAppender].stop()"
    - "[ch.qos.logback.classic.turbo.DuplicateMessageFilter].stop()"
    - "[ch.qos.logback.core.ContextBase].stop()"
    - "[ch.qos.logback.core.rolling.RollingFileAppender].stop()"
    - "[ch.qos.logback.core.net.SyslogAppenderBase].stop()"
    - "[ch.qos.logback.core.testUtil.StringListAppender].stop()"
    - "[ch.qos.logback.classic.pattern.MDCConverter].stop()"
    - "[ch.qos.logback.core.read.CyclicBufferAppender].stop()"
    - "[ch.qos.logback.classic.LoggerContext].stop()"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].stop()"
    - "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].stop()"
    - "[ch.qos.logback.core.sift.SiftingAppenderBase].stop()"
    - "[ch.qos.logback.core.AsyncAppenderBase].stop()"
    - "[ch.qos.logback.core.OutputStreamAppender].stop()"
    - "[ch.qos.logback.core.net.AbstractSocketAppender].stop()"
    - "[ch.qos.logback.classic.net.ReceiverBase].stop()"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[ch.qos.logback.core.spi.LifeCycle].isStarted()"
    - "[ch.qos.logback.core.spi.LifeCycle].stop()"
    - "[java.util.Set].clear()"
    functionUses: 1
    ICount: 14
    EdgeCount: 19
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.LifeCycleManager:48"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.LifeCycleManager:53"
        BranchSideFuncs:
        - "isStarted()"
      - BranchSide: "ch.qos.logback.core.LifeCycleManager:52"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.LifeCycleManager:49"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.LifeCycleManager:52"
        BranchSideFuncs:
        - "stop()"
      - BranchSide: "ch.qos.logback.core.LifeCycleManager:51"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.LifeCycleManager:48,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "ch.qos.logback.core.LifeCycleManager:48,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.LifeCycleManager:48,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.LifeCycleManager:49,1"
      Dst: "[ch.qos.logback.core.spi.LifeCycle].isStarted()"
    - Src: "ch.qos.logback.core.LifeCycleManager:50,1"
      Dst: "[ch.qos.logback.core.spi.LifeCycle].stop()"
    - Src: "ch.qos.logback.core.LifeCycleManager:53,1"
      Dst: "[java.util.Set].clear()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.ContextBase].setName(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 201
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 2
    ICount: 19
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.ContextBase:202"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.ContextBase:205"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.ContextBase:204"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.ContextBase:202"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.ContextBase:205"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.ContextBase:204"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.ContextBase:205"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.ContextBase:206"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.ContextBase:205"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.ContextBase:205"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.ContextBase:208"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.ContextBase:207"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase:202,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.ContextBase:208,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.ContextBase].getBirthTime()"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 212
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].getConfigurationLock()"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 216
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].getExecutorService()"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 223
    functionDepth: 1
    returnType: "java.util.concurrent.ExecutorService"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.ExecutorServiceUtil].newThreadPoolExecutor()"
    functionUses: 9
    ICount: 7
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.ContextBase:224"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.ContextBase:227"
        BranchSideFuncs:
        - "newThreadPoolExecutor()"
      - BranchSide: "ch.qos.logback.core.ContextBase:226"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase:225,1"
      Dst: "[ch.qos.logback.core.util.ExecutorServiceUtil].newThreadPoolExecutor()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.ExecutorServiceUtil].newThreadPoolExecutor()"
    functionSourceFile: "ch.qos.logback.core.util.ExecutorServiceUtil"
    linkageType: null
    functionLinenumber: 101
    functionDepth: 0
    returnType: "java.util.concurrent.ThreadPoolExecutor"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.SynchronousQueue].<init>()"
    - "[java.util.concurrent.ThreadPoolExecutor].<init>(int,int,long,java.util.concurrent.TimeUnit,java.util.concurrent.BlockingQueue,java.util.concurrent.ThreadFactory)"
    functionUses: 3
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.ExecutorServiceUtil:102,1"
      Dst: "[java.util.concurrent.SynchronousQueue].<init>()"
    - Src: "ch.qos.logback.core.util.ExecutorServiceUtil:102,1"
      Dst: "[java.util.concurrent.ThreadPoolExecutor].<init>(int,int,long,java.util.concurrent.TimeUnit,java.util.concurrent.BlockingQueue,java.util.concurrent.ThreadFactory)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].getAlternateExecutorService()"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 231
    functionDepth: 4
    returnType: "java.util.concurrent.ExecutorService"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.ExecutorServiceUtil].newAlternateThreadPoolExecutor()"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.ContextBase:232"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.ContextBase:235"
        BranchSideFuncs:
        - "newAlternateThreadPoolExecutor()"
      - BranchSide: "ch.qos.logback.core.ContextBase:234"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase:233,1"
      Dst: "[ch.qos.logback.core.util.ExecutorServiceUtil].newAlternateThreadPoolExecutor()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.ExecutorServiceUtil].newAlternateThreadPoolExecutor()"
    functionSourceFile: "ch.qos.logback.core.util.ExecutorServiceUtil"
    linkageType: null
    functionLinenumber: 125
    functionDepth: 3
    returnType: "java.util.concurrent.ExecutorService"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.EnvUtil].isJDK21OrHigher()"
    - "[ch.qos.logback.core.util.ExecutorServiceUtil].newThreadPoolExecutor()"
    - "[java.lang.Class].getMethod(java.lang.String,java.lang.Class[])"
    - "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    functionUses: 1
    ICount: 14
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.ExecutorServiceUtil:126"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.ExecutorServiceUtil:133"
        BranchSideFuncs:
        - "newThreadPoolExecutor()"
    Callsites:
    - Src: "ch.qos.logback.core.util.ExecutorServiceUtil:126,1"
      Dst: "[ch.qos.logback.core.util.EnvUtil].isJDK21OrHigher()"
    - Src: "ch.qos.logback.core.util.ExecutorServiceUtil:128,1"
      Dst: "[java.lang.Class].getMethod(java.lang.String,java.lang.Class[])"
    - Src: "ch.qos.logback.core.util.ExecutorServiceUtil:129,1"
      Dst: "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    - Src: "ch.qos.logback.core.util.ExecutorServiceUtil:131,1"
      Dst: "[ch.qos.logback.core.util.ExecutorServiceUtil].newThreadPoolExecutor()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.EnvUtil].isJDK21OrHigher()"
    functionSourceFile: "ch.qos.logback.core.util.EnvUtil"
    linkageType: null
    functionLinenumber: 115
    functionDepth: 2
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.EnvUtil].isJDK_N_OrHigher(int)"
    functionUses: 3
    ICount: 2
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.EnvUtil:116,1"
      Dst: "[ch.qos.logback.core.util.EnvUtil].isJDK_N_OrHigher(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.EnvUtil].isJDK_N_OrHigher(int)"
    functionSourceFile: "ch.qos.logback.core.util.EnvUtil"
    linkageType: null
    functionLinenumber: 82
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.EnvUtil].getJDKVersion(java.lang.String)"
    - "[java.lang.System].getProperty(java.lang.String,java.lang.String)"
    - "[java.lang.String].isEmpty()"
    functionUses: 2
    ICount: 12
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.EnvUtil:84"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:87"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:86"
        BranchSideFuncs:
        - "getJDKVersion(java.lang.String)"
    - Branch String: "ch.qos.logback.core.util.EnvUtil:88"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:86"
        BranchSideFuncs:
        - "getJDKVersion(java.lang.String)"
    - Branch String: "ch.qos.logback.core.util.EnvUtil:88"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:86"
        BranchSideFuncs:
        - "getJDKVersion(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.util.EnvUtil:83,1"
      Dst: "[java.lang.System].getProperty(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.util.EnvUtil:84,1"
      Dst: "[java.lang.String].isEmpty()"
    - Src: "ch.qos.logback.core.util.EnvUtil:87,1"
      Dst: "[ch.qos.logback.core.util.EnvUtil].getJDKVersion(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.util.EnvUtil].getJDKVersion(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.EnvUtil"
    linkageType: null
    functionLinenumber: 67
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].toCharArray()"
    - "[java.lang.Character].isDigit(char)"
    functionUses: 1
    ICount: 19
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.EnvUtil:70"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:79"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:78"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.EnvUtil:71"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:73"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:72"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.EnvUtil:73"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:79"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:78"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.EnvUtil:70,1"
      Dst: "[java.lang.String].toCharArray()"
    - Src: "ch.qos.logback.core.util.EnvUtil:71,1"
      Dst: "[java.lang.Character].isDigit(char)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.util.ExecutorServiceUtil].newThreadPoolExecutor()"
    functionSourceFile: "ch.qos.logback.core.util.ExecutorServiceUtil"
    linkageType: null
    functionLinenumber: 101
    functionDepth: 0
    returnType: "java.util.concurrent.ThreadPoolExecutor"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.SynchronousQueue].<init>()"
    - "[java.util.concurrent.ThreadPoolExecutor].<init>(int,int,long,java.util.concurrent.TimeUnit,java.util.concurrent.BlockingQueue,java.util.concurrent.ThreadFactory)"
    functionUses: 3
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.ExecutorServiceUtil:102,1"
      Dst: "[java.util.concurrent.SynchronousQueue].<init>()"
    - Src: "ch.qos.logback.core.util.ExecutorServiceUtil:102,1"
      Dst: "[java.util.concurrent.ThreadPoolExecutor].<init>(int,int,long,java.util.concurrent.TimeUnit,java.util.concurrent.BlockingQueue,java.util.concurrent.ThreadFactory)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].getScheduledExecutorService()"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 239
    functionDepth: 1
    returnType: "java.util.concurrent.ScheduledExecutorService"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.ExecutorServiceUtil].newScheduledExecutorService()"
    functionUses: 2
    ICount: 7
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.ContextBase:240"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.ContextBase:243"
        BranchSideFuncs:
        - "newScheduledExecutorService()"
      - BranchSide: "ch.qos.logback.core.ContextBase:242"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase:241,1"
      Dst: "[ch.qos.logback.core.util.ExecutorServiceUtil].newScheduledExecutorService()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.ExecutorServiceUtil].newScheduledExecutorService()"
    functionSourceFile: "ch.qos.logback.core.util.ExecutorServiceUtil"
    linkageType: null
    functionLinenumber: 82
    functionDepth: 0
    returnType: "java.util.concurrent.ScheduledExecutorService"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.ScheduledThreadPoolExecutor].<init>(int,java.util.concurrent.ThreadFactory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.ExecutorServiceUtil:83,1"
      Dst: "[java.util.concurrent.ScheduledThreadPoolExecutor].<init>(int,java.util.concurrent.ThreadFactory)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].stopExecutorServices()"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 246
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.ExecutorServiceUtil].shutdown(java.util.concurrent.ExecutorService)"
    functionUses: 1
    ICount: 8
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase:247,1"
      Dst: "[ch.qos.logback.core.util.ExecutorServiceUtil].shutdown(java.util.concurrent.ExecutorService)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].removeShutdownHook()"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 254
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getObject(java.lang.String)"
    - "[ch.qos.logback.core.ContextBase].removeObject(java.lang.String)"
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.BasicStatusManager].add(ch.qos.logback.core.status.Status)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Thread)"
    - "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    - "[java.lang.Runtime].getRuntime()"
    - "[java.lang.Runtime].removeShutdownHook(java.lang.Thread)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(boolean)"
    functionUses: 1
    ICount: 20
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.ContextBase:256"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.ContextBase:269"
        BranchSideFuncs:
        - "<init>(java.lang.String,java.lang.Object)"
        - "add(ch.qos.logback.core.status.Status)"
        - "removeObject(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.ContextBase:268"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase:255,1"
      Dst: "[ch.qos.logback.core.ContextBase].getObject(java.lang.String)"
    - Src: "ch.qos.logback.core.ContextBase:257,1"
      Dst: "[ch.qos.logback.core.ContextBase].removeObject(java.lang.String)"
    - Src: "ch.qos.logback.core.ContextBase:260,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Thread)"
    - Src: "ch.qos.logback.core.ContextBase:260,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.ContextBase:260,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    - Src: "ch.qos.logback.core.ContextBase:261,1"
      Dst: "[java.lang.Runtime].getRuntime()"
    - Src: "ch.qos.logback.core.ContextBase:262,1"
      Dst: "[java.lang.Runtime].removeShutdownHook(java.lang.Thread)"
    - Src: "ch.qos.logback.core.ContextBase:263,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.ContextBase].register(ch.qos.logback.core.spi.LifeCycle)"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 271
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.spi.LifeCycle"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getLifeCycleManager()"
    - "[ch.qos.logback.core.LifeCycleManager].register(ch.qos.logback.core.spi.LifeCycle)"
    functionUses: 1
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase:272,1"
      Dst: "[ch.qos.logback.core.ContextBase].getLifeCycleManager()"
    - Src: "ch.qos.logback.core.ContextBase:272,1"
      Dst: "[ch.qos.logback.core.LifeCycleManager].register(ch.qos.logback.core.spi.LifeCycle)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].getLifeCycleManager()"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 287
    functionDepth: 1
    returnType: "ch.qos.logback.core.LifeCycleManager"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.LifeCycleManager].<init>()"
    functionUses: 2
    ICount: 8
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.ContextBase:288"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.ContextBase:291"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "ch.qos.logback.core.ContextBase:290"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase:289,1"
      Dst: "[ch.qos.logback.core.LifeCycleManager].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.LifeCycleManager].register(ch.qos.logback.core.spi.LifeCycle)"
    functionSourceFile: "ch.qos.logback.core.LifeCycleManager"
    linkageType: null
    functionLinenumber: 38
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.spi.LifeCycle"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Set].add(java.lang.Object)"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.LifeCycleManager:39,1"
      Dst: "[java.util.Set].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].getLifeCycleManager()"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 287
    functionDepth: 1
    returnType: "ch.qos.logback.core.LifeCycleManager"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.LifeCycleManager].<init>()"
    functionUses: 2
    ICount: 8
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.ContextBase:288"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.ContextBase:291"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "ch.qos.logback.core.ContextBase:290"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase:289,1"
      Dst: "[ch.qos.logback.core.LifeCycleManager].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.ContextBase].toString()"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 295
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].addScheduledFuture(java.util.concurrent.ScheduledFuture)"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 300
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.concurrent.ScheduledFuture"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase:301,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].getScheduledFutures()"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getCopyOfScheduledFutures()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase:309,1"
      Dst: "[ch.qos.logback.core.ContextBase].getCopyOfScheduledFutures()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].getCopyOfScheduledFutures()"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>(java.util.Collection)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase:313,1"
      Dst: "[java.util.ArrayList].<init>(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].getCopyOfScheduledFutures()"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>(java.util.Collection)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase:313,1"
      Dst: "[java.util.ArrayList].<init>(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].getSequenceNumberGenerator()"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 316
    functionDepth: 0
    returnType: "ch.qos.logback.core.spi.SequenceNumberGenerator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].setSequenceNumberGenerator(ch.qos.logback.core.spi.SequenceNumberGenerator)"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 320
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.spi.SequenceNumberGenerator"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].addConfigurationEventListener(ch.qos.logback.core.spi.ConfigurationEventListener)"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.spi.ConfigurationEventListener"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase:326,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].fireConfigurationEvent(ch.qos.logback.core.spi.ConfigurationEvent)"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 331
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.spi.ConfigurationEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase$lambda_fireConfigurationEvent_0__2].bootstrap$(ch.qos.logback.core.spi.ConfigurationEvent)"
    - "[java.lang.Iterable].forEach(java.util.function.Consumer)"
    functionUses: 6
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase:332,1"
      Dst: "[ch.qos.logback.core.ContextBase$lambda_fireConfigurationEvent_0__2].bootstrap$(ch.qos.logback.core.spi.ConfigurationEvent)"
    - Src: "ch.qos.logback.core.ContextBase:332,1"
      Dst: "[java.lang.Iterable].forEach(java.util.function.Consumer)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase$lambda_fireConfigurationEvent_0__2].bootstrap$(ch.qos.logback.core.spi.ConfigurationEvent)"
    functionSourceFile: "ch.qos.logback.core.ContextBase$lambda_fireConfigurationEvent_0__2"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Consumer"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.spi.ConfigurationEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase$lambda_fireConfigurationEvent_0__2].<init>(ch.qos.logback.core.spi.ConfigurationEvent)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase$lambda_fireConfigurationEvent_0__2:-1,1"
      Dst: "[ch.qos.logback.core.ContextBase$lambda_fireConfigurationEvent_0__2].<init>(ch.qos.logback.core.spi.ConfigurationEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase$lambda_fireConfigurationEvent_0__2].<init>(ch.qos.logback.core.spi.ConfigurationEvent)"
    functionSourceFile: "ch.qos.logback.core.ContextBase$lambda_fireConfigurationEvent_0__2"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.spi.ConfigurationEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase$lambda_fireConfigurationEvent_0__2:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].lambda$fireConfigurationEvent$0(ch.qos.logback.core.spi.ConfigurationEvent,ch.qos.logback.core.spi.ConfigurationEventListener)"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.spi.ConfigurationEvent"
    - "ch.qos.logback.core.spi.ConfigurationEventListener"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ConfigurationEventListener].listen(ch.qos.logback.core.spi.ConfigurationEvent)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase:332,1"
      Dst: "[ch.qos.logback.core.spi.ConfigurationEventListener].listen(ch.qos.logback.core.spi.ConfigurationEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase"
    linkageType: null
    functionLinenumber: 63
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase:64,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase].link(ch.qos.logback.core.model.processor.DefaultProcessor)"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase"
    linkageType: null
    functionLinenumber: 68
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.processor.DefaultProcessor"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].addHandler(java.lang.Class,ch.qos.logback.core.model.ModelHandlerFactoryMethod)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__70].bootstrap$()"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__71].bootstrap$()"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__72].bootstrap$()"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__73].bootstrap$()"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__74].bootstrap$()"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__75].bootstrap$()"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__76].bootstrap$()"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__77].bootstrap$()"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__78].bootstrap$()"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__79].bootstrap$()"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__80].bootstrap$()"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__81].bootstrap$()"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__82].bootstrap$()"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__83].bootstrap$()"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__84].bootstrap$()"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__85].bootstrap$()"
    functionUses: 1
    ICount: 35
    EdgeCount: 32
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase:69,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__70].bootstrap$()"
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase:69,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].addHandler(java.lang.Class,ch.qos.logback.core.model.ModelHandlerFactoryMethod)"
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase:71,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__71].bootstrap$()"
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase:72,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__72].bootstrap$()"
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase:73,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__73].bootstrap$()"
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase:75,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__74].bootstrap$()"
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase:76,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__75].bootstrap$()"
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase:77,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__76].bootstrap$()"
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase:80,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__77].bootstrap$()"
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase:81,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__78].bootstrap$()"
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase:82,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__79].bootstrap$()"
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase:83,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__80].bootstrap$()"
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase:84,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__81].bootstrap$()"
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase:86,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__82].bootstrap$()"
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase:87,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__83].bootstrap$()"
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase:88,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__84].bootstrap$()"
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase:90,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__85].bootstrap$()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__70].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__70"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__70].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__70:-1,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__70].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__70].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__70"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__70:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor].addHandler(java.lang.Class,ch.qos.logback.core.model.ModelHandlerFactoryMethod)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor"
    linkageType: null
    functionLinenumber: 56
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].determineProcessingPhase(java.lang.Class)"
    - "[ch.qos.logback.core.model.processor.ChainedModelFilter].allow(java.lang.Class)"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].getPhaseOneFilter()"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].getPhaseTwoFilter()"
    - "[java.util.HashMap].put(java.lang.Object,java.lang.Object)"
    - "[java.lang.Enum].ordinal()"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.model.processor.ProcessingPhase,java.lang.String)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 45
    ICount: 22
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:57,1"
      Dst: "[java.util.HashMap].put(java.lang.Object,java.lang.Object)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:59,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].determineProcessingPhase(java.lang.Class)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:60,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:62,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].getPhaseOneFilter()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:62,1"
      Dst: "[ch.qos.logback.core.model.processor.ChainedModelFilter].allow(java.lang.Class)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:65,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].getPhaseTwoFilter()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:68,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:68,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.model.processor.ProcessingPhase,java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:68,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor].determineProcessingPhase(java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor"
    linkageType: null
    functionLinenumber: 73
    functionDepth: 0
    returnType: "ch.qos.logback.core.model.processor.ProcessingPhase"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].getAnnotation(java.lang.Class)"
    - "[ch.qos.logback.core.model.processor.PhaseIndicator].phase()"
    functionUses: 1
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:75"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:79"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:78"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:74,1"
      Dst: "[java.lang.Class].getAnnotation(java.lang.Class)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:79,1"
      Dst: "[ch.qos.logback.core.model.processor.PhaseIndicator].phase()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor].getPhaseOneFilter()"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor"
    linkageType: null
    functionLinenumber: 120
    functionDepth: 0
    returnType: "ch.qos.logback.core.model.processor.ChainedModelFilter"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ChainedModelFilter].allow(java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ChainedModelFilter"
    linkageType: null
    functionLinenumber: 20
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ChainedModelFilter"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.AllowModelFilter].<init>(java.lang.Class)"
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 2
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ChainedModelFilter:21,1"
      Dst: "[ch.qos.logback.core.model.processor.AllowModelFilter].<init>(java.lang.Class)"
    - Src: "ch.qos.logback.core.model.processor.ChainedModelFilter:21,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor].getPhaseTwoFilter()"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor"
    linkageType: null
    functionLinenumber: 124
    functionDepth: 0
    returnType: "ch.qos.logback.core.model.processor.ChainedModelFilter"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__71].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__71"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__71].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__71:-1,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__71].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__71].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__71"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__71:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__72].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__72"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__72].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__72:-1,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__72].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__73].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__73"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__73].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__73:-1,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__73].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__73].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__73"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__73:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__74].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__74"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__74].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__74:-1,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__74].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__74].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__74"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__74:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__75].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__75"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__75].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__75:-1,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__75].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__75].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__75"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__75:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__76].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__76"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__76].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__76:-1,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__76].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__76].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__76"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__76:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__77].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__77"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__77].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__77:-1,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__77].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__77].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__77"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__77:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__78].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__78"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__78].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__78:-1,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__78].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__78].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__78"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__78:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__79].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__79"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__79].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__79:-1,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__79].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__79].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__79"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__79:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__80].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__80"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__80].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__80:-1,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__80].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__80].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__80"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__80:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__81].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__81"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__81].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__81:-1,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__81].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__81].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__81"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__81:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__82].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__82"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__82].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__82:-1,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__82].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__82].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__82"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__82:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__83].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__83"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__83].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__83:-1,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__83].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__83].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__83"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__83:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__84].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__84"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__84].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__84:-1,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__84].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__84].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__84"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__84:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__85].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__85"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__85].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__85:-1,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__85].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__85].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__85"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__85:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase].sealModelFilters(ch.qos.logback.core.model.processor.DefaultProcessor)"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase"
    linkageType: null
    functionLinenumber: 97
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.processor.DefaultProcessor"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ChainedModelFilter].denyAll()"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].getPhaseOneFilter()"
    - "[ch.qos.logback.core.model.processor.ChainedModelFilter].allowAll()"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].getPhaseTwoFilter()"
    functionUses: 1
    ICount: 7
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase:98,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].getPhaseOneFilter()"
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase:98,1"
      Dst: "[ch.qos.logback.core.model.processor.ChainedModelFilter].denyAll()"
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase:99,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].getPhaseTwoFilter()"
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase:99,1"
      Dst: "[ch.qos.logback.core.model.processor.ChainedModelFilter].allowAll()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor].getPhaseOneFilter()"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor"
    linkageType: null
    functionLinenumber: 120
    functionDepth: 0
    returnType: "ch.qos.logback.core.model.processor.ChainedModelFilter"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ChainedModelFilter].denyAll()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ChainedModelFilter"
    linkageType: null
    functionLinenumber: 30
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ChainedModelFilter"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.DenyAllModelFilter].<init>()"
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ChainedModelFilter:31,1"
      Dst: "[ch.qos.logback.core.model.processor.DenyAllModelFilter].<init>()"
    - Src: "ch.qos.logback.core.model.processor.ChainedModelFilter:31,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor].getPhaseTwoFilter()"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor"
    linkageType: null
    functionLinenumber: 124
    functionDepth: 0
    returnType: "ch.qos.logback.core.model.processor.ChainedModelFilter"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ChainedModelFilter].allowAll()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ChainedModelFilter"
    linkageType: null
    functionLinenumber: 35
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ChainedModelFilter"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.AllowAllModelFilter].<init>()"
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ChainedModelFilter:36,1"
      Dst: "[ch.qos.logback.core.model.processor.AllowAllModelFilter].<init>()"
    - Src: "ch.qos.logback.core.model.processor.ChainedModelFilter:36,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.StartEvent].<init>(ch.qos.logback.core.joran.spi.ElementPath,java.lang.String,java.lang.String,java.lang.String,org.xml.sax.Attributes,org.xml.sax.Locator)"
    functionSourceFile: "ch.qos.logback.core.joran.event.StartEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 6
    argTypes:
    - "ch.qos.logback.core.joran.spi.ElementPath"
    - "java.lang.String"
    - "java.lang.String"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    - "org.xml.sax.Locator"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.event.SaxEvent].<init>(java.lang.String,java.lang.String,java.lang.String,org.xml.sax.Locator)"
    - "[org.xml.sax.helpers.AttributesImpl].<init>(org.xml.sax.Attributes)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.StartEvent:28,1"
      Dst: "[ch.qos.logback.core.joran.event.SaxEvent].<init>(java.lang.String,java.lang.String,java.lang.String,org.xml.sax.Locator)"
    - Src: "ch.qos.logback.core.joran.event.StartEvent:30,1"
      Dst: "[org.xml.sax.helpers.AttributesImpl].<init>(org.xml.sax.Attributes)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.StartEvent].getAttributes()"
    functionSourceFile: "ch.qos.logback.core.joran.event.StartEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "org.xml.sax.Attributes"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.StartEvent].toString()"
    functionSourceFile: "ch.qos.logback.core.joran.event.StartEvent"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.event.SaxEvent].getQName()"
    - "[org.xml.sax.helpers.AttributesImpl].getLength()"
    - "[org.xml.sax.helpers.AttributesImpl].getLocalName(int)"
    - "[org.xml.sax.helpers.AttributesImpl].getValue(int)"
    - "[org.xml.sax.helpers.LocatorImpl].getLineNumber()"
    - "[org.xml.sax.helpers.LocatorImpl].getColumnNumber()"
    - "[java.lang.StringBuilder].<init>(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[org.xml.sax.Attributes].getLength()"
    - "[java.lang.StringBuilder].append(char)"
    - "[org.xml.sax.Attributes].getLocalName(int)"
    - "[org.xml.sax.Attributes].getValue(int)"
    - "[org.xml.sax.Locator].getLineNumber()"
    - "[java.lang.StringBuilder].append(int)"
    - "[org.xml.sax.Locator].getColumnNumber()"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 3
    ICount: 33
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.event.StartEvent:42"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.event.StartEvent:48"
        BranchSideFuncs:
        - "getLength()"
      - BranchSide: "ch.qos.logback.core.joran.event.StartEvent:47"
        BranchSideFuncs:
        - "getColumnNumber()"
        - "getLineNumber()"
    - Branch String: "ch.qos.logback.core.joran.event.StartEvent:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.event.StartEvent:47"
        BranchSideFuncs:
        - "getColumnNumber()"
        - "getLineNumber()"
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.StartEvent:40,1"
      Dst: "[java.lang.StringBuilder].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.event.StartEvent:41,1"
      Dst: "[ch.qos.logback.core.joran.event.SaxEvent].getQName()"
    - Src: "ch.qos.logback.core.joran.event.StartEvent:41,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.event.StartEvent:43,1"
      Dst: "[org.xml.sax.Attributes].getLength()"
    - Src: "ch.qos.logback.core.joran.event.StartEvent:44,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.core.joran.event.StartEvent:45,1"
      Dst: "[org.xml.sax.Attributes].getLocalName(int)"
    - Src: "ch.qos.logback.core.joran.event.StartEvent:45,1"
      Dst: "[org.xml.sax.Attributes].getValue(int)"
    - Src: "ch.qos.logback.core.joran.event.StartEvent:49,1"
      Dst: "[org.xml.sax.Locator].getLineNumber()"
    - Src: "ch.qos.logback.core.joran.event.StartEvent:49,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "ch.qos.logback.core.joran.event.StartEvent:51,1"
      Dst: "[org.xml.sax.Locator].getColumnNumber()"
    - Src: "ch.qos.logback.core.joran.event.StartEvent:53,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.joran.event.SaxEvent].getQName()"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEvent"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.SiftAction].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.action.SiftAction"
    linkageType: null
    functionLinenumber: 21
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.SiftAction:22,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.SiftAction].validPreconditions(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.SiftAction"
    linkageType: null
    functionLinenumber: 25
    functionDepth: 3
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].<init>(ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].validateZeroAttributes()"
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].isValid()"
    functionUses: 1
    ICount: 9
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.SiftAction:26,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].<init>(ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    - Src: "ch.qos.logback.core.joran.action.SiftAction:27,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].validateZeroAttributes()"
    - Src: "ch.qos.logback.core.joran.action.SiftAction:28,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].isValid()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].<init>(ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 1
    returnType: "void"
    argCount: 4
    argTypes:
    - "ch.qos.logback.core.spi.ContextAware"
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>(ch.qos.logback.core.spi.ContextAware)"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].getContext()"
    - "[ch.qos.logback.core.pattern.DynamicConverter].getContext()"
    - "[ch.qos.logback.core.LayoutBase:ch.qos.logback.core.spi.ContextAwareBase:ch.qos.logback.core.spi.ContextAwareImpl].getContext()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAware].getContext()"
    functionUses: 16
    ICount: 13
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:33,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>(ch.qos.logback.core.spi.ContextAware)"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:34,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].getContext()"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:34,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].<init>(ch.qos.logback.core.spi.ContextAware)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 37
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.spi.ContextAware"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 2
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:38,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 67
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:45"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:44"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:47"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:46,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].validateZeroAttributes()"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 40
    functionDepth: 2
    returnType: "ch.qos.logback.core.joran.action.PreconditionValidator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.xml.sax.helpers.AttributesImpl].getLength()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.joran.action.Action].getLineNumber(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext)"
    - "[org.xml.sax.Attributes].getLength()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int)"
    functionUses: 3
    ICount: 14
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.action.PreconditionValidator:41"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.PreconditionValidator:44"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.action.PreconditionValidator:43"
        BranchSideFuncs:
        - "getLength()"
    - Branch String: "ch.qos.logback.core.joran.action.PreconditionValidator:44"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.PreconditionValidator:48"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:44,1"
      Dst: "[org.xml.sax.Attributes].getLength()"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:46,1"
      Dst: "[ch.qos.logback.core.joran.action.Action].getLineNumber(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext)"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:46,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int)"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:45,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].isValid()"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 79
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 16
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.SiftAction].buildCurrentModel(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.SiftAction"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.Model"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.SiftModel].<init>()"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.SiftAction:34,1"
      Dst: "[ch.qos.logback.core.model.SiftModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.SiftModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.SiftModel"
    linkageType: null
    functionLinenumber: 15
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.SiftModel:16,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.ArrayList].<init>()"
    functionUses: 16
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:27,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.model.Model:40,1"
      Dst: "[java.util.ArrayList].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DependencyDefinition].<init>(ch.qos.logback.core.model.Model,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DependencyDefinition"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.Model"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DependencyDefinition:34,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DependencyDefinition].getDependee()"
    functionSourceFile: "ch.qos.logback.core.model.processor.DependencyDefinition"
    linkageType: null
    functionLinenumber: 41
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DependencyDefinition].getDepender()"
    functionSourceFile: "ch.qos.logback.core.model.processor.DependencyDefinition"
    linkageType: null
    functionLinenumber: 45
    functionDepth: 0
    returnType: "ch.qos.logback.core.model.Model"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.Reporter$Level].values()"
    functionSourceFile: "org.slf4j.helpers.Reporter$Level"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "org.slf4j.helpers.Reporter$Level[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].clone()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.Reporter$Level:25,1"
      Dst: "[java.lang.Object].clone()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.Reporter$Level].valueOf(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.Reporter$Level"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "org.slf4j.helpers.Reporter$Level"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.Reporter$Level:25,1"
      Dst: "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.Reporter$Level].<init>(java.lang.String,int,int)"
    functionSourceFile: "org.slf4j.helpers.Reporter$Level"
    linkageType: null
    functionLinenumber: 29
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].<init>(java.lang.String,int)"
    functionUses: 3
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.Reporter$Level:30,1"
      Dst: "[java.lang.Enum].<init>(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.Reporter$Level].getLevelInt()"
    functionSourceFile: "org.slf4j.helpers.Reporter$Level"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.Reporter$Level].$values()"
    functionSourceFile: "org.slf4j.helpers.Reporter$Level"
    linkageType: null
    functionLinenumber: 24
    functionDepth: 0
    returnType: "org.slf4j.helpers.Reporter$Level[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.BasicMDCAdapter$1].<init>(org.slf4j.helpers.BasicMDCAdapter)"
    functionSourceFile: "org.slf4j.helpers.BasicMDCAdapter$1"
    linkageType: null
    functionLinenumber: 47
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.slf4j.helpers.BasicMDCAdapter"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.InheritableThreadLocal].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.BasicMDCAdapter$1:48,1"
      Dst: "[java.lang.InheritableThreadLocal].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.BasicMDCAdapter$1].childValue(java.util.Map)"
    functionSourceFile: "org.slf4j.helpers.BasicMDCAdapter$1"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 1
    argTypes:
    - "java.util.Map"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashMap].<init>(java.util.Map)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.BasicMDCAdapter$1:51"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.BasicMDCAdapter$1:54"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.BasicMDCAdapter$1:53"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.BasicMDCAdapter$1:54,1"
      Dst: "[java.util.HashMap].<init>(java.util.Map)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.BasicMDCAdapter$1].childValue(java.lang.Object)"
    functionSourceFile: "org.slf4j.helpers.BasicMDCAdapter$1"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.BasicMDCAdapter$1].childValue(java.util.Map)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.BasicMDCAdapter$1:48,1"
      Dst: "[org.slf4j.helpers.BasicMDCAdapter$1].childValue(java.util.Map)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.BasicMDCAdapter$1].childValue(java.util.Map)"
    functionSourceFile: "org.slf4j.helpers.BasicMDCAdapter$1"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 1
    argTypes:
    - "java.util.Map"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashMap].<init>(java.util.Map)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.BasicMDCAdapter$1:51"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.BasicMDCAdapter$1:54"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.BasicMDCAdapter$1:53"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.BasicMDCAdapter$1:54,1"
      Dst: "[java.util.HashMap].<init>(java.util.Map)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.FileNamePattern].<init>(java.lang.String,ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileNamePattern"
    linkageType: null
    functionLinenumber: 49
    functionDepth: 10
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].setPattern(java.lang.String)"
    - "[ch.qos.logback.core.rolling.helper.FileFilterUtil].slashify(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].parse()"
    - "[ch.qos.logback.core.pattern.ConverterUtil].startConverters(ch.qos.logback.core.pattern.Converter)"
    functionUses: 5
    ICount: 11
    EdgeCount: 6
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:50,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:52,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].slashify(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:52,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileNamePattern].setPattern(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:53,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:54,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileNamePattern].parse()"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:55,1"
      Dst: "[ch.qos.logback.core.pattern.ConverterUtil].startConverters(ch.qos.logback.core.pattern.Converter)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.FileNamePattern].parse()"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileNamePattern"
    linkageType: null
    functionLinenumber: 65
    functionDepth: 9
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].escapeRightParantesis(java.lang.String)"
    - "[ch.qos.logback.core.pattern.parser.Parser].<init>(java.lang.String,ch.qos.logback.core.pattern.util.IEscapeUtil)"
    - "[ch.qos.logback.core.pattern.util.AlmostAsIsEscapeUtil].<init>()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.pattern.parser.Parser].parse()"
    - "[ch.qos.logback.core.pattern.parser.Parser].compile(ch.qos.logback.core.pattern.parser.Node,java.util.Map)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 19
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:66,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileNamePattern].escapeRightParantesis(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:67,1"
      Dst: "[ch.qos.logback.core.pattern.util.AlmostAsIsEscapeUtil].<init>()"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:67,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Parser].<init>(java.lang.String,ch.qos.logback.core.pattern.util.IEscapeUtil)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:68,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:69,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Parser].parse()"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:70,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Parser].compile(ch.qos.logback.core.pattern.parser.Node,java.util.Map)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:73,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:73,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.FileNamePattern].escapeRightParantesis(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileNamePattern"
    linkageType: null
    functionLinenumber: 77
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].replace(java.lang.CharSequence,java.lang.CharSequence)"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:78,1"
      Dst: "[java.lang.String].replace(java.lang.CharSequence,java.lang.CharSequence)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.util.AlmostAsIsEscapeUtil].<init>()"
    functionSourceFile: "ch.qos.logback.core.pattern.util.AlmostAsIsEscapeUtil"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.util.RestrictedEscapeUtil].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.util.AlmostAsIsEscapeUtil:24,1"
      Dst: "[ch.qos.logback.core.pattern.util.RestrictedEscapeUtil].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.util.RestrictedEscapeUtil].<init>()"
    functionSourceFile: "ch.qos.logback.core.pattern.util.RestrictedEscapeUtil"
    linkageType: null
    functionLinenumber: 20
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.util.RestrictedEscapeUtil:21,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.Parser].<init>(java.lang.String,ch.qos.logback.core.pattern.util.IEscapeUtil)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Parser"
    linkageType: null
    functionLinenumber: 65
    functionDepth: 6
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "ch.qos.logback.core.pattern.util.IEscapeUtil"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - "[ch.qos.logback.core.pattern.parser.TokenStream].<init>(java.lang.String,ch.qos.logback.core.pattern.util.IEscapeUtil)"
    - "[ch.qos.logback.core.pattern.parser.TokenStream].tokenize()"
    - "[ch.qos.logback.core.spi.ScanException].<init>(java.lang.String,java.lang.Throwable)"
    functionUses: 2
    ICount: 15
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Parser:66,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:68,1"
      Dst: "[ch.qos.logback.core.pattern.parser.TokenStream].<init>(java.lang.String,ch.qos.logback.core.pattern.util.IEscapeUtil)"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:69,1"
      Dst: "[ch.qos.logback.core.pattern.parser.TokenStream].tokenize()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:71,1"
      Dst: "[ch.qos.logback.core.spi.ScanException].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 34
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:34,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.TokenStream].<init>(java.lang.String,ch.qos.logback.core.pattern.util.IEscapeUtil)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.TokenStream"
    linkageType: null
    functionLinenumber: 67
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "ch.qos.logback.core.pattern.util.IEscapeUtil"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.util.RestrictedEscapeUtil].<init>()"
    - "[java.lang.Object].<init>()"
    - "[java.lang.String].length()"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 21
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.TokenStream:69"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.TokenStream:70"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.TokenStream:69"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.TokenStream:69"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.TokenStream:72"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.TokenStream:71"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:68,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:58,1"
      Dst: "[ch.qos.logback.core.pattern.util.RestrictedEscapeUtil].<init>()"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:69,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:70,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.pattern.parser.TokenStream].tokenize()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.TokenStream"
    linkageType: null
    functionLinenumber: 77
    functionDepth: 5
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.TokenStream].handleLiteralState(char,java.util.List,java.lang.StringBuffer)"
    - "[ch.qos.logback.core.pattern.parser.TokenStream].handleFormatModifierState(char,java.util.List,java.lang.StringBuffer)"
    - "[ch.qos.logback.core.pattern.parser.TokenStream].processOption(char,java.util.List,java.lang.StringBuffer)"
    - "[ch.qos.logback.core.pattern.parser.TokenStream].handleKeywordState(char,java.util.List,java.lang.StringBuffer)"
    - "[ch.qos.logback.core.pattern.parser.TokenStream].handleRightParenthesisState(char,java.util.List,java.lang.StringBuffer)"
    - "[ch.qos.logback.core.pattern.parser.TokenStream].addValuedToken(int,java.lang.StringBuffer,java.util.List)"
    - "[ch.qos.logback.core.pattern.parser.Token].<init>(int,java.lang.String)"
    - "[ch.qos.logback.core.spi.ScanException].<init>(java.lang.String)"
    - "[java.util.ArrayList].<init>()"
    - "[java.lang.StringBuffer].<init>()"
    - "[java.lang.String].charAt(int)"
    - "[java.lang.Enum].ordinal()"
    - "[java.lang.StringBuffer].toString()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 49
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.TokenStream:81"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.TokenStream:107"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.TokenStream:106"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:78,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:79,1"
      Dst: "[java.lang.StringBuffer].<init>()"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:82,1"
      Dst: "[java.lang.String].charAt(int)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:85,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:87,1"
      Dst: "[ch.qos.logback.core.pattern.parser.TokenStream].handleLiteralState(char,java.util.List,java.lang.StringBuffer)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:90,1"
      Dst: "[ch.qos.logback.core.pattern.parser.TokenStream].handleFormatModifierState(char,java.util.List,java.lang.StringBuffer)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:93,1"
      Dst: "[ch.qos.logback.core.pattern.parser.TokenStream].processOption(char,java.util.List,java.lang.StringBuffer)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:96,1"
      Dst: "[ch.qos.logback.core.pattern.parser.TokenStream].handleKeywordState(char,java.util.List,java.lang.StringBuffer)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:99,1"
      Dst: "[ch.qos.logback.core.pattern.parser.TokenStream].handleRightParenthesisState(char,java.util.List,java.lang.StringBuffer)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:109,1"
      Dst: "[ch.qos.logback.core.pattern.parser.TokenStream].addValuedToken(int,java.lang.StringBuffer,java.util.List)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:112,1"
      Dst: "[java.lang.StringBuffer].toString()"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:112,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Token].<init>(int,java.lang.String)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:112,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:120,1"
      Dst: "[ch.qos.logback.core.spi.ScanException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 15
    CyclomaticComplexity: 10
  - functionName: "[ch.qos.logback.core.pattern.parser.TokenStream].handleLiteralState(char,java.util.List,java.lang.StringBuffer)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.TokenStream"
    linkageType: null
    functionLinenumber: 163
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "char"
    - "java.util.List"
    - "java.lang.StringBuffer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.TokenStream].escape(java.lang.String,java.lang.StringBuffer)"
    - "[ch.qos.logback.core.pattern.parser.TokenStream].addValuedToken(int,java.lang.StringBuffer,java.util.List)"
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.util.List].add(java.lang.Object)"
    - "[java.lang.StringBuffer].append(char)"
    functionUses: 1
    ICount: 20
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:166,1"
      Dst: "[ch.qos.logback.core.pattern.parser.TokenStream].escape(java.lang.String,java.lang.StringBuffer)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:170,1"
      Dst: "[ch.qos.logback.core.pattern.parser.TokenStream].addValuedToken(int,java.lang.StringBuffer,java.util.List)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:171,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:181,1"
      Dst: "[java.lang.StringBuffer].append(char)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.pattern.parser.TokenStream].escape(java.lang.String,java.lang.StringBuffer)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.TokenStream"
    linkageType: null
    functionLinenumber: 216
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.StringBuffer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.util.AsIsEscapeUtil].escape(java.lang.String,java.lang.StringBuffer,char,int)"
    - "[ch.qos.logback.core.pattern.util.AlmostAsIsEscapeUtil].escape(java.lang.String,java.lang.StringBuffer,char,int)"
    - "[ch.qos.logback.core.pattern.util.RegularEscapeUtil].escape(java.lang.String,java.lang.StringBuffer,char,int)"
    - "[ch.qos.logback.core.pattern.util.RestrictedEscapeUtil].escape(java.lang.String,java.lang.StringBuffer,char,int)"
    - "[java.lang.String].charAt(int)"
    - "[ch.qos.logback.core.pattern.util.IEscapeUtil].escape(java.lang.String,java.lang.StringBuffer,char,int)"
    functionUses: 2
    ICount: 15
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.TokenStream:217"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.TokenStream:221"
        BranchSideFuncs:
        - "escape(java.lang.String,java.lang.StringBuffer,char,int)"
      - BranchSide: "ch.qos.logback.core.pattern.parser.TokenStream:220"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:218,1"
      Dst: "[java.lang.String].charAt(int)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:219,1"
      Dst: "[ch.qos.logback.core.pattern.util.IEscapeUtil].escape(java.lang.String,java.lang.StringBuffer,char,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.pattern.parser.TokenStream].addValuedToken(int,java.lang.StringBuffer,java.util.List)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.TokenStream"
    linkageType: null
    functionLinenumber: 230
    functionDepth: 2
    returnType: "void"
    argCount: 3
    argTypes:
    - "int"
    - "java.lang.StringBuffer"
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.Token].<init>(int,java.lang.String)"
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.lang.StringBuffer].length()"
    - "[java.lang.StringBuffer].toString()"
    - "[java.util.List].add(java.lang.Object)"
    - "[java.lang.StringBuffer].setLength(int)"
    functionUses: 10
    ICount: 12
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.TokenStream:231"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.TokenStream:235"
        BranchSideFuncs:
        - "<init>(int,java.lang.String)"
        - "add(java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.pattern.parser.TokenStream:234"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:231,1"
      Dst: "[java.lang.StringBuffer].length()"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:232,1"
      Dst: "[java.lang.StringBuffer].toString()"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:232,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Token].<init>(int,java.lang.String)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:232,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:233,1"
      Dst: "[java.lang.StringBuffer].setLength(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.pattern.parser.Token].<init>(int,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Token"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.Token].<init>(int,java.lang.String,java.util.List)"
    functionUses: 4
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Token:51,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Token].<init>(int,java.lang.String,java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.Token].<init>(int,java.lang.String,java.util.List)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Token"
    linkageType: null
    functionLinenumber: 57
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "int"
    - "java.lang.String"
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 3
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Token:58,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.TokenStream].handleFormatModifierState(char,java.util.List,java.lang.StringBuffer)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.TokenStream"
    linkageType: null
    functionLinenumber: 149
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "char"
    - "java.util.List"
    - "java.lang.StringBuffer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.TokenStream].addValuedToken(int,java.lang.StringBuffer,java.util.List)"
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.util.List].add(java.lang.Object)"
    - "[java.lang.Character].isJavaIdentifierStart(char)"
    - "[java.lang.StringBuffer].append(char)"
    functionUses: 1
    ICount: 21
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.TokenStream:150"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.TokenStream:154"
        BranchSideFuncs:
        - "add(java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.pattern.parser.TokenStream:153"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.TokenStream:154"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.TokenStream:159"
        BranchSideFuncs:
        - "addValuedToken(int,java.lang.StringBuffer,java.util.List)"
      - BranchSide: "ch.qos.logback.core.pattern.parser.TokenStream:158"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:151,1"
      Dst: "[ch.qos.logback.core.pattern.parser.TokenStream].addValuedToken(int,java.lang.StringBuffer,java.util.List)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:152,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:154,1"
      Dst: "[java.lang.Character].isJavaIdentifierStart(char)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:157,1"
      Dst: "[java.lang.StringBuffer].append(char)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.pattern.parser.TokenStream].processOption(char,java.util.List,java.lang.StringBuffer)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.TokenStream"
    linkageType: null
    functionLinenumber: 144
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "char"
    - "java.util.List"
    - "java.lang.StringBuffer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.OptionTokenizer].<init>(ch.qos.logback.core.pattern.parser.TokenStream)"
    - "[ch.qos.logback.core.pattern.parser.OptionTokenizer].tokenize(char,java.util.List)"
    functionUses: 1
    ICount: 8
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:145,1"
      Dst: "[ch.qos.logback.core.pattern.parser.OptionTokenizer].<init>(ch.qos.logback.core.pattern.parser.TokenStream)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:146,1"
      Dst: "[ch.qos.logback.core.pattern.parser.OptionTokenizer].tokenize(char,java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.OptionTokenizer].<init>(ch.qos.logback.core.pattern.parser.TokenStream)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.OptionTokenizer"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.pattern.parser.TokenStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.OptionTokenizer].<init>(ch.qos.logback.core.pattern.parser.TokenStream,ch.qos.logback.core.pattern.util.IEscapeUtil)"
    - "[ch.qos.logback.core.pattern.util.AsIsEscapeUtil].<init>()"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.OptionTokenizer:47,1"
      Dst: "[ch.qos.logback.core.pattern.util.AsIsEscapeUtil].<init>()"
    - Src: "ch.qos.logback.core.pattern.parser.OptionTokenizer:47,1"
      Dst: "[ch.qos.logback.core.pattern.parser.OptionTokenizer].<init>(ch.qos.logback.core.pattern.parser.TokenStream,ch.qos.logback.core.pattern.util.IEscapeUtil)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.util.AsIsEscapeUtil].<init>()"
    functionSourceFile: "ch.qos.logback.core.pattern.util.AsIsEscapeUtil"
    linkageType: null
    functionLinenumber: 18
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.util.AsIsEscapeUtil:19,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.OptionTokenizer].<init>(ch.qos.logback.core.pattern.parser.TokenStream,ch.qos.logback.core.pattern.util.IEscapeUtil)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.OptionTokenizer"
    linkageType: null
    functionLinenumber: 49
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.pattern.parser.TokenStream"
    - "ch.qos.logback.core.pattern.util.IEscapeUtil"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 12
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.OptionTokenizer:50,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.OptionTokenizer].tokenize(char,java.util.List)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.OptionTokenizer"
    linkageType: null
    functionLinenumber: 57
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "char"
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.OptionTokenizer].emitOptionToken(java.util.List,java.util.List)"
    - "[ch.qos.logback.core.pattern.parser.OptionTokenizer].escape(java.lang.String,java.lang.StringBuffer)"
    - "[ch.qos.logback.core.spi.ScanException].<init>(java.lang.String)"
    - "[java.lang.StringBuffer].<init>()"
    - "[java.util.ArrayList].<init>()"
    - "[java.lang.StringBuffer].append(char)"
    - "[java.lang.StringBuffer].toString()"
    - "[java.lang.String].trim()"
    - "[java.util.List].add(java.lang.Object)"
    - "[java.lang.StringBuffer].setLength(int)"
    - "[java.lang.String].valueOf(char)"
    - "[java.lang.String].charAt(int)"
    functionUses: 1
    ICount: 85
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.OptionTokenizer:62"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.OptionTokenizer:null"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.OptionTokenizer:101"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.OptionTokenizer:null"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.OptionTokenizer:105"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.OptionTokenizer:108"
        BranchSideFuncs:
        - "escape(java.lang.String,java.lang.StringBuffer)"
      - BranchSide: "ch.qos.logback.core.pattern.parser.OptionTokenizer:107"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.OptionTokenizer:119"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.OptionTokenizer:129"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.OptionTokenizer:128"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
    - Branch String: "ch.qos.logback.core.pattern.parser.OptionTokenizer:120"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.OptionTokenizer:122"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.OptionTokenizer:121"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.OptionTokenizer:122"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.OptionTokenizer:126"
        BranchSideFuncs:
        - "emitOptionToken(java.util.List,java.util.List)"
      - BranchSide: "ch.qos.logback.core.pattern.parser.OptionTokenizer:125"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.OptionTokenizer:58,1"
      Dst: "[java.lang.StringBuffer].<init>()"
    - Src: "ch.qos.logback.core.pattern.parser.OptionTokenizer:59,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.core.pattern.parser.OptionTokenizer:78,1"
      Dst: "[ch.qos.logback.core.pattern.parser.OptionTokenizer].emitOptionToken(java.util.List,java.util.List)"
    - Src: "ch.qos.logback.core.pattern.parser.OptionTokenizer:81,1"
      Dst: "[java.lang.StringBuffer].append(char)"
    - Src: "ch.qos.logback.core.pattern.parser.OptionTokenizer:88,1"
      Dst: "[java.lang.StringBuffer].toString()"
    - Src: "ch.qos.logback.core.pattern.parser.OptionTokenizer:88,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.pattern.parser.OptionTokenizer:88,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "ch.qos.logback.core.pattern.parser.OptionTokenizer:89,1"
      Dst: "[java.lang.StringBuffer].setLength(int)"
    - Src: "ch.qos.logback.core.pattern.parser.OptionTokenizer:106,1"
      Dst: "[java.lang.String].valueOf(char)"
    - Src: "ch.qos.logback.core.pattern.parser.OptionTokenizer:106,1"
      Dst: "[ch.qos.logback.core.pattern.parser.OptionTokenizer].escape(java.lang.String,java.lang.StringBuffer)"
    - Src: "ch.qos.logback.core.pattern.parser.OptionTokenizer:114,1"
      Dst: "[java.lang.String].charAt(int)"
    - Src: "ch.qos.logback.core.pattern.parser.OptionTokenizer:126,1"
      Dst: "[ch.qos.logback.core.spi.ScanException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 26
    CyclomaticComplexity: 11
  - functionName: "[ch.qos.logback.core.pattern.parser.OptionTokenizer].emitOptionToken(java.util.List,java.util.List)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.OptionTokenizer"
    linkageType: null
    functionLinenumber: 133
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.util.List"
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.Token].<init>(int,java.util.List)"
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 4
    ICount: 10
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.OptionTokenizer:134,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Token].<init>(int,java.util.List)"
    - Src: "ch.qos.logback.core.pattern.parser.OptionTokenizer:134,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.Token].<init>(int,java.util.List)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Token"
    linkageType: null
    functionLinenumber: 54
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.Token].<init>(int,java.lang.String,java.util.List)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Token:55,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Token].<init>(int,java.lang.String,java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.OptionTokenizer].escape(java.lang.String,java.lang.StringBuffer)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.OptionTokenizer"
    linkageType: null
    functionLinenumber: 138
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.StringBuffer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.util.AsIsEscapeUtil].escape(java.lang.String,java.lang.StringBuffer,char,int)"
    - "[ch.qos.logback.core.pattern.util.AlmostAsIsEscapeUtil].escape(java.lang.String,java.lang.StringBuffer,char,int)"
    - "[ch.qos.logback.core.pattern.util.RegularEscapeUtil].escape(java.lang.String,java.lang.StringBuffer,char,int)"
    - "[ch.qos.logback.core.pattern.util.RestrictedEscapeUtil].escape(java.lang.String,java.lang.StringBuffer,char,int)"
    - "[java.lang.String].charAt(int)"
    - "[ch.qos.logback.core.pattern.util.IEscapeUtil].escape(java.lang.String,java.lang.StringBuffer,char,int)"
    functionUses: 1
    ICount: 18
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.OptionTokenizer:139"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.OptionTokenizer:143"
        BranchSideFuncs:
        - "escape(java.lang.String,java.lang.StringBuffer,char,int)"
      - BranchSide: "ch.qos.logback.core.pattern.parser.OptionTokenizer:142"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.OptionTokenizer:140,1"
      Dst: "[java.lang.String].charAt(int)"
    - Src: "ch.qos.logback.core.pattern.parser.OptionTokenizer:141,1"
      Dst: "[ch.qos.logback.core.pattern.util.IEscapeUtil].escape(java.lang.String,java.lang.StringBuffer,char,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.spi.ScanException].<init>(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ScanException"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Exception].<init>(java.lang.String)"
    functionUses: 6
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ScanException:23,1"
      Dst: "[java.lang.Exception].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.TokenStream].handleKeywordState(char,java.util.List,java.lang.StringBuffer)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.TokenStream"
    linkageType: null
    functionLinenumber: 186
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "char"
    - "java.util.List"
    - "java.lang.StringBuffer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.TokenStream].addValuedToken(int,java.lang.StringBuffer,java.util.List)"
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.util.AsIsEscapeUtil].escape(java.lang.String,java.lang.StringBuffer,char,int)"
    - "[ch.qos.logback.core.pattern.util.AlmostAsIsEscapeUtil].escape(java.lang.String,java.lang.StringBuffer,char,int)"
    - "[ch.qos.logback.core.pattern.util.RegularEscapeUtil].escape(java.lang.String,java.lang.StringBuffer,char,int)"
    - "[ch.qos.logback.core.pattern.util.RestrictedEscapeUtil].escape(java.lang.String,java.lang.StringBuffer,char,int)"
    - "[java.lang.Character].isJavaIdentifierPart(char)"
    - "[java.lang.StringBuffer].append(char)"
    - "[java.util.List].add(java.lang.Object)"
    - "[java.lang.String].charAt(int)"
    - "[ch.qos.logback.core.pattern.util.IEscapeUtil].escape(java.lang.String,java.lang.StringBuffer,char,int)"
    functionUses: 1
    ICount: 53
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.TokenStream:187"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.TokenStream:null"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.TokenStream:189"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.TokenStream:null"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.TokenStream:192"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.TokenStream:null"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.TokenStream:195"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.TokenStream:null"
        BranchSideFuncs:
        - "add(java.lang.Object)"
    - Branch String: "ch.qos.logback.core.pattern.parser.TokenStream:199"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.TokenStream:203"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.TokenStream:202"
        BranchSideFuncs:
        - "addValuedToken(int,java.lang.StringBuffer,java.util.List)"
    - Branch String: "ch.qos.logback.core.pattern.parser.TokenStream:204"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.TokenStream:210"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.TokenStream:209"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.TokenStream:205"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.TokenStream:212"
        BranchSideFuncs:
        - "escape(java.lang.String,java.lang.StringBuffer,char,int)"
      - BranchSide: "ch.qos.logback.core.pattern.parser.TokenStream:211"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:187,1"
      Dst: "[java.lang.Character].isJavaIdentifierPart(char)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:188,1"
      Dst: "[java.lang.StringBuffer].append(char)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:190,1"
      Dst: "[ch.qos.logback.core.pattern.parser.TokenStream].addValuedToken(int,java.lang.StringBuffer,java.util.List)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:197,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:206,1"
      Dst: "[java.lang.String].charAt(int)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:207,1"
      Dst: "[ch.qos.logback.core.pattern.util.IEscapeUtil].escape(java.lang.String,java.lang.StringBuffer,char,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 16
    CyclomaticComplexity: 8
  - functionName: "[ch.qos.logback.core.pattern.parser.TokenStream].handleRightParenthesisState(char,java.util.List,java.lang.StringBuffer)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.TokenStream"
    linkageType: null
    functionLinenumber: 126
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "char"
    - "java.util.List"
    - "java.lang.StringBuffer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.parser.TokenStream].escape(java.lang.String,java.lang.StringBuffer)"
    - "[java.util.List].add(java.lang.Object)"
    - "[java.lang.StringBuffer].append(char)"
    functionUses: 1
    ICount: 20
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:127,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:135,1"
      Dst: "[ch.qos.logback.core.pattern.parser.TokenStream].escape(java.lang.String,java.lang.StringBuffer)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:139,1"
      Dst: "[java.lang.StringBuffer].append(char)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.spi.ScanException].<init>(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ScanException"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Exception].<init>(java.lang.String)"
    functionUses: 1
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ScanException:27,1"
      Dst: "[java.lang.Exception].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 67
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:45"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:44"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:47"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:46,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.pattern.parser.Parser].parse()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Parser"
    linkageType: null
    functionLinenumber: 90
    functionDepth: 8
    returnType: "ch.qos.logback.core.pattern.parser.Node"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.Parser].E()"
    functionUses: 3
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Parser:91,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Parser].E()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.Parser].E()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Parser"
    linkageType: null
    functionLinenumber: 95
    functionDepth: 7
    returnType: "ch.qos.logback.core.pattern.parser.Node"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.Parser].T()"
    - "[ch.qos.logback.core.pattern.parser.Parser].Eopt()"
    - "[ch.qos.logback.core.pattern.parser.Node].setNext(ch.qos.logback.core.pattern.parser.Node)"
    functionUses: 3
    ICount: 8
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.Parser:97"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Parser:100"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.Parser:99"
        BranchSideFuncs:
        - "Eopt()"
    - Branch String: "ch.qos.logback.core.pattern.parser.Parser:101"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Parser:104"
        BranchSideFuncs:
        - "setNext(ch.qos.logback.core.pattern.parser.Node)"
      - BranchSide: "ch.qos.logback.core.pattern.parser.Parser:103"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Parser:96,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Parser].T()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:100,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Parser].Eopt()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:102,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Node].setNext(ch.qos.logback.core.pattern.parser.Node)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.pattern.parser.Parser].T()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Parser"
    linkageType: null
    functionLinenumber: 120
    functionDepth: 6
    returnType: "ch.qos.logback.core.pattern.parser.Node"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.Parser].getCurentToken()"
    - "[ch.qos.logback.core.pattern.parser.Parser].expectNotNull(ch.qos.logback.core.pattern.parser.Token,java.lang.String)"
    - "[ch.qos.logback.core.pattern.parser.Token].getType()"
    - "[ch.qos.logback.core.pattern.parser.Parser].advanceTokenPointer()"
    - "[ch.qos.logback.core.pattern.parser.Node].<init>(int,java.lang.Object)"
    - "[ch.qos.logback.core.pattern.parser.Token].getValue()"
    - "[ch.qos.logback.core.pattern.FormatInfo].valueOf(java.lang.String)"
    - "[ch.qos.logback.core.pattern.parser.Parser].C()"
    - "[ch.qos.logback.core.pattern.parser.FormattingNode].setFormatInfo(ch.qos.logback.core.pattern.FormatInfo)"
    functionUses: 1
    ICount: 25
    EdgeCount: 16
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.Parser:135"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Parser:141"
        BranchSideFuncs:
        - "setFormatInfo(ch.qos.logback.core.pattern.FormatInfo)"
        - "valueOf(java.lang.String)"
        - "getValue()"
        - "advanceTokenPointer()"
      - BranchSide: "ch.qos.logback.core.pattern.parser.Parser:140"
        BranchSideFuncs:
        - "C()"
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Parser:121,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Parser].getCurentToken()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:122,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Parser].expectNotNull(ch.qos.logback.core.pattern.parser.Token,java.lang.String)"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:124,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Token].getType()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:126,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Parser].advanceTokenPointer()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:127,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Token].getValue()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:127,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Node].<init>(int,java.lang.Object)"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:136,1"
      Dst: "[ch.qos.logback.core.pattern.FormatInfo].valueOf(java.lang.String)"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:138,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Parser].C()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:139,1"
      Dst: "[ch.qos.logback.core.pattern.parser.FormattingNode].setFormatInfo(ch.qos.logback.core.pattern.FormatInfo)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.pattern.parser.Parser].getCurentToken()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Parser"
    linkageType: null
    functionLinenumber: 214
    functionDepth: 0
    returnType: "ch.qos.logback.core.pattern.parser.Token"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.util.COWArrayList].get(int)"
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    functionUses: 6
    ICount: 11
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.Parser:215"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Parser:218"
        BranchSideFuncs:
        - "get(int)"
      - BranchSide: "ch.qos.logback.core.pattern.parser.Parser:217"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Parser:215,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:216,1"
      Dst: "[java.util.List].get(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.Parser].expectNotNull(ch.qos.logback.core.pattern.parser.Token,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Parser"
    linkageType: null
    functionLinenumber: 225
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.pattern.parser.Token"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 3
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.Parser:226"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Parser:229"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.Parser:228"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Parser:227,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:227,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.Token].getType()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Token"
    linkageType: null
    functionLinenumber: 64
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 6
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.Parser].advanceTokenPointer()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Parser"
    linkageType: null
    functionLinenumber: 221
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 6
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.Token].getValue()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Token"
    linkageType: null
    functionLinenumber: 68
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 5
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.Node].<init>(int,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Node"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 2
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Node:29,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.FormatInfo].valueOf(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.pattern.FormatInfo"
    linkageType: null
    functionLinenumber: 51
    functionDepth: 1
    returnType: "ch.qos.logback.core.pattern.FormatInfo"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.FormatInfo].<init>()"
    - "[java.lang.NullPointerException].<init>(java.lang.String)"
    - "[java.lang.String].indexOf(int)"
    - "[java.lang.String].substring(int,int)"
    - "[java.lang.String].length()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.String].substring(int)"
    - "[java.lang.Integer].parseInt(java.lang.String)"
    functionUses: 1
    ICount: 44
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.FormatInfo:52"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:56"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:55"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "ch.qos.logback.core.pattern.FormatInfo:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:69"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:68"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.FormatInfo:63"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:66"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:65"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.FormatInfo:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:82"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:81"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.FormatInfo:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:82"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:81"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.FormatInfo:74"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:77"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:76"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.FormatInfo:82"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:92"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:91"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.FormatInfo:82"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:92"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:91"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.FormatInfo:84"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:87"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:86"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.FormatInfo:53,1"
      Dst: "[java.lang.NullPointerException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.pattern.FormatInfo:56,1"
      Dst: "[ch.qos.logback.core.pattern.FormatInfo].<init>()"
    - Src: "ch.qos.logback.core.pattern.FormatInfo:58,1"
      Dst: "[java.lang.String].indexOf(int)"
    - Src: "ch.qos.logback.core.pattern.FormatInfo:62,1"
      Dst: "[java.lang.String].substring(int,int)"
    - Src: "ch.qos.logback.core.pattern.FormatInfo:63,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.core.pattern.FormatInfo:64,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.pattern.FormatInfo:64,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.pattern.FormatInfo:66,1"
      Dst: "[java.lang.String].substring(int)"
    - Src: "ch.qos.logback.core.pattern.FormatInfo:73,1"
      Dst: "[java.lang.Integer].parseInt(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 18
    CyclomaticComplexity: 8
  - functionName: "[ch.qos.logback.core.pattern.FormatInfo].<init>()"
    functionSourceFile: "ch.qos.logback.core.pattern.FormatInfo"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.FormatInfo:28,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.Parser].C()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Parser"
    linkageType: null
    functionLinenumber: 152
    functionDepth: 5
    returnType: "ch.qos.logback.core.pattern.parser.FormattingNode"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.Parser].getCurentToken()"
    - "[ch.qos.logback.core.pattern.parser.Parser].expectNotNull(ch.qos.logback.core.pattern.parser.Token,java.lang.String)"
    - "[ch.qos.logback.core.pattern.parser.Token].getType()"
    - "[ch.qos.logback.core.pattern.parser.Parser].SINGLE()"
    - "[ch.qos.logback.core.pattern.parser.Parser].advanceTokenPointer()"
    - "[ch.qos.logback.core.pattern.parser.Parser].COMPOSITE(java.lang.String)"
    - "[ch.qos.logback.core.pattern.parser.Token].getValue()"
    - "[java.lang.String].toString()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.pattern.parser.Token)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 2
    ICount: 16
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Parser:153,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Parser].getCurentToken()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:156,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Parser].expectNotNull(ch.qos.logback.core.pattern.parser.Token,java.lang.String)"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:157,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Token].getType()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:160,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Parser].SINGLE()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:162,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Parser].advanceTokenPointer()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:163,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Token].getValue()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:163,1"
      Dst: "[java.lang.String].toString()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:163,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Parser].COMPOSITE(java.lang.String)"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:165,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.pattern.parser.Token)"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:165,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.Parser].SINGLE()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Parser"
    linkageType: null
    functionLinenumber: 170
    functionDepth: 3
    returnType: "ch.qos.logback.core.pattern.parser.FormattingNode"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.Parser].getNextToken()"
    - "[ch.qos.logback.core.pattern.parser.SimpleKeywordNode].<init>(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.parser.Token].getValue()"
    - "[ch.qos.logback.core.pattern.parser.Parser].getCurentToken()"
    - "[ch.qos.logback.core.pattern.parser.Token].getType()"
    - "[ch.qos.logback.core.pattern.parser.Token].getOptionsList()"
    - "[ch.qos.logback.core.pattern.parser.SimpleKeywordNode].setOptions(java.util.List)"
    - "[ch.qos.logback.core.pattern.parser.Parser].advanceTokenPointer()"
    functionUses: 1
    ICount: 13
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.Parser:176"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Parser:181"
        BranchSideFuncs:
        - "setOptions(java.util.List)"
        - "getOptionsList()"
        - "advanceTokenPointer()"
      - BranchSide: "ch.qos.logback.core.pattern.parser.Parser:180"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.Parser:176"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Parser:181"
        BranchSideFuncs:
        - "setOptions(java.util.List)"
        - "getOptionsList()"
        - "advanceTokenPointer()"
      - BranchSide: "ch.qos.logback.core.pattern.parser.Parser:180"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Parser:171,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Parser].getNextToken()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:173,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Token].getValue()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:173,1"
      Dst: "[ch.qos.logback.core.pattern.parser.SimpleKeywordNode].<init>(java.lang.Object)"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:175,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Parser].getCurentToken()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:176,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Token].getType()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:177,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Token].getOptionsList()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:178,1"
      Dst: "[ch.qos.logback.core.pattern.parser.SimpleKeywordNode].setOptions(java.util.List)"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:179,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Parser].advanceTokenPointer()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.pattern.parser.Parser].getNextToken()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Parser"
    linkageType: null
    functionLinenumber: 207
    functionDepth: 0
    returnType: "ch.qos.logback.core.pattern.parser.Token"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.util.COWArrayList].get(int)"
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    functionUses: 2
    ICount: 13
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.Parser:208"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Parser:211"
        BranchSideFuncs:
        - "get(int)"
      - BranchSide: "ch.qos.logback.core.pattern.parser.Parser:210"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Parser:208,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:209,1"
      Dst: "[java.util.List].get(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.SimpleKeywordNode].<init>(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.SimpleKeywordNode"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.FormattingNode].<init>(int,java.lang.Object)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.SimpleKeywordNode:23,1"
      Dst: "[ch.qos.logback.core.pattern.parser.FormattingNode].<init>(int,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.FormattingNode].<init>(int,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.FormattingNode"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.Node].<init>(int,java.lang.Object)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.FormattingNode:27,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Node].<init>(int,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.Token].getOptionsList()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Token"
    linkageType: null
    functionLinenumber: 72
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.SimpleKeywordNode].setOptions(java.util.List)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.SimpleKeywordNode"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.Parser].COMPOSITE(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Parser"
    linkageType: null
    functionLinenumber: 184
    functionDepth: 4
    returnType: "ch.qos.logback.core.pattern.parser.FormattingNode"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.CompositeNode].<init>(java.lang.String)"
    - "[ch.qos.logback.core.pattern.parser.Parser].E()"
    - "[ch.qos.logback.core.pattern.parser.CompositeNode].setChildNode(ch.qos.logback.core.pattern.parser.Node)"
    - "[ch.qos.logback.core.pattern.parser.Parser].getNextToken()"
    - "[ch.qos.logback.core.pattern.parser.Token].getType()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.spi.ScanException].<init>(java.lang.String)"
    - "[ch.qos.logback.core.pattern.parser.Parser].getCurentToken()"
    - "[ch.qos.logback.core.pattern.parser.Token].getOptionsList()"
    - "[ch.qos.logback.core.pattern.parser.SimpleKeywordNode].setOptions(java.util.List)"
    - "[ch.qos.logback.core.pattern.parser.Parser].advanceTokenPointer()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.pattern.parser.Token)"
    functionUses: 1
    ICount: 24
    EdgeCount: 13
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.Parser:192"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Parser:193"
        BranchSideFuncs:
        - "addError(java.lang.String)"
        - "<init>(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.pattern.parser.Parser:192"
        BranchSideFuncs:
        - "addError(java.lang.String)"
        - "<init>(java.lang.String)"
    - Branch String: "ch.qos.logback.core.pattern.parser.Parser:192"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Parser:198"
        BranchSideFuncs:
        - "addError(java.lang.String)"
        - "<init>(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.pattern.parser.Parser:197"
        BranchSideFuncs:
        - "getType()"
        - "getCurentToken()"
    - Branch String: "ch.qos.logback.core.pattern.parser.Parser:199"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Parser:204"
        BranchSideFuncs:
        - "setOptions(java.util.List)"
        - "getOptionsList()"
        - "advanceTokenPointer()"
      - BranchSide: "ch.qos.logback.core.pattern.parser.Parser:203"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.Parser:199"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Parser:204"
        BranchSideFuncs:
        - "setOptions(java.util.List)"
        - "getOptionsList()"
        - "advanceTokenPointer()"
      - BranchSide: "ch.qos.logback.core.pattern.parser.Parser:203"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Parser:185,1"
      Dst: "[ch.qos.logback.core.pattern.parser.CompositeNode].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:187,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Parser].E()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:188,1"
      Dst: "[ch.qos.logback.core.pattern.parser.CompositeNode].setChildNode(ch.qos.logback.core.pattern.parser.Node)"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:190,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Parser].getNextToken()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:192,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Token].getType()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:193,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.pattern.parser.Token)"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:194,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:196,1"
      Dst: "[ch.qos.logback.core.spi.ScanException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:198,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Parser].getCurentToken()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:200,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Token].getOptionsList()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:201,1"
      Dst: "[ch.qos.logback.core.pattern.parser.SimpleKeywordNode].setOptions(java.util.List)"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:202,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Parser].advanceTokenPointer()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.pattern.parser.CompositeNode].<init>(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.CompositeNode"
    linkageType: null
    functionLinenumber: 19
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.SimpleKeywordNode].<init>(int,java.lang.Object)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.CompositeNode:20,1"
      Dst: "[ch.qos.logback.core.pattern.parser.SimpleKeywordNode].<init>(int,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.SimpleKeywordNode].<init>(int,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.SimpleKeywordNode"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.FormattingNode].<init>(int,java.lang.Object)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.SimpleKeywordNode:27,1"
      Dst: "[ch.qos.logback.core.pattern.parser.FormattingNode].<init>(int,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.CompositeNode].setChildNode(ch.qos.logback.core.pattern.parser.Node)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.CompositeNode"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.pattern.parser.Node"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.FormattingNode].setFormatInfo(ch.qos.logback.core.pattern.FormatInfo)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.FormattingNode"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.pattern.FormatInfo"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.Parser].Eopt()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Parser"
    linkageType: null
    functionLinenumber: 109
    functionDepth: 1
    returnType: "ch.qos.logback.core.pattern.parser.Node"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.Parser].getCurentToken()"
    - "[ch.qos.logback.core.pattern.parser.Parser].E()"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.Parser:112"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Parser:115"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.Parser:114"
        BranchSideFuncs:
        - "E()"
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Parser:110,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Parser].getCurentToken()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:115,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Parser].E()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.Node].setNext(ch.qos.logback.core.pattern.parser.Node)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Node"
    linkageType: null
    functionLinenumber: 52
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.pattern.parser.Node"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.Parser].compile(ch.qos.logback.core.pattern.parser.Node,java.util.Map)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Parser"
    linkageType: null
    functionLinenumber: 83
    functionDepth: 6
    returnType: "ch.qos.logback.core.pattern.Converter"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.pattern.parser.Node"
    - "java.util.Map"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.Compiler].<init>(ch.qos.logback.core.pattern.parser.Node,java.util.Map)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.pattern.parser.Compiler].compile()"
    functionUses: 3
    ICount: 9
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Parser:84,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Compiler].<init>(ch.qos.logback.core.pattern.parser.Node,java.util.Map)"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:87,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Compiler].compile()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.Compiler].<init>(ch.qos.logback.core.pattern.parser.Node,java.util.Map)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Compiler"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.pattern.parser.Node"
    - "java.util.Map"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    functionUses: 2
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:33,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.Compiler].compile()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Compiler"
    linkageType: null
    functionLinenumber: 38
    functionDepth: 5
    returnType: "ch.qos.logback.core.pattern.Converter"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.LiteralConverter].<init>(java.lang.String)"
    - "[ch.qos.logback.core.pattern.parser.Compiler].addToList(ch.qos.logback.core.pattern.Converter)"
    - "[ch.qos.logback.core.pattern.parser.Node].getValue()"
    - "[ch.qos.logback.core.pattern.parser.Compiler].createCompositeConverter(ch.qos.logback.core.pattern.parser.CompositeNode)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.pattern.parser.FormattingNode].getFormatInfo()"
    - "[ch.qos.logback.core.pattern.FormattingConverter].setFormattingInfo(ch.qos.logback.core.pattern.FormatInfo)"
    - "[ch.qos.logback.core.pattern.parser.SimpleKeywordNode].getOptions()"
    - "[ch.qos.logback.core.pattern.DynamicConverter].setOptionList(java.util.List)"
    - "[ch.qos.logback.core.pattern.parser.Compiler].<init>(ch.qos.logback.core.pattern.parser.Node,java.util.Map)"
    - "[ch.qos.logback.core.pattern.parser.CompositeNode].getChildNode()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.pattern.parser.Compiler].compile()"
    - "[ch.qos.logback.core.pattern.CompositeConverter].setChildConverter(ch.qos.logback.core.pattern.Converter)"
    - "[ch.qos.logback.core.pattern.parser.Compiler].createConverter(ch.qos.logback.core.pattern.parser.SimpleKeywordNode)"
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Object)"
    functionUses: 2
    ICount: 62
    EdgeCount: 31
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.Compiler:40"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Compiler:78"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.Compiler:77"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.Compiler:48"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Compiler:53"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.pattern.parser.Compiler:52"
        BranchSideFuncs:
        - "getChildNode()"
        - "setChildConverter(ch.qos.logback.core.pattern.Converter)"
        - "compile()"
        - "<init>(ch.qos.logback.core.pattern.parser.Node,java.util.Map)"
        - "setContext(ch.qos.logback.core.Context)"
    - Branch String: "ch.qos.logback.core.pattern.parser.Compiler:64"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Compiler:71"
        BranchSideFuncs:
        - "getOptions()"
        - "getFormatInfo()"
        - "setFormattingInfo(ch.qos.logback.core.pattern.FormatInfo)"
        - "setOptionList(java.util.List)"
      - BranchSide: "ch.qos.logback.core.pattern.parser.Compiler:70"
        BranchSideFuncs:
        - "<init>(java.lang.String,java.lang.Object)"
        - "addToList(ch.qos.logback.core.pattern.Converter)"
        - "getValue()"
        - "addStatus(ch.qos.logback.core.status.Status)"
        - "<init>(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:43,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Node].getValue()"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:43,1"
      Dst: "[ch.qos.logback.core.pattern.LiteralConverter].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:43,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Compiler].addToList(ch.qos.logback.core.pattern.Converter)"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:47,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Compiler].createCompositeConverter(ch.qos.logback.core.pattern.parser.CompositeNode)"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:49,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Object)"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:49,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:53,1"
      Dst: "[ch.qos.logback.core.pattern.parser.FormattingNode].getFormatInfo()"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:53,1"
      Dst: "[ch.qos.logback.core.pattern.FormattingConverter].setFormattingInfo(ch.qos.logback.core.pattern.FormatInfo)"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:54,1"
      Dst: "[ch.qos.logback.core.pattern.parser.SimpleKeywordNode].getOptions()"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:54,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].setOptionList(java.util.List)"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:55,1"
      Dst: "[ch.qos.logback.core.pattern.parser.CompositeNode].getChildNode()"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:55,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Compiler].<init>(ch.qos.logback.core.pattern.parser.Node,java.util.Map)"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:56,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:57,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Compiler].compile()"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:58,1"
      Dst: "[ch.qos.logback.core.pattern.CompositeConverter].setChildConverter(ch.qos.logback.core.pattern.Converter)"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:63,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Compiler].createConverter(ch.qos.logback.core.pattern.parser.SimpleKeywordNode)"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:72,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:72,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 12
    CyclomaticComplexity: 7
  - functionName: "[ch.qos.logback.core.pattern.parser.Node].getValue()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Node"
    linkageType: null
    functionLinenumber: 44
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 7
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.LiteralConverter].<init>(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.pattern.LiteralConverter"
    linkageType: null
    functionLinenumber: 19
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.Converter].<init>()"
    functionUses: 3
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.LiteralConverter:20,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.Compiler].addToList(ch.qos.logback.core.pattern.Converter)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Compiler"
    linkageType: null
    functionLinenumber: 81
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.pattern.Converter"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.Converter].setNext(ch.qos.logback.core.pattern.Converter)"
    functionUses: 5
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.Compiler:82"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Compiler:85"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.Compiler:84"
        BranchSideFuncs:
        - "setNext(ch.qos.logback.core.pattern.Converter)"
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:85,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].setNext(ch.qos.logback.core.pattern.Converter)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.pattern.parser.Compiler].createCompositeConverter(ch.qos.logback.core.pattern.parser.CompositeNode)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Compiler"
    linkageType: null
    functionLinenumber: 124
    functionDepth: 4
    returnType: "ch.qos.logback.core.pattern.CompositeConverter"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.pattern.parser.CompositeNode"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.Node].getValue()"
    - "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[java.util.Map].get(java.lang.Object)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 19
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.Compiler:128"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Compiler:137"
        BranchSideFuncs:
        - "addError(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:125,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Node].getValue()"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:126,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:130,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:133,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:133,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:138,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:138,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 3
    returnType: "java.lang.Object"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Class"
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].getClassLoaderOfObject(java.lang.Object)"
    - "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,java.lang.ClassLoader)"
    functionUses: 12
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:32,1"
      Dst: "[ch.qos.logback.core.util.Loader].getClassLoaderOfObject(java.lang.Object)"
    - Src: "ch.qos.logback.core.util.OptionHelper:33,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,java.lang.ClassLoader)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 74
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.FormattingNode].getFormatInfo()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.FormattingNode"
    linkageType: null
    functionLinenumber: 30
    functionDepth: 0
    returnType: "ch.qos.logback.core.pattern.FormatInfo"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.SimpleKeywordNode].getOptions()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.SimpleKeywordNode"
    linkageType: null
    functionLinenumber: 30
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.CompositeNode].getChildNode()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.CompositeNode"
    linkageType: null
    functionLinenumber: 24
    functionDepth: 0
    returnType: "ch.qos.logback.core.pattern.parser.Node"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.Compiler].createConverter(ch.qos.logback.core.pattern.parser.SimpleKeywordNode)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Compiler"
    linkageType: null
    functionLinenumber: 97
    functionDepth: 4
    returnType: "ch.qos.logback.core.pattern.DynamicConverter"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.pattern.parser.SimpleKeywordNode"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.Node].getValue()"
    - "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[java.util.Map].get(java.lang.Object)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 19
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.Compiler:101"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Compiler:110"
        BranchSideFuncs:
        - "addError(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:98,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Node].getValue()"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:99,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:103,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:106,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:106,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:111,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:111,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.status.ErrorStatus"
    linkageType: null
    functionLinenumber: 18
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    functionUses: 7
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.ErrorStatus:19,1"
      Dst: "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 71
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.status.Status"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - "[ch.qos.logback.core.BasicStatusManager].add(ch.qos.logback.core.status.Status)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.ContextAwareBase)"
    - "[java.io.PrintStream].println(java.lang.String)"
    - "[ch.qos.logback.core.Context].getStatusManager()"
    - "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    functionUses: 24
    ICount: 17
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:78"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:77"
        BranchSideFuncs:
        - "getStatusManager()"
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:73"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:76"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:75"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:79"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:82"
        BranchSideFuncs:
        - "add(ch.qos.logback.core.status.Status)"
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:81"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:74,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.ContextAwareBase)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:74,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:78,1"
      Dst: "[ch.qos.logback.core.Context].getStatusManager()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:80,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.rolling.helper.FileNamePattern].escapeRightParantesis(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileNamePattern"
    linkageType: null
    functionLinenumber: 77
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].replace(java.lang.CharSequence,java.lang.CharSequence)"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:78,1"
      Dst: "[java.lang.String].replace(java.lang.CharSequence,java.lang.CharSequence)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.FileNamePattern].toString()"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileNamePattern"
    linkageType: null
    functionLinenumber: 81
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.FileNamePattern].hashCode()"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileNamePattern"
    linkageType: null
    functionLinenumber: 88
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].hashCode()"
    functionUses: 4
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:89"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:89"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:88"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:89,1"
      Dst: "[java.lang.String].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.rolling.helper.FileNamePattern].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileNamePattern"
    linkageType: null
    functionLinenumber: 94
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 7
    ICount: 22
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:95"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:97"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:96"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:97"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:99"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:98"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:99"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:101"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:100"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:102"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:105"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:104"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:103"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:107"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:106"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:105"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:107"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:106"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:99,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:105,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 12
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.rolling.helper.FileNamePattern].getPrimaryDateTokenConverter()"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileNamePattern"
    linkageType: null
    functionLinenumber: 110
    functionDepth: 1
    returnType: "ch.qos.logback.core.rolling.helper.DateTokenConverter"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.DateTokenConverter].isPrimary()"
    - "[ch.qos.logback.core.pattern.Converter].getNext()"
    functionUses: 3
    ICount: 12
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:113"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:124"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:123"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:114"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:121"
        BranchSideFuncs:
        - "isPrimary()"
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:120"
        BranchSideFuncs:
        - "getNext()"
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:117"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:121"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:120"
        BranchSideFuncs:
        - "getNext()"
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:117,1"
      Dst: "[ch.qos.logback.core.rolling.helper.DateTokenConverter].isPrimary()"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:121,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].getNext()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.rolling.helper.DateTokenConverter].isPrimary()"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.DateTokenConverter"
    linkageType: null
    functionLinenumber: 114
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.FileNamePattern].getIntegerTokenConverter()"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileNamePattern"
    linkageType: null
    functionLinenumber: 127
    functionDepth: 0
    returnType: "ch.qos.logback.core.rolling.helper.IntegerTokenConverter"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.Converter].getNext()"
    functionUses: 3
    ICount: 10
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:130"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:137"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:136"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:131"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:135"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:134"
        BranchSideFuncs:
        - "getNext()"
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:135,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].getNext()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.rolling.helper.FileNamePattern].hasIntegerTokenCOnverter()"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileNamePattern"
    linkageType: null
    functionLinenumber: 140
    functionDepth: 1
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].getIntegerTokenConverter()"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:142"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:140"
        BranchSideFuncs:
        - "getIntegerTokenConverter()"
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:141,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileNamePattern].getIntegerTokenConverter()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.rolling.helper.FileNamePattern].getIntegerTokenConverter()"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileNamePattern"
    linkageType: null
    functionLinenumber: 127
    functionDepth: 0
    returnType: "ch.qos.logback.core.rolling.helper.IntegerTokenConverter"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.Converter].getNext()"
    functionUses: 3
    ICount: 10
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:130"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:137"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:136"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:131"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:135"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:134"
        BranchSideFuncs:
        - "getNext()"
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:135,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].getNext()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.rolling.helper.FileNamePattern].convertMultipleArguments(java.lang.Object[])"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileNamePattern"
    linkageType: null
    functionLinenumber: 145
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.IntegerTokenConverter].isApplicable(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.DateTokenConverter].isApplicable(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.FileOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LocalSequenceNumberConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.SyslogStartConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.DateTokenConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.NopThrowableInformationConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.PrefixCompositeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.DateConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.RelativeTimeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.IntegerTokenConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.KeyValuePairConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LineSeparatorConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LineOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.PropertyConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LevelConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MDCConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MessageConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ThreadConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.NamedConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MethodOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MicrosecondConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ContextNameConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MarkerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.CompositeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.SequenceNumberConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.CallerDataConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.LiteralConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.Converter].getNext()"
    - "[java.lang.StringBuilder].<init>()"
    - "[ch.qos.logback.core.rolling.helper.MonoTypedConverter].isApplicable(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.Converter].convert(java.lang.Object)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 4
    ICount: 26
    EdgeCount: 57
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:148"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:161"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:160"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:149"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:157"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:156"
        BranchSideFuncs:
        - "convert(java.lang.Object)"
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:151"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:156"
        BranchSideFuncs:
        - "isApplicable(java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:155"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:152"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:150"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:149"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:146,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:152,1"
      Dst: "[ch.qos.logback.core.rolling.helper.MonoTypedConverter].isApplicable(java.lang.Object)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:153,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].convert(java.lang.Object)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:153,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:159,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].getNext()"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:161,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 12
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.rolling.helper.FileNamePattern].convert(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileNamePattern"
    linkageType: null
    functionLinenumber: 164
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.FileOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LocalSequenceNumberConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.SyslogStartConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.DateTokenConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.NopThrowableInformationConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.PrefixCompositeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.DateConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.RelativeTimeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.IntegerTokenConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.KeyValuePairConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LineSeparatorConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LineOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.PropertyConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LevelConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MDCConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MessageConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ThreadConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.NamedConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MethodOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MicrosecondConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ContextNameConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MarkerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.CompositeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.SequenceNumberConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.CallerDataConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.LiteralConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.Converter].getNext()"
    - "[java.lang.StringBuilder].<init>()"
    - "[ch.qos.logback.core.pattern.Converter].convert(java.lang.Object)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 5
    ICount: 12
    EdgeCount: 28
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:167"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:171"
        BranchSideFuncs:
        - "getNext()"
        - "convert(java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:170"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:165,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:168,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].convert(java.lang.Object)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:168,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:169,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].getNext()"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:171,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.rolling.helper.FileNamePattern].convertInt(int)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileNamePattern"
    linkageType: null
    functionLinenumber: 174
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].convert(java.lang.Object)"
    - "[java.lang.Integer].valueOf(int)"
    functionUses: 6
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:175,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:175,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileNamePattern].convert(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.FileNamePattern].convert(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileNamePattern"
    linkageType: null
    functionLinenumber: 164
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.FileOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LocalSequenceNumberConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.SyslogStartConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.DateTokenConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.NopThrowableInformationConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.PrefixCompositeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.DateConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.RelativeTimeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.IntegerTokenConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.KeyValuePairConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LineSeparatorConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LineOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.PropertyConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LevelConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MDCConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MessageConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ThreadConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.NamedConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MethodOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MicrosecondConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ContextNameConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MarkerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.CompositeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.SequenceNumberConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.CallerDataConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.LiteralConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.Converter].getNext()"
    - "[java.lang.StringBuilder].<init>()"
    - "[ch.qos.logback.core.pattern.Converter].convert(java.lang.Object)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 5
    ICount: 12
    EdgeCount: 28
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:167"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:171"
        BranchSideFuncs:
        - "getNext()"
        - "convert(java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:170"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:165,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:168,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].convert(java.lang.Object)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:168,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:169,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].getNext()"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:171,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.rolling.helper.FileNamePattern].setPattern(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileNamePattern"
    linkageType: null
    functionLinenumber: 178
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    functionUses: 1
    ICount: 6
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:179"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:182"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:181,1"
      Dst: "[java.lang.String].trim()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.rolling.helper.FileNamePattern].getPattern()"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileNamePattern"
    linkageType: null
    functionLinenumber: 185
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.FileNamePattern].toRegexForFixedDate(java.util.Date)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileNamePattern"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.util.Date"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[ch.qos.logback.core.pattern.Converter].convert(java.lang.Object)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[ch.qos.logback.core.pattern.Converter].getNext()"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 0
    ICount: 23
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:200"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:210"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:209"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:201"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:203"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:202"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:203"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:205"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:204"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:205"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:208"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:207"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:198,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:202,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].convert(java.lang.Object)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:202,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:208,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].getNext()"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:210,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.rolling.helper.FileNamePattern].toRegexForFixedDate(java.time.Instant)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileNamePattern"
    linkageType: null
    functionLinenumber: 222
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.time.Instant"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.FileOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LocalSequenceNumberConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.SyslogStartConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.DateTokenConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.NopThrowableInformationConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.PrefixCompositeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.DateConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.RelativeTimeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.IntegerTokenConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.KeyValuePairConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LineSeparatorConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LineOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.PropertyConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LevelConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MDCConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MessageConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ThreadConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.NamedConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MethodOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MicrosecondConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ContextNameConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MarkerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.CompositeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.SequenceNumberConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.CallerDataConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.LiteralConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.Converter].getNext()"
    - "[java.lang.StringBuilder].<init>()"
    - "[ch.qos.logback.core.pattern.Converter].convert(java.lang.Object)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 2
    ICount: 23
    EdgeCount: 55
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:225"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:235"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:234"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:226"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:228"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:227"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:228"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:230"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:229"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:230"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:233"
        BranchSideFuncs:
        - "convert(java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:232"
        BranchSideFuncs:
        - "getNext()"
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:223,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:227,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].convert(java.lang.Object)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:227,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:233,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].getNext()"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:235,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.rolling.helper.FileNamePattern].toRegex()"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileNamePattern"
    linkageType: null
    functionLinenumber: 242
    functionDepth: 6
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.FileOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LocalSequenceNumberConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.SyslogStartConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.DateTokenConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.NopThrowableInformationConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.PrefixCompositeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.DateConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.RelativeTimeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.IntegerTokenConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.KeyValuePairConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LineSeparatorConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LineOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.PropertyConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LevelConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MDCConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MessageConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ThreadConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.NamedConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MethodOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MicrosecondConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ContextNameConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MarkerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.CompositeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.SequenceNumberConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.CallerDataConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.LiteralConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.DateTokenConverter].toRegex()"
    - "[ch.qos.logback.core.pattern.Converter].getNext()"
    - "[java.lang.StringBuilder].<init>()"
    - "[ch.qos.logback.core.pattern.Converter].convert(java.lang.Object)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 23
    EdgeCount: 29
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:245"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:256"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:255"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:246"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:248"
        BranchSideFuncs:
        - "convert(java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:247"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:248"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:250"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:249"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:250"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:254"
        BranchSideFuncs:
        - "toRegex()"
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:253"
        BranchSideFuncs:
        - "getNext()"
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:243,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:247,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].convert(java.lang.Object)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:247,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:252,1"
      Dst: "[ch.qos.logback.core.rolling.helper.DateTokenConverter].toRegex()"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:254,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].getNext()"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:256,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 5
  - functionName: "[org.slf4j.spi.DefaultLoggingEventBuilder].<init>(org.slf4j.Logger,org.slf4j.event.Level)"
    functionSourceFile: "org.slf4j.spi.DefaultLoggingEventBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "org.slf4j.Logger"
    - "org.slf4j.event.Level"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[org.slf4j.event.DefaultLoggingEvent].<init>(org.slf4j.event.Level,org.slf4j.Logger)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:49,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:51,1"
      Dst: "[org.slf4j.event.DefaultLoggingEvent].<init>(org.slf4j.event.Level,org.slf4j.Logger)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.spi.DefaultLoggingEventBuilder].addMarker(org.slf4j.Marker)"
    functionSourceFile: "org.slf4j.spi.DefaultLoggingEventBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "org.slf4j.spi.LoggingEventBuilder"
    argCount: 1
    argTypes:
    - "org.slf4j.Marker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.event.DefaultLoggingEvent].addMarker(org.slf4j.Marker)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:63,1"
      Dst: "[org.slf4j.event.DefaultLoggingEvent].addMarker(org.slf4j.Marker)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.DefaultLoggingEvent].addMarker(org.slf4j.Marker)"
    functionSourceFile: "org.slf4j.event.DefaultLoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.slf4j.Marker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>(int)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.event.DefaultLoggingEvent:39"
      Branch Sides:
      - BranchSide: "org.slf4j.event.DefaultLoggingEvent:42"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.event.DefaultLoggingEvent:41"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.event.DefaultLoggingEvent:40,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    - Src: "org.slf4j.event.DefaultLoggingEvent:42,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.spi.DefaultLoggingEventBuilder].setCause(java.lang.Throwable)"
    functionSourceFile: "org.slf4j.spi.DefaultLoggingEventBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "org.slf4j.spi.LoggingEventBuilder"
    argCount: 1
    argTypes:
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.event.DefaultLoggingEvent].setThrowable(java.lang.Throwable)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:69,1"
      Dst: "[org.slf4j.event.DefaultLoggingEvent].setThrowable(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.DefaultLoggingEvent].setThrowable(java.lang.Throwable)"
    functionSourceFile: "org.slf4j.event.DefaultLoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.spi.DefaultLoggingEventBuilder].addArgument(java.lang.Object)"
    functionSourceFile: "org.slf4j.spi.DefaultLoggingEventBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "org.slf4j.spi.LoggingEventBuilder"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.event.DefaultLoggingEvent].addArgument(java.lang.Object)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:75,1"
      Dst: "[org.slf4j.event.DefaultLoggingEvent].addArgument(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.DefaultLoggingEvent].addArgument(java.lang.Object)"
    functionSourceFile: "org.slf4j.event.DefaultLoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.event.DefaultLoggingEvent].getNonNullArguments()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.event.DefaultLoggingEvent:51,1"
      Dst: "[org.slf4j.event.DefaultLoggingEvent].getNonNullArguments()"
    - Src: "org.slf4j.event.DefaultLoggingEvent:51,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.DefaultLoggingEvent].getNonNullArguments()"
    functionSourceFile: "org.slf4j.event.DefaultLoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>(int)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.event.DefaultLoggingEvent:59"
      Branch Sides:
      - BranchSide: "org.slf4j.event.DefaultLoggingEvent:62"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.event.DefaultLoggingEvent:61"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.event.DefaultLoggingEvent:60,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.spi.DefaultLoggingEventBuilder].addArgument(java.util.function.Supplier)"
    functionSourceFile: "org.slf4j.spi.DefaultLoggingEventBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "org.slf4j.spi.LoggingEventBuilder"
    argCount: 1
    argTypes:
    - "java.util.function.Supplier"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.function.Supplier].get()"
    - "[org.slf4j.event.DefaultLoggingEvent].addArgument(java.lang.Object)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:81,1"
      Dst: "[java.util.function.Supplier].get()"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:81,1"
      Dst: "[org.slf4j.event.DefaultLoggingEvent].addArgument(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.DefaultLoggingEvent].addArgument(java.lang.Object)"
    functionSourceFile: "org.slf4j.event.DefaultLoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.event.DefaultLoggingEvent].getNonNullArguments()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.event.DefaultLoggingEvent:51,1"
      Dst: "[org.slf4j.event.DefaultLoggingEvent].getNonNullArguments()"
    - Src: "org.slf4j.event.DefaultLoggingEvent:51,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.spi.DefaultLoggingEventBuilder].setCallerBoundary(java.lang.String)"
    functionSourceFile: "org.slf4j.spi.DefaultLoggingEventBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.event.DefaultLoggingEvent].setCallerBoundary(java.lang.String)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:87,1"
      Dst: "[org.slf4j.event.DefaultLoggingEvent].setCallerBoundary(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.DefaultLoggingEvent].setCallerBoundary(java.lang.String)"
    functionSourceFile: "org.slf4j.event.DefaultLoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.spi.DefaultLoggingEventBuilder].log()"
    functionSourceFile: "org.slf4j.spi.DefaultLoggingEventBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 3
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.spi.DefaultLoggingEventBuilder].log(org.slf4j.event.LoggingEvent)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:92,1"
      Dst: "[org.slf4j.spi.DefaultLoggingEventBuilder].log(org.slf4j.event.LoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.spi.DefaultLoggingEventBuilder].log(org.slf4j.event.LoggingEvent)"
    functionSourceFile: "org.slf4j.spi.DefaultLoggingEventBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.slf4j.event.LoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.spi.DefaultLoggingEventBuilder].setCallerBoundary(java.lang.String)"
    - "[org.slf4j.spi.LoggingEventAware].log(org.slf4j.event.LoggingEvent)"
    - "[org.slf4j.spi.DefaultLoggingEventBuilder].logViaPublicSLF4JLoggerAPI(org.slf4j.event.LoggingEvent)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.spi.DefaultLoggingEventBuilder:146"
      Branch Sides:
      - BranchSide: "org.slf4j.spi.DefaultLoggingEventBuilder:149"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.spi.DefaultLoggingEventBuilder:148"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:145,1"
      Dst: "[org.slf4j.spi.DefaultLoggingEventBuilder].setCallerBoundary(java.lang.String)"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:147,1"
      Dst: "[org.slf4j.spi.LoggingEventAware].log(org.slf4j.event.LoggingEvent)"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:149,1"
      Dst: "[org.slf4j.spi.DefaultLoggingEventBuilder].logViaPublicSLF4JLoggerAPI(org.slf4j.event.LoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.spi.DefaultLoggingEventBuilder].setCallerBoundary(java.lang.String)"
    functionSourceFile: "org.slf4j.spi.DefaultLoggingEventBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.event.DefaultLoggingEvent].setCallerBoundary(java.lang.String)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:87,1"
      Dst: "[org.slf4j.event.DefaultLoggingEvent].setCallerBoundary(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.spi.DefaultLoggingEventBuilder].logViaPublicSLF4JLoggerAPI(org.slf4j.event.LoggingEvent)"
    functionSourceFile: "org.slf4j.spi.DefaultLoggingEventBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.slf4j.event.LoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.event.LoggingEvent].getArgumentArray()"
    - "[org.slf4j.event.LoggingEvent].getThrowable()"
    - "[org.slf4j.event.LoggingEvent].getMessage()"
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    - "[org.slf4j.spi.DefaultLoggingEventBuilder].mergeMarkersAndKeyValuePairs(org.slf4j.event.LoggingEvent,java.lang.String)"
    - "[org.slf4j.event.LoggingEvent].getLevel()"
    - "[java.lang.Enum].ordinal()"
    - "[org.slf4j.Logger].trace(java.lang.String,java.lang.Object[])"
    - "[org.slf4j.Logger].debug(java.lang.String,java.lang.Object[])"
    - "[org.slf4j.Logger].info(java.lang.String,java.lang.Object[])"
    - "[org.slf4j.Logger].warn(java.lang.String,java.lang.Object[])"
    - "[org.slf4j.Logger].error(java.lang.String,java.lang.Object[])"
    functionUses: 0
    ICount: 41
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.spi.DefaultLoggingEventBuilder:155"
      Branch Sides:
      - BranchSide: "org.slf4j.spi.DefaultLoggingEventBuilder:154"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.spi.DefaultLoggingEventBuilder:153"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.spi.DefaultLoggingEventBuilder:158"
      Branch Sides:
      - BranchSide: "org.slf4j.spi.DefaultLoggingEventBuilder:154"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.spi.DefaultLoggingEventBuilder:164"
      Branch Sides:
      - BranchSide: "org.slf4j.spi.DefaultLoggingEventBuilder:167"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.spi.DefaultLoggingEventBuilder:166"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.spi.DefaultLoggingEventBuilder:167"
      Branch Sides:
      - BranchSide: "org.slf4j.spi.DefaultLoggingEventBuilder:171"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.spi.DefaultLoggingEventBuilder:170"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:154,1"
      Dst: "[org.slf4j.event.LoggingEvent].getArgumentArray()"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:157,1"
      Dst: "[org.slf4j.event.LoggingEvent].getThrowable()"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:160,1"
      Dst: "[org.slf4j.event.LoggingEvent].getMessage()"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:165,1"
      Dst: "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:171,1"
      Dst: "[org.slf4j.spi.DefaultLoggingEventBuilder].mergeMarkersAndKeyValuePairs(org.slf4j.event.LoggingEvent,java.lang.String)"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:173,1"
      Dst: "[org.slf4j.event.LoggingEvent].getLevel()"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:173,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:175,1"
      Dst: "[org.slf4j.Logger].trace(java.lang.String,java.lang.Object[])"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:178,1"
      Dst: "[org.slf4j.Logger].debug(java.lang.String,java.lang.Object[])"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:181,1"
      Dst: "[org.slf4j.Logger].info(java.lang.String,java.lang.Object[])"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:184,1"
      Dst: "[org.slf4j.Logger].warn(java.lang.String,java.lang.Object[])"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:187,1"
      Dst: "[org.slf4j.Logger].error(java.lang.String,java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 17
    CyclomaticComplexity: 10
  - functionName: "[org.slf4j.spi.DefaultLoggingEventBuilder].mergeMarkersAndKeyValuePairs(org.slf4j.event.LoggingEvent,java.lang.String)"
    functionSourceFile: "org.slf4j.spi.DefaultLoggingEventBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "org.slf4j.event.LoggingEvent"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.event.LoggingEvent].getMarkers()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].append(char)"
    - "[org.slf4j.event.LoggingEvent].getKeyValuePairs()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 0
    ICount: 42
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.spi.DefaultLoggingEventBuilder:204"
      Branch Sides:
      - BranchSide: "org.slf4j.spi.DefaultLoggingEventBuilder:212"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.spi.DefaultLoggingEventBuilder:211"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.spi.DefaultLoggingEventBuilder:206"
      Branch Sides:
      - BranchSide: "org.slf4j.spi.DefaultLoggingEventBuilder:212"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.spi.DefaultLoggingEventBuilder:211"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.spi.DefaultLoggingEventBuilder:212"
      Branch Sides:
      - BranchSide: "org.slf4j.spi.DefaultLoggingEventBuilder:224"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.spi.DefaultLoggingEventBuilder:223"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.spi.DefaultLoggingEventBuilder:213"
      Branch Sides:
      - BranchSide: "org.slf4j.spi.DefaultLoggingEventBuilder:216"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.spi.DefaultLoggingEventBuilder:215"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.spi.DefaultLoggingEventBuilder:216"
      Branch Sides:
      - BranchSide: "org.slf4j.spi.DefaultLoggingEventBuilder:224"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.spi.DefaultLoggingEventBuilder:223"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.spi.DefaultLoggingEventBuilder:224"
      Branch Sides:
      - BranchSide: "org.slf4j.spi.DefaultLoggingEventBuilder:228"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.spi.DefaultLoggingEventBuilder:227"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:204,1"
      Dst: "[org.slf4j.event.LoggingEvent].getMarkers()"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:205,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:206,1"
      Dst: "[java.util.List].iterator()"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:206,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:206,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:207,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:208,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:212,1"
      Dst: "[org.slf4j.event.LoggingEvent].getKeyValuePairs()"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:217,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:226,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 13
    CyclomaticComplexity: 6
  - functionName: "[org.slf4j.spi.DefaultLoggingEventBuilder].setMessage(java.lang.String)"
    functionSourceFile: "org.slf4j.spi.DefaultLoggingEventBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "org.slf4j.spi.LoggingEventBuilder"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.event.DefaultLoggingEvent].setMessage(java.lang.String)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:97,1"
      Dst: "[org.slf4j.event.DefaultLoggingEvent].setMessage(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.DefaultLoggingEvent].setMessage(java.lang.String)"
    functionSourceFile: "org.slf4j.event.DefaultLoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.spi.DefaultLoggingEventBuilder].setMessage(java.util.function.Supplier)"
    functionSourceFile: "org.slf4j.spi.DefaultLoggingEventBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "org.slf4j.spi.LoggingEventBuilder"
    argCount: 1
    argTypes:
    - "java.util.function.Supplier"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.function.Supplier].get()"
    - "[org.slf4j.event.DefaultLoggingEvent].setMessage(java.lang.String)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:102,1"
      Dst: "[java.util.function.Supplier].get()"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:102,1"
      Dst: "[org.slf4j.event.DefaultLoggingEvent].setMessage(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.DefaultLoggingEvent].setMessage(java.lang.String)"
    functionSourceFile: "org.slf4j.event.DefaultLoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.spi.DefaultLoggingEventBuilder].log(java.lang.String)"
    functionSourceFile: "org.slf4j.spi.DefaultLoggingEventBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.event.DefaultLoggingEvent].setMessage(java.lang.String)"
    - "[org.slf4j.spi.DefaultLoggingEventBuilder].log(org.slf4j.event.LoggingEvent)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:108,1"
      Dst: "[org.slf4j.event.DefaultLoggingEvent].setMessage(java.lang.String)"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:109,1"
      Dst: "[org.slf4j.spi.DefaultLoggingEventBuilder].log(org.slf4j.event.LoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.DefaultLoggingEvent].setMessage(java.lang.String)"
    functionSourceFile: "org.slf4j.event.DefaultLoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.spi.DefaultLoggingEventBuilder].log(org.slf4j.event.LoggingEvent)"
    functionSourceFile: "org.slf4j.spi.DefaultLoggingEventBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.slf4j.event.LoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.spi.DefaultLoggingEventBuilder].setCallerBoundary(java.lang.String)"
    - "[org.slf4j.spi.LoggingEventAware].log(org.slf4j.event.LoggingEvent)"
    - "[org.slf4j.spi.DefaultLoggingEventBuilder].logViaPublicSLF4JLoggerAPI(org.slf4j.event.LoggingEvent)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.spi.DefaultLoggingEventBuilder:146"
      Branch Sides:
      - BranchSide: "org.slf4j.spi.DefaultLoggingEventBuilder:149"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.spi.DefaultLoggingEventBuilder:148"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:145,1"
      Dst: "[org.slf4j.spi.DefaultLoggingEventBuilder].setCallerBoundary(java.lang.String)"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:147,1"
      Dst: "[org.slf4j.spi.LoggingEventAware].log(org.slf4j.event.LoggingEvent)"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:149,1"
      Dst: "[org.slf4j.spi.DefaultLoggingEventBuilder].logViaPublicSLF4JLoggerAPI(org.slf4j.event.LoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.spi.DefaultLoggingEventBuilder].log(java.lang.String,java.lang.Object)"
    functionSourceFile: "org.slf4j.spi.DefaultLoggingEventBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.event.DefaultLoggingEvent].setMessage(java.lang.String)"
    - "[org.slf4j.event.DefaultLoggingEvent].addArgument(java.lang.Object)"
    - "[org.slf4j.spi.DefaultLoggingEventBuilder].log(org.slf4j.event.LoggingEvent)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:114,1"
      Dst: "[org.slf4j.event.DefaultLoggingEvent].setMessage(java.lang.String)"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:115,1"
      Dst: "[org.slf4j.event.DefaultLoggingEvent].addArgument(java.lang.Object)"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:116,1"
      Dst: "[org.slf4j.spi.DefaultLoggingEventBuilder].log(org.slf4j.event.LoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.DefaultLoggingEvent].setMessage(java.lang.String)"
    functionSourceFile: "org.slf4j.event.DefaultLoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.DefaultLoggingEvent].addArgument(java.lang.Object)"
    functionSourceFile: "org.slf4j.event.DefaultLoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.event.DefaultLoggingEvent].getNonNullArguments()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.event.DefaultLoggingEvent:51,1"
      Dst: "[org.slf4j.event.DefaultLoggingEvent].getNonNullArguments()"
    - Src: "org.slf4j.event.DefaultLoggingEvent:51,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.spi.DefaultLoggingEventBuilder].log(org.slf4j.event.LoggingEvent)"
    functionSourceFile: "org.slf4j.spi.DefaultLoggingEventBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.slf4j.event.LoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.spi.DefaultLoggingEventBuilder].setCallerBoundary(java.lang.String)"
    - "[org.slf4j.spi.LoggingEventAware].log(org.slf4j.event.LoggingEvent)"
    - "[org.slf4j.spi.DefaultLoggingEventBuilder].logViaPublicSLF4JLoggerAPI(org.slf4j.event.LoggingEvent)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.spi.DefaultLoggingEventBuilder:146"
      Branch Sides:
      - BranchSide: "org.slf4j.spi.DefaultLoggingEventBuilder:149"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.spi.DefaultLoggingEventBuilder:148"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:145,1"
      Dst: "[org.slf4j.spi.DefaultLoggingEventBuilder].setCallerBoundary(java.lang.String)"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:147,1"
      Dst: "[org.slf4j.spi.LoggingEventAware].log(org.slf4j.event.LoggingEvent)"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:149,1"
      Dst: "[org.slf4j.spi.DefaultLoggingEventBuilder].logViaPublicSLF4JLoggerAPI(org.slf4j.event.LoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.spi.DefaultLoggingEventBuilder].log(java.lang.String,java.lang.Object,java.lang.Object)"
    functionSourceFile: "org.slf4j.spi.DefaultLoggingEventBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.event.DefaultLoggingEvent].setMessage(java.lang.String)"
    - "[org.slf4j.event.DefaultLoggingEvent].addArgument(java.lang.Object)"
    - "[org.slf4j.spi.DefaultLoggingEventBuilder].log(org.slf4j.event.LoggingEvent)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:121,1"
      Dst: "[org.slf4j.event.DefaultLoggingEvent].setMessage(java.lang.String)"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:122,1"
      Dst: "[org.slf4j.event.DefaultLoggingEvent].addArgument(java.lang.Object)"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:124,1"
      Dst: "[org.slf4j.spi.DefaultLoggingEventBuilder].log(org.slf4j.event.LoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.DefaultLoggingEvent].setMessage(java.lang.String)"
    functionSourceFile: "org.slf4j.event.DefaultLoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.DefaultLoggingEvent].addArgument(java.lang.Object)"
    functionSourceFile: "org.slf4j.event.DefaultLoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.event.DefaultLoggingEvent].getNonNullArguments()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.event.DefaultLoggingEvent:51,1"
      Dst: "[org.slf4j.event.DefaultLoggingEvent].getNonNullArguments()"
    - Src: "org.slf4j.event.DefaultLoggingEvent:51,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.spi.DefaultLoggingEventBuilder].log(org.slf4j.event.LoggingEvent)"
    functionSourceFile: "org.slf4j.spi.DefaultLoggingEventBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.slf4j.event.LoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.spi.DefaultLoggingEventBuilder].setCallerBoundary(java.lang.String)"
    - "[org.slf4j.spi.LoggingEventAware].log(org.slf4j.event.LoggingEvent)"
    - "[org.slf4j.spi.DefaultLoggingEventBuilder].logViaPublicSLF4JLoggerAPI(org.slf4j.event.LoggingEvent)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.spi.DefaultLoggingEventBuilder:146"
      Branch Sides:
      - BranchSide: "org.slf4j.spi.DefaultLoggingEventBuilder:149"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.spi.DefaultLoggingEventBuilder:148"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:145,1"
      Dst: "[org.slf4j.spi.DefaultLoggingEventBuilder].setCallerBoundary(java.lang.String)"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:147,1"
      Dst: "[org.slf4j.spi.LoggingEventAware].log(org.slf4j.event.LoggingEvent)"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:149,1"
      Dst: "[org.slf4j.spi.DefaultLoggingEventBuilder].logViaPublicSLF4JLoggerAPI(org.slf4j.event.LoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.spi.DefaultLoggingEventBuilder].log(java.lang.String,java.lang.Object[])"
    functionSourceFile: "org.slf4j.spi.DefaultLoggingEventBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.event.DefaultLoggingEvent].setMessage(java.lang.String)"
    - "[org.slf4j.event.DefaultLoggingEvent].addArguments(java.lang.Object[])"
    - "[org.slf4j.spi.DefaultLoggingEventBuilder].log(org.slf4j.event.LoggingEvent)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:129,1"
      Dst: "[org.slf4j.event.DefaultLoggingEvent].setMessage(java.lang.String)"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:130,1"
      Dst: "[org.slf4j.event.DefaultLoggingEvent].addArguments(java.lang.Object[])"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:132,1"
      Dst: "[org.slf4j.spi.DefaultLoggingEventBuilder].log(org.slf4j.event.LoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.DefaultLoggingEvent].setMessage(java.lang.String)"
    functionSourceFile: "org.slf4j.event.DefaultLoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.DefaultLoggingEvent].addArguments(java.lang.Object[])"
    functionSourceFile: "org.slf4j.event.DefaultLoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.event.DefaultLoggingEvent].getNonNullArguments()"
    - "[java.util.Arrays].asList(java.lang.Object[])"
    - "[java.util.List].addAll(java.util.Collection)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.event.DefaultLoggingEvent:55,1"
      Dst: "[org.slf4j.event.DefaultLoggingEvent].getNonNullArguments()"
    - Src: "org.slf4j.event.DefaultLoggingEvent:55,1"
      Dst: "[java.util.Arrays].asList(java.lang.Object[])"
    - Src: "org.slf4j.event.DefaultLoggingEvent:55,1"
      Dst: "[java.util.List].addAll(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.DefaultLoggingEvent].getNonNullArguments()"
    functionSourceFile: "org.slf4j.event.DefaultLoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>(int)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.event.DefaultLoggingEvent:59"
      Branch Sides:
      - BranchSide: "org.slf4j.event.DefaultLoggingEvent:62"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.event.DefaultLoggingEvent:61"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.event.DefaultLoggingEvent:60,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.spi.DefaultLoggingEventBuilder].log(org.slf4j.event.LoggingEvent)"
    functionSourceFile: "org.slf4j.spi.DefaultLoggingEventBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.slf4j.event.LoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.spi.DefaultLoggingEventBuilder].setCallerBoundary(java.lang.String)"
    - "[org.slf4j.spi.LoggingEventAware].log(org.slf4j.event.LoggingEvent)"
    - "[org.slf4j.spi.DefaultLoggingEventBuilder].logViaPublicSLF4JLoggerAPI(org.slf4j.event.LoggingEvent)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.spi.DefaultLoggingEventBuilder:146"
      Branch Sides:
      - BranchSide: "org.slf4j.spi.DefaultLoggingEventBuilder:149"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.spi.DefaultLoggingEventBuilder:148"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:145,1"
      Dst: "[org.slf4j.spi.DefaultLoggingEventBuilder].setCallerBoundary(java.lang.String)"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:147,1"
      Dst: "[org.slf4j.spi.LoggingEventAware].log(org.slf4j.event.LoggingEvent)"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:149,1"
      Dst: "[org.slf4j.spi.DefaultLoggingEventBuilder].logViaPublicSLF4JLoggerAPI(org.slf4j.event.LoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.spi.DefaultLoggingEventBuilder].log(java.util.function.Supplier)"
    functionSourceFile: "org.slf4j.spi.DefaultLoggingEventBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.function.Supplier"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.spi.DefaultLoggingEventBuilder].log(java.lang.String)"
    - "[java.util.function.Supplier].get()"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.spi.DefaultLoggingEventBuilder:137"
      Branch Sides:
      - BranchSide: "org.slf4j.spi.DefaultLoggingEventBuilder:140"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.spi.DefaultLoggingEventBuilder:139"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:138,1"
      Dst: "[org.slf4j.spi.DefaultLoggingEventBuilder].log(java.lang.String)"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:140,1"
      Dst: "[java.util.function.Supplier].get()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.spi.DefaultLoggingEventBuilder].log(java.lang.String)"
    functionSourceFile: "org.slf4j.spi.DefaultLoggingEventBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.event.DefaultLoggingEvent].setMessage(java.lang.String)"
    - "[org.slf4j.spi.DefaultLoggingEventBuilder].log(org.slf4j.event.LoggingEvent)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:108,1"
      Dst: "[org.slf4j.event.DefaultLoggingEvent].setMessage(java.lang.String)"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:109,1"
      Dst: "[org.slf4j.spi.DefaultLoggingEventBuilder].log(org.slf4j.event.LoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.spi.DefaultLoggingEventBuilder].log(org.slf4j.event.LoggingEvent)"
    functionSourceFile: "org.slf4j.spi.DefaultLoggingEventBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.slf4j.event.LoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.spi.DefaultLoggingEventBuilder].setCallerBoundary(java.lang.String)"
    - "[org.slf4j.spi.LoggingEventAware].log(org.slf4j.event.LoggingEvent)"
    - "[org.slf4j.spi.DefaultLoggingEventBuilder].logViaPublicSLF4JLoggerAPI(org.slf4j.event.LoggingEvent)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.spi.DefaultLoggingEventBuilder:146"
      Branch Sides:
      - BranchSide: "org.slf4j.spi.DefaultLoggingEventBuilder:149"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.spi.DefaultLoggingEventBuilder:148"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:145,1"
      Dst: "[org.slf4j.spi.DefaultLoggingEventBuilder].setCallerBoundary(java.lang.String)"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:147,1"
      Dst: "[org.slf4j.spi.LoggingEventAware].log(org.slf4j.event.LoggingEvent)"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:149,1"
      Dst: "[org.slf4j.spi.DefaultLoggingEventBuilder].logViaPublicSLF4JLoggerAPI(org.slf4j.event.LoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.spi.DefaultLoggingEventBuilder].logViaPublicSLF4JLoggerAPI(org.slf4j.event.LoggingEvent)"
    functionSourceFile: "org.slf4j.spi.DefaultLoggingEventBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.slf4j.event.LoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.event.LoggingEvent].getArgumentArray()"
    - "[org.slf4j.event.LoggingEvent].getThrowable()"
    - "[org.slf4j.event.LoggingEvent].getMessage()"
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    - "[org.slf4j.spi.DefaultLoggingEventBuilder].mergeMarkersAndKeyValuePairs(org.slf4j.event.LoggingEvent,java.lang.String)"
    - "[org.slf4j.event.LoggingEvent].getLevel()"
    - "[java.lang.Enum].ordinal()"
    - "[org.slf4j.Logger].trace(java.lang.String,java.lang.Object[])"
    - "[org.slf4j.Logger].debug(java.lang.String,java.lang.Object[])"
    - "[org.slf4j.Logger].info(java.lang.String,java.lang.Object[])"
    - "[org.slf4j.Logger].warn(java.lang.String,java.lang.Object[])"
    - "[org.slf4j.Logger].error(java.lang.String,java.lang.Object[])"
    functionUses: 0
    ICount: 41
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.spi.DefaultLoggingEventBuilder:155"
      Branch Sides:
      - BranchSide: "org.slf4j.spi.DefaultLoggingEventBuilder:154"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.spi.DefaultLoggingEventBuilder:153"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.spi.DefaultLoggingEventBuilder:158"
      Branch Sides:
      - BranchSide: "org.slf4j.spi.DefaultLoggingEventBuilder:154"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.spi.DefaultLoggingEventBuilder:164"
      Branch Sides:
      - BranchSide: "org.slf4j.spi.DefaultLoggingEventBuilder:167"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.spi.DefaultLoggingEventBuilder:166"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.spi.DefaultLoggingEventBuilder:167"
      Branch Sides:
      - BranchSide: "org.slf4j.spi.DefaultLoggingEventBuilder:171"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.spi.DefaultLoggingEventBuilder:170"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:154,1"
      Dst: "[org.slf4j.event.LoggingEvent].getArgumentArray()"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:157,1"
      Dst: "[org.slf4j.event.LoggingEvent].getThrowable()"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:160,1"
      Dst: "[org.slf4j.event.LoggingEvent].getMessage()"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:165,1"
      Dst: "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:171,1"
      Dst: "[org.slf4j.spi.DefaultLoggingEventBuilder].mergeMarkersAndKeyValuePairs(org.slf4j.event.LoggingEvent,java.lang.String)"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:173,1"
      Dst: "[org.slf4j.event.LoggingEvent].getLevel()"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:173,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:175,1"
      Dst: "[org.slf4j.Logger].trace(java.lang.String,java.lang.Object[])"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:178,1"
      Dst: "[org.slf4j.Logger].debug(java.lang.String,java.lang.Object[])"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:181,1"
      Dst: "[org.slf4j.Logger].info(java.lang.String,java.lang.Object[])"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:184,1"
      Dst: "[org.slf4j.Logger].warn(java.lang.String,java.lang.Object[])"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:187,1"
      Dst: "[org.slf4j.Logger].error(java.lang.String,java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 17
    CyclomaticComplexity: 10
  - functionName: "[org.slf4j.spi.DefaultLoggingEventBuilder].mergeMarkersAndKeyValuePairs(org.slf4j.event.LoggingEvent,java.lang.String)"
    functionSourceFile: "org.slf4j.spi.DefaultLoggingEventBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "org.slf4j.event.LoggingEvent"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.event.LoggingEvent].getMarkers()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].append(char)"
    - "[org.slf4j.event.LoggingEvent].getKeyValuePairs()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 0
    ICount: 42
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.spi.DefaultLoggingEventBuilder:204"
      Branch Sides:
      - BranchSide: "org.slf4j.spi.DefaultLoggingEventBuilder:212"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.spi.DefaultLoggingEventBuilder:211"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.spi.DefaultLoggingEventBuilder:206"
      Branch Sides:
      - BranchSide: "org.slf4j.spi.DefaultLoggingEventBuilder:212"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.spi.DefaultLoggingEventBuilder:211"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.spi.DefaultLoggingEventBuilder:212"
      Branch Sides:
      - BranchSide: "org.slf4j.spi.DefaultLoggingEventBuilder:224"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.spi.DefaultLoggingEventBuilder:223"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.spi.DefaultLoggingEventBuilder:213"
      Branch Sides:
      - BranchSide: "org.slf4j.spi.DefaultLoggingEventBuilder:216"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.spi.DefaultLoggingEventBuilder:215"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.spi.DefaultLoggingEventBuilder:216"
      Branch Sides:
      - BranchSide: "org.slf4j.spi.DefaultLoggingEventBuilder:224"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.spi.DefaultLoggingEventBuilder:223"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.spi.DefaultLoggingEventBuilder:224"
      Branch Sides:
      - BranchSide: "org.slf4j.spi.DefaultLoggingEventBuilder:228"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.spi.DefaultLoggingEventBuilder:227"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:204,1"
      Dst: "[org.slf4j.event.LoggingEvent].getMarkers()"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:205,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:206,1"
      Dst: "[java.util.List].iterator()"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:206,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:206,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:207,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:208,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:212,1"
      Dst: "[org.slf4j.event.LoggingEvent].getKeyValuePairs()"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:217,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:226,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 13
    CyclomaticComplexity: 6
  - functionName: "[org.slf4j.spi.DefaultLoggingEventBuilder].addKeyValue(java.lang.String,java.lang.Object)"
    functionSourceFile: "org.slf4j.spi.DefaultLoggingEventBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "org.slf4j.spi.LoggingEventBuilder"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.event.DefaultLoggingEvent].addKeyValue(java.lang.String,java.lang.Object)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:236,1"
      Dst: "[org.slf4j.event.DefaultLoggingEvent].addKeyValue(java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.DefaultLoggingEvent].addKeyValue(java.lang.String,java.lang.Object)"
    functionSourceFile: "org.slf4j.event.DefaultLoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.event.DefaultLoggingEvent].getNonnullKeyValuePairs()"
    - "[org.slf4j.event.KeyValuePair].<init>(java.lang.String,java.lang.Object)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.event.DefaultLoggingEvent:78,1"
      Dst: "[org.slf4j.event.DefaultLoggingEvent].getNonnullKeyValuePairs()"
    - Src: "org.slf4j.event.DefaultLoggingEvent:78,1"
      Dst: "[org.slf4j.event.KeyValuePair].<init>(java.lang.String,java.lang.Object)"
    - Src: "org.slf4j.event.DefaultLoggingEvent:78,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.DefaultLoggingEvent].getNonnullKeyValuePairs()"
    functionSourceFile: "org.slf4j.event.DefaultLoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>(int)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.event.DefaultLoggingEvent:82"
      Branch Sides:
      - BranchSide: "org.slf4j.event.DefaultLoggingEvent:85"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.event.DefaultLoggingEvent:84"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.event.DefaultLoggingEvent:83,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.event.KeyValuePair].<init>(java.lang.String,java.lang.Object)"
    functionSourceFile: "org.slf4j.event.KeyValuePair"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.event.KeyValuePair:10,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.spi.DefaultLoggingEventBuilder].addKeyValue(java.lang.String,java.util.function.Supplier)"
    functionSourceFile: "org.slf4j.spi.DefaultLoggingEventBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "org.slf4j.spi.LoggingEventBuilder"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.util.function.Supplier"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.function.Supplier].get()"
    - "[org.slf4j.event.DefaultLoggingEvent].addKeyValue(java.lang.String,java.lang.Object)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:242,1"
      Dst: "[java.util.function.Supplier].get()"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:242,1"
      Dst: "[org.slf4j.event.DefaultLoggingEvent].addKeyValue(java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.DefaultLoggingEvent].addKeyValue(java.lang.String,java.lang.Object)"
    functionSourceFile: "org.slf4j.event.DefaultLoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.event.DefaultLoggingEvent].getNonnullKeyValuePairs()"
    - "[org.slf4j.event.KeyValuePair].<init>(java.lang.String,java.lang.Object)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.event.DefaultLoggingEvent:78,1"
      Dst: "[org.slf4j.event.DefaultLoggingEvent].getNonnullKeyValuePairs()"
    - Src: "org.slf4j.event.DefaultLoggingEvent:78,1"
      Dst: "[org.slf4j.event.KeyValuePair].<init>(java.lang.String,java.lang.Object)"
    - Src: "org.slf4j.event.DefaultLoggingEvent:78,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator].<init>(int)"
    functionSourceFile: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator"
    linkageType: null
    functionLinenumber: 21
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator:22,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator].abbreviate(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.String].length()"
    - "[java.lang.StringBuilder].<init>(int)"
    - "[java.lang.String].lastIndexOf(int)"
    - "[java.lang.String].charAt(int)"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.String].substring(int)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 2
    ICount: 46
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator:27"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator:31"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator:30"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator:32"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator:36"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator:35"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator:40"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator:44"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator:43"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator:47"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator:50"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator:49"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator:79"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator:78"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator:63"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator:69"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator:65"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator:67"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator:66"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator:70"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator:74"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator:73"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator:28,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator:31,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator:36,1"
      Dst: "[java.lang.StringBuilder].<init>(int)"
    - Src: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator:38,1"
      Dst: "[java.lang.String].lastIndexOf(int)"
    - Src: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator:62,1"
      Dst: "[java.lang.String].charAt(int)"
    - Src: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator:67,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator:79,1"
      Dst: "[java.lang.String].substring(int)"
    - Src: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator:79,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator:80,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 19
    CyclomaticComplexity: 6
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].<init>()"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxyUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:24,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].build(ch.qos.logback.classic.spi.ThrowableProxy,java.lang.Throwable,ch.qos.logback.classic.spi.ThrowableProxy)"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxyUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.classic.spi.ThrowableProxy"
    - "java.lang.Throwable"
    - "ch.qos.logback.classic.spi.ThrowableProxy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Throwable].getStackTrace()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].getStackTraceElementProxyArray()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyUtil].findNumberOfCommonFrames(java.lang.StackTraceElement[],ch.qos.logback.classic.spi.StackTraceElementProxy[])"
    - "[ch.qos.logback.classic.spi.ThrowableProxyUtil].steArrayToStepArray(java.lang.StackTraceElement[])"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:35"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:39"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:38"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:32,1"
      Dst: "[java.lang.Throwable].getStackTrace()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:36,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxy].getStackTraceElementProxyArray()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:36,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].findNumberOfCommonFrames(java.lang.StackTraceElement[],ch.qos.logback.classic.spi.StackTraceElementProxy[])"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:40,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].steArrayToStepArray(java.lang.StackTraceElement[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxy].getStackTraceElementProxyArray()"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxy"
    linkageType: null
    functionLinenumber: 121
    functionDepth: 0
    returnType: "ch.qos.logback.classic.spi.StackTraceElementProxy[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 8
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].findNumberOfCommonFrames(java.lang.StackTraceElement[],ch.qos.logback.classic.spi.StackTraceElementProxy[])"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxyUtil"
    linkageType: null
    functionLinenumber: 54
    functionDepth: 0
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.lang.StackTraceElement[]"
    - "ch.qos.logback.classic.spi.StackTraceElementProxy[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StackTraceElement].equals(java.lang.Object)"
    functionUses: 2
    ICount: 24
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:55"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:56"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:55"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:55"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:59"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:58"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:62"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:73"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:72"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:62"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:73"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:72"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:65"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:73"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:72"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:65,1"
      Dst: "[java.lang.StackTraceElement].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].steArrayToStepArray(java.lang.StackTraceElement[])"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxyUtil"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 1
    returnType: "ch.qos.logback.classic.spi.StackTraceElementProxy[]"
    argCount: 1
    argTypes:
    - "java.lang.StackTraceElement[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.StackTraceElementProxy].<init>(java.lang.StackTraceElement)"
    functionUses: 1
    ICount: 16
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:44"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:47"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:46"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:48"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:50"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:49,1"
      Dst: "[ch.qos.logback.classic.spi.StackTraceElementProxy].<init>(java.lang.StackTraceElement)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.StackTraceElementProxy].<init>(java.lang.StackTraceElement)"
    functionSourceFile: "ch.qos.logback.classic.spi.StackTraceElementProxy"
    linkageType: null
    functionLinenumber: 29
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.StackTraceElement"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.StackTraceElementProxy:31"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.StackTraceElementProxy:34"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.StackTraceElementProxy:33"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.StackTraceElementProxy:30,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.classic.spi.StackTraceElementProxy:32,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].steArrayToStepArray(java.lang.StackTraceElement[])"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxyUtil"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 1
    returnType: "ch.qos.logback.classic.spi.StackTraceElementProxy[]"
    argCount: 1
    argTypes:
    - "java.lang.StackTraceElement[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.StackTraceElementProxy].<init>(java.lang.StackTraceElement)"
    functionUses: 1
    ICount: 16
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:44"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:47"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:46"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:48"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:50"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:49,1"
      Dst: "[ch.qos.logback.classic.spi.StackTraceElementProxy].<init>(java.lang.StackTraceElement)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].findNumberOfCommonFrames(java.lang.StackTraceElement[],ch.qos.logback.classic.spi.StackTraceElementProxy[])"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxyUtil"
    linkageType: null
    functionLinenumber: 54
    functionDepth: 0
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.lang.StackTraceElement[]"
    - "ch.qos.logback.classic.spi.StackTraceElementProxy[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StackTraceElement].equals(java.lang.Object)"
    functionUses: 2
    ICount: 24
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:55"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:56"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:55"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:55"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:59"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:58"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:62"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:73"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:72"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:62"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:73"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:72"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:65"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:73"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:72"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:65,1"
      Dst: "[java.lang.StackTraceElement].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].asString(ch.qos.logback.classic.spi.IThrowableProxy)"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxyUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 5
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.IThrowableProxy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>(int)"
    - "[ch.qos.logback.classic.spi.ThrowableProxyUtil].recursiveAppend(java.lang.StringBuilder,java.lang.String,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:77,1"
      Dst: "[java.lang.StringBuilder].<init>(int)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:79,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].recursiveAppend(java.lang.StringBuilder,java.lang.String,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:81,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].recursiveAppend(java.lang.StringBuilder,java.lang.String,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxyUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.lang.StringBuilder"
    - "java.lang.String"
    - "int"
    - "ch.qos.logback.classic.spi.IThrowableProxy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinFirstLine(java.lang.StringBuilder,java.lang.String,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinSTEPArray(java.lang.StringBuilder,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getSuppressed()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyUtil].recursiveAppend(java.lang.StringBuilder,java.lang.String,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getCause()"
    functionUses: 0
    ICount: 23
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:85"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:87"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:86"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:91"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:96"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:95"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:92"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:95"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:87,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinFirstLine(java.lang.StringBuilder,java.lang.String,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:88,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:89,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinSTEPArray(java.lang.StringBuilder,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:90,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getSuppressed()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:93,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].recursiveAppend(java.lang.StringBuilder,java.lang.String,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:96,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getCause()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinFirstLine(java.lang.StringBuilder,java.lang.String,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxyUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.lang.StringBuilder"
    - "java.lang.String"
    - "int"
    - "ch.qos.logback.classic.spi.IThrowableProxy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.ThrowableProxyUtil].indent(java.lang.StringBuilder,int)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinExceptionMessage(java.lang.StringBuilder,ch.qos.logback.classic.spi.IThrowableProxy)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:107"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:110"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:109"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:106,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].indent(java.lang.StringBuilder,int)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:108,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:110,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinExceptionMessage(java.lang.StringBuilder,ch.qos.logback.classic.spi.IThrowableProxy)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].indent(java.lang.StringBuilder,int)"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxyUtil"
    linkageType: null
    functionLinenumber: 99
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].append(char)"
    functionUses: 4
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:100"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:102"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:101,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinExceptionMessage(java.lang.StringBuilder,ch.qos.logback.classic.spi.IThrowableProxy)"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxyUtil"
    linkageType: null
    functionLinenumber: 184
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "ch.qos.logback.classic.spi.IThrowableProxy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].isCyclic()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].isCyclic()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].getClassName()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].getClassName()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].getMessage()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].getMessage()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].isCyclic()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getClassName()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getMessage()"
    - "[java.lang.StringBuilder].append(char)"
    functionUses: 1
    ICount: 18
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:185"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:189"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:188"
        BranchSideFuncs:
        - "getClassName()"
        - "getMessage()"
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:185,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].isCyclic()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:186,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:186,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getClassName()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:186,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getMessage()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:187,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinSTEPArray(java.lang.StringBuilder,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxyUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.StringBuilder"
    - "int"
    - "ch.qos.logback.classic.spi.IThrowableProxy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getStackTraceElementProxyArray()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getCommonFrames()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyUtil].indent(java.lang.StringBuilder,int)"
    - "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinSTEP(java.lang.StringBuilder,ch.qos.logback.classic.spi.StackTraceElementProxy)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(int)"
    functionUses: 0
    ICount: 24
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:154"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:160"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:161"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:167"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:166"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:151,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getStackTraceElementProxyArray()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:152,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getCommonFrames()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:156,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].indent(java.lang.StringBuilder,int)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:157,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinSTEP(java.lang.StringBuilder,ch.qos.logback.classic.spi.StackTraceElementProxy)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:158,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:163,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinSTEP(java.lang.StringBuilder,ch.qos.logback.classic.spi.StackTraceElementProxy)"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxyUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "ch.qos.logback.classic.spi.StackTraceElementProxy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.StackTraceElementProxy].toString()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinPackagingData(java.lang.StringBuilder,ch.qos.logback.classic.spi.StackTraceElementProxy)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:129,1"
      Dst: "[ch.qos.logback.classic.spi.StackTraceElementProxy].toString()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:129,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:130,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinPackagingData(java.lang.StringBuilder,ch.qos.logback.classic.spi.StackTraceElementProxy)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.StackTraceElementProxy].toString()"
    functionSourceFile: "ch.qos.logback.classic.spi.StackTraceElementProxy"
    linkageType: null
    functionLinenumber: 88
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.StackTraceElementProxy].getSTEAsString()"
    functionUses: 6
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.StackTraceElementProxy:89,1"
      Dst: "[ch.qos.logback.classic.spi.StackTraceElementProxy].getSTEAsString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinPackagingData(java.lang.StringBuilder,ch.qos.logback.classic.spi.StackTraceElementProxy)"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxyUtil"
    linkageType: null
    functionLinenumber: 113
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "ch.qos.logback.classic.spi.StackTraceElementProxy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.StackTraceElementProxy].getClassPackagingData()"
    - "[ch.qos.logback.classic.spi.ClassPackagingData].isExact()"
    - "[ch.qos.logback.classic.spi.ClassPackagingData].getCodeLocation()"
    - "[ch.qos.logback.classic.spi.ClassPackagingData].getVersion()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(char)"
    functionUses: 1
    ICount: 17
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:114"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:126"
        BranchSideFuncs:
        - "getClassPackagingData()"
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:125"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:116"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:126"
        BranchSideFuncs:
        - "isExact()"
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:125"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:117"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:120"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:119"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:115,1"
      Dst: "[ch.qos.logback.classic.spi.StackTraceElementProxy].getClassPackagingData()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:117,1"
      Dst: "[ch.qos.logback.classic.spi.ClassPackagingData].isExact()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:118,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:123,1"
      Dst: "[ch.qos.logback.classic.spi.ClassPackagingData].getCodeLocation()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:123,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:123,1"
      Dst: "[ch.qos.logback.classic.spi.ClassPackagingData].getVersion()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.classic.spi.StackTraceElementProxy].getClassPackagingData()"
    functionSourceFile: "ch.qos.logback.classic.spi.StackTraceElementProxy"
    linkageType: null
    functionLinenumber: 55
    functionDepth: 0
    returnType: "ch.qos.logback.classic.spi.ClassPackagingData"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.ClassPackagingData].isExact()"
    functionSourceFile: "ch.qos.logback.classic.spi.ClassPackagingData"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.ClassPackagingData].getCodeLocation()"
    functionSourceFile: "ch.qos.logback.classic.spi.ClassPackagingData"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.ClassPackagingData].getVersion()"
    functionSourceFile: "ch.qos.logback.classic.spi.ClassPackagingData"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].recursiveAppend(java.lang.StringBuilder,java.lang.String,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxyUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.lang.StringBuilder"
    - "java.lang.String"
    - "int"
    - "ch.qos.logback.classic.spi.IThrowableProxy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinFirstLine(java.lang.StringBuilder,java.lang.String,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinSTEPArray(java.lang.StringBuilder,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getSuppressed()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyUtil].recursiveAppend(java.lang.StringBuilder,java.lang.String,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getCause()"
    functionUses: 0
    ICount: 23
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:85"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:87"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:86"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:91"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:96"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:95"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:92"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:95"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:87,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinFirstLine(java.lang.StringBuilder,java.lang.String,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:88,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:89,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinSTEPArray(java.lang.StringBuilder,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:90,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getSuppressed()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:93,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].recursiveAppend(java.lang.StringBuilder,java.lang.String,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:96,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getCause()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].indent(java.lang.StringBuilder,int)"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxyUtil"
    linkageType: null
    functionLinenumber: 99
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].append(char)"
    functionUses: 4
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:100"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:102"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:101,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinFirstLine(java.lang.StringBuilder,java.lang.String,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxyUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.lang.StringBuilder"
    - "java.lang.String"
    - "int"
    - "ch.qos.logback.classic.spi.IThrowableProxy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.ThrowableProxyUtil].indent(java.lang.StringBuilder,int)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinExceptionMessage(java.lang.StringBuilder,ch.qos.logback.classic.spi.IThrowableProxy)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:107"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:110"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:109"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:106,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].indent(java.lang.StringBuilder,int)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:108,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:110,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinExceptionMessage(java.lang.StringBuilder,ch.qos.logback.classic.spi.IThrowableProxy)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinPackagingData(java.lang.StringBuilder,ch.qos.logback.classic.spi.StackTraceElementProxy)"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxyUtil"
    linkageType: null
    functionLinenumber: 113
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "ch.qos.logback.classic.spi.StackTraceElementProxy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.StackTraceElementProxy].getClassPackagingData()"
    - "[ch.qos.logback.classic.spi.ClassPackagingData].isExact()"
    - "[ch.qos.logback.classic.spi.ClassPackagingData].getCodeLocation()"
    - "[ch.qos.logback.classic.spi.ClassPackagingData].getVersion()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(char)"
    functionUses: 1
    ICount: 17
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:114"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:126"
        BranchSideFuncs:
        - "getClassPackagingData()"
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:125"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:116"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:126"
        BranchSideFuncs:
        - "isExact()"
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:125"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:117"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:120"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:119"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:115,1"
      Dst: "[ch.qos.logback.classic.spi.StackTraceElementProxy].getClassPackagingData()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:117,1"
      Dst: "[ch.qos.logback.classic.spi.ClassPackagingData].isExact()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:118,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:123,1"
      Dst: "[ch.qos.logback.classic.spi.ClassPackagingData].getCodeLocation()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:123,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:123,1"
      Dst: "[ch.qos.logback.classic.spi.ClassPackagingData].getVersion()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinSTEP(java.lang.StringBuilder,ch.qos.logback.classic.spi.StackTraceElementProxy)"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxyUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "ch.qos.logback.classic.spi.StackTraceElementProxy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.StackTraceElementProxy].toString()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinPackagingData(java.lang.StringBuilder,ch.qos.logback.classic.spi.StackTraceElementProxy)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:129,1"
      Dst: "[ch.qos.logback.classic.spi.StackTraceElementProxy].toString()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:129,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:130,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinPackagingData(java.lang.StringBuilder,ch.qos.logback.classic.spi.StackTraceElementProxy)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinSTEPArray(java.lang.StringBuilder,ch.qos.logback.classic.spi.IThrowableProxy)"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxyUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "ch.qos.logback.classic.spi.IThrowableProxy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinSTEPArray(java.lang.StringBuilder,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:141,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinSTEPArray(java.lang.StringBuilder,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinSTEPArray(java.lang.StringBuilder,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxyUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.StringBuilder"
    - "int"
    - "ch.qos.logback.classic.spi.IThrowableProxy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getStackTraceElementProxyArray()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getCommonFrames()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyUtil].indent(java.lang.StringBuilder,int)"
    - "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinSTEP(java.lang.StringBuilder,ch.qos.logback.classic.spi.StackTraceElementProxy)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(int)"
    functionUses: 0
    ICount: 24
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:154"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:160"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:161"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:167"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:166"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:151,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getStackTraceElementProxyArray()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:152,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getCommonFrames()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:156,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].indent(java.lang.StringBuilder,int)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:157,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinSTEP(java.lang.StringBuilder,ch.qos.logback.classic.spi.StackTraceElementProxy)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:158,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:163,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinSTEPArray(java.lang.StringBuilder,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxyUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.StringBuilder"
    - "int"
    - "ch.qos.logback.classic.spi.IThrowableProxy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getStackTraceElementProxyArray()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getCommonFrames()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyUtil].indent(java.lang.StringBuilder,int)"
    - "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinSTEP(java.lang.StringBuilder,ch.qos.logback.classic.spi.StackTraceElementProxy)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(int)"
    functionUses: 0
    ICount: 24
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:154"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:160"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:161"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:167"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:166"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:151,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getStackTraceElementProxyArray()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:152,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getCommonFrames()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:156,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].indent(java.lang.StringBuilder,int)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:157,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinSTEP(java.lang.StringBuilder,ch.qos.logback.classic.spi.StackTraceElementProxy)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:158,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:163,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinFirstLine(java.lang.StringBuilder,ch.qos.logback.classic.spi.IThrowableProxy)"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxyUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "ch.qos.logback.classic.spi.IThrowableProxy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getCommonFrames()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinExceptionMessage(java.lang.StringBuilder,ch.qos.logback.classic.spi.IThrowableProxy)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:171"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:174"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:173"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:170,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getCommonFrames()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:172,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:174,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinExceptionMessage(java.lang.StringBuilder,ch.qos.logback.classic.spi.IThrowableProxy)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinExceptionMessage(java.lang.StringBuilder,ch.qos.logback.classic.spi.IThrowableProxy)"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxyUtil"
    linkageType: null
    functionLinenumber: 184
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "ch.qos.logback.classic.spi.IThrowableProxy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].isCyclic()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].isCyclic()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].getClassName()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].getClassName()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].getMessage()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].getMessage()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].isCyclic()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getClassName()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getMessage()"
    - "[java.lang.StringBuilder].append(char)"
    functionUses: 1
    ICount: 18
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:185"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:189"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:188"
        BranchSideFuncs:
        - "getClassName()"
        - "getMessage()"
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:185,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].isCyclic()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:186,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:186,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getClassName()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:186,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getMessage()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:187,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinFirstLineRootCauseFirst(java.lang.StringBuilder,ch.qos.logback.classic.spi.IThrowableProxy)"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxyUtil"
    linkageType: null
    functionLinenumber: 177
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "ch.qos.logback.classic.spi.IThrowableProxy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.ThrowableProxy].getCause()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].getCause()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinExceptionMessage(java.lang.StringBuilder,ch.qos.logback.classic.spi.IThrowableProxy)"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getCause()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 1
    ICount: 7
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:178"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:181"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:180"
        BranchSideFuncs:
        - "subjoinExceptionMessage(java.lang.StringBuilder,ch.qos.logback.classic.spi.IThrowableProxy)"
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:178,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getCause()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:179,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:181,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinExceptionMessage(java.lang.StringBuilder,ch.qos.logback.classic.spi.IThrowableProxy)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinExceptionMessage(java.lang.StringBuilder,ch.qos.logback.classic.spi.IThrowableProxy)"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxyUtil"
    linkageType: null
    functionLinenumber: 184
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "ch.qos.logback.classic.spi.IThrowableProxy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].isCyclic()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].isCyclic()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].getClassName()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].getClassName()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].getMessage()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].getMessage()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].isCyclic()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getClassName()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getMessage()"
    - "[java.lang.StringBuilder].append(char)"
    functionUses: 1
    ICount: 18
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:185"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:189"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:188"
        BranchSideFuncs:
        - "getClassName()"
        - "getMessage()"
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:185,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].isCyclic()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:186,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:186,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getClassName()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:186,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getMessage()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:187,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinExceptionMessage(java.lang.StringBuilder,ch.qos.logback.classic.spi.IThrowableProxy)"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxyUtil"
    linkageType: null
    functionLinenumber: 184
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "ch.qos.logback.classic.spi.IThrowableProxy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].isCyclic()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].isCyclic()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].getClassName()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].getClassName()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].getMessage()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].getMessage()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].isCyclic()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getClassName()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getMessage()"
    - "[java.lang.StringBuilder].append(char)"
    functionUses: 1
    ICount: 18
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:185"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:189"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:188"
        BranchSideFuncs:
        - "getClassName()"
        - "getMessage()"
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:185,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].isCyclic()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:186,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:186,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getClassName()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:186,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getMessage()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:187,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.read.CyclicBufferAppender].<init>()"
    functionSourceFile: "ch.qos.logback.core.read.CyclicBufferAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.AppenderBase].<init>()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.read.CyclicBufferAppender:27,1"
      Dst: "[ch.qos.logback.core.AppenderBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.read.CyclicBufferAppender].start()"
    functionSourceFile: "ch.qos.logback.core.read.CyclicBufferAppender"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.helpers.CyclicBuffer].<init>(int)"
    - "[ch.qos.logback.core.AppenderBase].start()"
    functionUses: 6
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.read.CyclicBufferAppender:33,1"
      Dst: "[ch.qos.logback.core.helpers.CyclicBuffer].<init>(int)"
    - Src: "ch.qos.logback.core.read.CyclicBufferAppender:34,1"
      Dst: "[ch.qos.logback.core.AppenderBase].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.helpers.CyclicBuffer].<init>(int)"
    functionSourceFile: "ch.qos.logback.core.helpers.CyclicBuffer"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.helpers.CyclicBuffer].init(int)"
    - "[java.lang.Object].<init>()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 3
    ICount: 10
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.helpers.CyclicBuffer:44"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:47"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:46"
        BranchSideFuncs:
        - "init(int)"
    Callsites:
    - Src: "ch.qos.logback.core.helpers.CyclicBuffer:43,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.helpers.CyclicBuffer:45,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - Src: "ch.qos.logback.core.helpers.CyclicBuffer:45,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.helpers.CyclicBuffer:47,1"
      Dst: "[ch.qos.logback.core.helpers.CyclicBuffer].init(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.helpers.CyclicBuffer].init(int)"
    functionSourceFile: "ch.qos.logback.core.helpers.CyclicBuffer"
    linkageType: null
    functionLinenumber: 61
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.read.CyclicBufferAppender].stop()"
    functionSourceFile: "ch.qos.logback.core.read.CyclicBufferAppender"
    linkageType: null
    functionLinenumber: 37
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.AppenderBase].stop()"
    functionUses: 4
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.read.CyclicBufferAppender:39,1"
      Dst: "[ch.qos.logback.core.AppenderBase].stop()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.read.CyclicBufferAppender].append(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.read.CyclicBufferAppender"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.AppenderBase].isStarted()"
    - "[ch.qos.logback.core.helpers.CyclicBuffer].add(java.lang.Object)"
    functionUses: 1
    ICount: 8
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.read.CyclicBufferAppender:44"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.read.CyclicBufferAppender:47"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.read.CyclicBufferAppender:46"
        BranchSideFuncs:
        - "add(java.lang.Object)"
    Callsites:
    - Src: "ch.qos.logback.core.read.CyclicBufferAppender:44,1"
      Dst: "[ch.qos.logback.core.AppenderBase].isStarted()"
    - Src: "ch.qos.logback.core.read.CyclicBufferAppender:47,1"
      Dst: "[ch.qos.logback.core.helpers.CyclicBuffer].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.helpers.CyclicBuffer].add(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.helpers.CyclicBuffer"
    linkageType: null
    functionLinenumber: 80
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 25
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.helpers.CyclicBuffer:82"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:85"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:84"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.helpers.CyclicBuffer:85"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:87"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:86"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.helpers.CyclicBuffer:87"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:89"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:88"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.read.CyclicBufferAppender].getLength()"
    functionSourceFile: "ch.qos.logback.core.read.CyclicBufferAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.AppenderBase].isStarted()"
    - "[ch.qos.logback.core.helpers.CyclicBuffer].length()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.read.CyclicBufferAppender:51"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.read.CyclicBufferAppender:54"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.read.CyclicBufferAppender:53"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.read.CyclicBufferAppender:51,1"
      Dst: "[ch.qos.logback.core.AppenderBase].isStarted()"
    - Src: "ch.qos.logback.core.read.CyclicBufferAppender:52,1"
      Dst: "[ch.qos.logback.core.helpers.CyclicBuffer].length()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.helpers.CyclicBuffer].length()"
    functionSourceFile: "ch.qos.logback.core.helpers.CyclicBuffer"
    linkageType: null
    functionLinenumber: 135
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.read.CyclicBufferAppender].get(int)"
    functionSourceFile: "ch.qos.logback.core.read.CyclicBufferAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.AppenderBase].isStarted()"
    - "[ch.qos.logback.core.helpers.CyclicBuffer].get(int)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.read.CyclicBufferAppender:59"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.read.CyclicBufferAppender:62"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.read.CyclicBufferAppender:61"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.read.CyclicBufferAppender:59,1"
      Dst: "[ch.qos.logback.core.AppenderBase].isStarted()"
    - Src: "ch.qos.logback.core.read.CyclicBufferAppender:60,1"
      Dst: "[ch.qos.logback.core.helpers.CyclicBuffer].get(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.helpers.CyclicBuffer].get(int)"
    functionSourceFile: "ch.qos.logback.core.helpers.CyclicBuffer"
    linkageType: null
    functionLinenumber: 96
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.helpers.CyclicBuffer:97"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:98"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:97"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.helpers.CyclicBuffer:97"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:100"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:99"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.read.CyclicBufferAppender].reset()"
    functionSourceFile: "ch.qos.logback.core.read.CyclicBufferAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.helpers.CyclicBuffer].clear()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.read.CyclicBufferAppender:67,1"
      Dst: "[ch.qos.logback.core.helpers.CyclicBuffer].clear()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.helpers.CyclicBuffer].clear()"
    functionSourceFile: "ch.qos.logback.core.helpers.CyclicBuffer"
    linkageType: null
    functionLinenumber: 72
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.helpers.CyclicBuffer].init(int)"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.helpers.CyclicBuffer:73,1"
      Dst: "[ch.qos.logback.core.helpers.CyclicBuffer].init(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.helpers.CyclicBuffer].init(int)"
    functionSourceFile: "ch.qos.logback.core.helpers.CyclicBuffer"
    linkageType: null
    functionLinenumber: 61
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.read.CyclicBufferAppender].getMaxSize()"
    functionSourceFile: "ch.qos.logback.core.read.CyclicBufferAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.read.CyclicBufferAppender].setMaxSize(int)"
    functionSourceFile: "ch.qos.logback.core.read.CyclicBufferAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__50].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__50"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__50].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__50:-1,1"
      Dst: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__50].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__50].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__50"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__50:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__50].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__50"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__50:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__50].get()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__50"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.conditional.IfAction].<init>()"
    functionUses: 3
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__50:-1,1"
      Dst: "[ch.qos.logback.core.joran.conditional.IfAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.conditional.IfAction].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.conditional.IfAction"
    linkageType: null
    functionLinenumber: 24
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.conditional.IfAction:25,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover$ArchiveRemoverRunnable].<init>(ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover,java.time.Instant)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover$ArchiveRemoverRunnable"
    linkageType: null
    functionLinenumber: 252
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover"
    - "java.time.Instant"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover$ArchiveRemoverRunnable:253,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover$ArchiveRemoverRunnable].run()"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover$ArchiveRemoverRunnable"
    linkageType: null
    functionLinenumber: 258
    functionDepth: 7
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].clean(java.time.Instant)"
    - "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].capTotalSize(java.time.Instant)"
    functionUses: 2
    ICount: 17
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover$ArchiveRemoverRunnable:260"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover$ArchiveRemoverRunnable:263"
        BranchSideFuncs:
        - "capTotalSize(java.time.Instant)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover$ArchiveRemoverRunnable:262"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover$ArchiveRemoverRunnable:260"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover$ArchiveRemoverRunnable:263"
        BranchSideFuncs:
        - "capTotalSize(java.time.Instant)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover$ArchiveRemoverRunnable:262"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover$ArchiveRemoverRunnable:259,1"
      Dst: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].clean(java.time.Instant)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover$ArchiveRemoverRunnable:261,1"
      Dst: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].capTotalSize(java.time.Instant)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].clean(java.time.Instant)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover"
    linkageType: null
    functionLinenumber: 64
    functionDepth: 6
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.time.Instant"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].computeElapsedPeriodsSinceLastClean(long)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].getPeriodOffsetForDeletionTarget()"
    - "[ch.qos.logback.core.rolling.helper.RollingCalendar].getEndOfNextNthPeriod(java.time.Instant,int)"
    - "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].cleanPeriod(java.time.Instant)"
    - "[java.time.Instant].toEpochMilli()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    functionUses: 1
    ICount: 18
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:69"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:73"
        BranchSideFuncs:
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:72"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:73"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:77"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:65,1"
      Dst: "[java.time.Instant].toEpochMilli()"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:67,1"
      Dst: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].computeElapsedPeriodsSinceLastClean(long)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:70,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:70,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:74,1"
      Dst: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].getPeriodOffsetForDeletionTarget()"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:75,1"
      Dst: "[ch.qos.logback.core.rolling.helper.RollingCalendar].getEndOfNextNthPeriod(java.time.Instant,int)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:76,1"
      Dst: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].cleanPeriod(java.time.Instant)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].computeElapsedPeriodsSinceLastClean(long)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover"
    linkageType: null
    functionLinenumber: 158
    functionDepth: 4
    returnType: "int"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.rolling.helper.RollingCalendar].periodBarriersCrossed(long,long)"
    - "[java.lang.Math].min(long,long)"
    functionUses: 1
    ICount: 16
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:159"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:164"
        BranchSideFuncs:
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:163"
        BranchSideFuncs:
        - "periodBarriersCrossed(long,long)"
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:160,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:161,1"
      Dst: "[ch.qos.logback.core.rolling.helper.RollingCalendar].periodBarriersCrossed(long,long)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:162,1"
      Dst: "[java.lang.Math].min(long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.RollingCalendar].periodBarriersCrossed(long,long)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.RollingCalendar"
    linkageType: null
    functionLinenumber: 185
    functionDepth: 3
    returnType: "long"
    argCount: 2
    argTypes:
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.RollingCalendar].getStartOfCurrentPeriodWithGMTOffsetCorrection(long,java.util.TimeZone)"
    - "[ch.qos.logback.core.rolling.helper.RollingCalendar].diffInMonths(long,long)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.util.GregorianCalendar].getTimeZone()"
    - "[java.lang.Enum].ordinal()"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 2
    ICount: 36
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.RollingCalendar:186"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.RollingCalendar:189"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.RollingCalendar:188"
        BranchSideFuncs:
        - "getStartOfCurrentPeriodWithGMTOffsetCorrection(long,java.util.TimeZone)"
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:187,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:189,1"
      Dst: "[java.util.GregorianCalendar].getTimeZone()"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:189,1"
      Dst: "[ch.qos.logback.core.rolling.helper.RollingCalendar].getStartOfCurrentPeriodWithGMTOffsetCorrection(long,java.util.TimeZone)"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:194,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:209,1"
      Dst: "[ch.qos.logback.core.rolling.helper.RollingCalendar].diffInMonths(long,long)"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:211,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 11
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.RollingCalendar].getStartOfCurrentPeriodWithGMTOffsetCorrection(long,java.util.TimeZone)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.RollingCalendar"
    linkageType: null
    functionLinenumber: 303
    functionDepth: 2
    returnType: "long"
    argCount: 2
    argTypes:
    - "long"
    - "java.util.TimeZone"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.RollingCalendar].getEndOfNextNthPeriod(java.time.Instant,int)"
    - "[java.util.Calendar].getInstance(java.util.TimeZone)"
    - "[java.util.Calendar].setTimeInMillis(long)"
    - "[java.util.Calendar].getTimeInMillis()"
    - "[java.time.Instant].ofEpochMilli(long)"
    - "[java.time.Instant].toEpochMilli()"
    - "[java.util.Calendar].get(int)"
    functionUses: 2
    ICount: 18
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:304,1"
      Dst: "[java.util.Calendar].getInstance(java.util.TimeZone)"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:305,1"
      Dst: "[java.util.Calendar].setTimeInMillis(long)"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:306,1"
      Dst: "[java.util.Calendar].getTimeInMillis()"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:306,1"
      Dst: "[java.time.Instant].ofEpochMilli(long)"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:307,1"
      Dst: "[ch.qos.logback.core.rolling.helper.RollingCalendar].getEndOfNextNthPeriod(java.time.Instant,int)"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:310,1"
      Dst: "[java.time.Instant].toEpochMilli()"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:311,1"
      Dst: "[java.util.Calendar].get(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.RollingCalendar].getEndOfNextNthPeriod(java.time.Instant,int)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.RollingCalendar"
    linkageType: null
    functionLinenumber: 290
    functionDepth: 1
    returnType: "java.time.Instant"
    argCount: 2
    argTypes:
    - "java.time.Instant"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.RollingCalendar].innerGetEndOfNextNthPeriod(java.util.Calendar,ch.qos.logback.core.rolling.helper.PeriodicityType,java.time.Instant,int)"
    functionUses: 4
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:291,1"
      Dst: "[ch.qos.logback.core.rolling.helper.RollingCalendar].innerGetEndOfNextNthPeriod(java.util.Calendar,ch.qos.logback.core.rolling.helper.PeriodicityType,java.time.Instant,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.RollingCalendar].innerGetEndOfNextNthPeriod(java.util.Calendar,ch.qos.logback.core.rolling.helper.PeriodicityType,java.time.Instant,int)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.RollingCalendar"
    linkageType: null
    functionLinenumber: 232
    functionDepth: 0
    returnType: "java.time.Instant"
    argCount: 4
    argTypes:
    - "java.util.Calendar"
    - "ch.qos.logback.core.rolling.helper.PeriodicityType"
    - "java.time.Instant"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.time.Instant].toEpochMilli()"
    - "[java.util.Calendar].setTimeInMillis(long)"
    - "[java.lang.Enum].ordinal()"
    - "[java.util.Calendar].add(int,int)"
    - "[java.util.Calendar].set(int,int)"
    - "[java.util.Calendar].getFirstDayOfWeek()"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - "[java.util.Calendar].getTimeInMillis()"
    - "[java.time.Instant].ofEpochMilli(long)"
    functionUses: 2
    ICount: 51
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:233,1"
      Dst: "[java.time.Instant].toEpochMilli()"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:233,1"
      Dst: "[java.util.Calendar].setTimeInMillis(long)"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:234,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:236,1"
      Dst: "[java.util.Calendar].add(int,int)"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:240,1"
      Dst: "[java.util.Calendar].set(int,int)"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:266,1"
      Dst: "[java.util.Calendar].getFirstDayOfWeek()"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:284,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:287,1"
      Dst: "[java.util.Calendar].getTimeInMillis()"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:287,1"
      Dst: "[java.time.Instant].ofEpochMilli(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 7
  - functionName: "[ch.qos.logback.core.rolling.helper.RollingCalendar].diffInMonths(long,long)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.RollingCalendar"
    linkageType: null
    functionLinenumber: 215
    functionDepth: 0
    returnType: "int"
    argCount: 2
    argTypes:
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.util.Calendar].getInstance()"
    - "[java.util.Calendar].setTimeInMillis(long)"
    - "[java.util.Calendar].get(int)"
    functionUses: 1
    ICount: 21
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.RollingCalendar:216"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.RollingCalendar:218"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.RollingCalendar:217"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:217,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:218,1"
      Dst: "[java.util.Calendar].getInstance()"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:219,1"
      Dst: "[java.util.Calendar].setTimeInMillis(long)"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:222,1"
      Dst: "[java.util.Calendar].get(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].getPeriodOffsetForDeletionTarget()"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover"
    linkageType: null
    functionLinenumber: 236
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].cleanPeriod(java.time.Instant)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover"
    linkageType: null
    functionLinenumber: 95
    functionDepth: 5
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.time.Instant"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].getFilesInPeriod(java.time.Instant)"
    - "[ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover].getFilesInPeriod(java.time.Instant)"
    - "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].checkAndDeleteFile(java.io.File)"
    - "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].getParentDir(java.io.File)"
    - "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].removeFolderIfEmpty(java.io.File)"
    functionUses: 1
    ICount: 18
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:98"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:101"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:102"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:106"
        BranchSideFuncs:
        - "removeFolderIfEmpty(java.io.File)"
        - "getParentDir(java.io.File)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:105"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:102"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:106"
        BranchSideFuncs:
        - "removeFolderIfEmpty(java.io.File)"
        - "getParentDir(java.io.File)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:105"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:96,1"
      Dst: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].getFilesInPeriod(java.time.Instant)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:99,1"
      Dst: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].checkAndDeleteFile(java.io.File)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:103,1"
      Dst: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].getParentDir(java.io.File)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:104,1"
      Dst: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].removeFolderIfEmpty(java.io.File)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].getFilesInPeriod(java.time.Instant)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover"
    linkageType: null
    functionLinenumber: 80
    functionDepth: 1
    returnType: "java.io.File[]"
    argCount: 1
    argTypes:
    - "java.time.Instant"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].convert(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].fileExistsAndIsFile(java.io.File)"
    - "[java.io.File].<init>(java.lang.String)"
    functionUses: 2
    ICount: 13
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:84"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:87"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:86"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:81,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileNamePattern].convert(java.lang.Object)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:82,1"
      Dst: "[java.io.File].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:84,1"
      Dst: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].fileExistsAndIsFile(java.io.File)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.FileNamePattern].convert(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileNamePattern"
    linkageType: null
    functionLinenumber: 164
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.FileOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LocalSequenceNumberConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.SyslogStartConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.DateTokenConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.NopThrowableInformationConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.PrefixCompositeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.DateConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.RelativeTimeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.IntegerTokenConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.KeyValuePairConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LineSeparatorConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LineOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.PropertyConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LevelConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MDCConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MessageConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ThreadConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.NamedConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MethodOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MicrosecondConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ContextNameConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MarkerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.CompositeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.SequenceNumberConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.CallerDataConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.LiteralConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.Converter].getNext()"
    - "[java.lang.StringBuilder].<init>()"
    - "[ch.qos.logback.core.pattern.Converter].convert(java.lang.Object)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 5
    ICount: 12
    EdgeCount: 28
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:167"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:171"
        BranchSideFuncs:
        - "getNext()"
        - "convert(java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:170"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:165,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:168,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].convert(java.lang.Object)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:168,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:169,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].getNext()"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:171,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].fileExistsAndIsFile(java.io.File)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover"
    linkageType: null
    functionLinenumber: 91
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.File].exists()"
    - "[java.io.File].isFile()"
    functionUses: 1
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:92"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:91"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:92"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:91"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:92,1"
      Dst: "[java.io.File].exists()"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:92,1"
      Dst: "[java.io.File].isFile()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].checkAndDeleteFile(java.io.File)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover"
    linkageType: null
    functionLinenumber: 108
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File)"
    - "[java.io.File].exists()"
    - "[java.io.File].delete()"
    - "[java.io.File].toString()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 3
    ICount: 17
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:110"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:113"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:112"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:113"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:118"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:117"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:119"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:122"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:121"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:109,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:109,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:111,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:113,1"
      Dst: "[java.io.File].exists()"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:118,1"
      Dst: "[java.io.File].delete()"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:120,1"
      Dst: "[java.io.File].toString()"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:120,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 96
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].getParentDir(java.io.File)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover"
    linkageType: null
    functionLinenumber: 151
    functionDepth: 0
    returnType: "java.io.File"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.File].getAbsoluteFile()"
    - "[java.io.File].getParentFile()"
    functionUses: 2
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:152,1"
      Dst: "[java.io.File].getAbsoluteFile()"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:153,1"
      Dst: "[java.io.File].getParentFile()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].removeFolderIfEmpty(java.io.File)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover"
    linkageType: null
    functionLinenumber: 209
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].removeFolderIfEmpty(java.io.File,int)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:210,1"
      Dst: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].removeFolderIfEmpty(java.io.File,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].removeFolderIfEmpty(java.io.File,int)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover"
    linkageType: null
    functionLinenumber: 221
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.io.File"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.FileFilterUtil].isEmptyDirectory(java.io.File)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].checkAndDeleteFile(java.io.File)"
    - "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].removeFolderIfEmpty(java.io.File,int)"
    - "[java.io.File].isDirectory()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File)"
    - "[java.io.File].getParentFile()"
    functionUses: 2
    ICount: 16
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:222"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:225"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:224"
        BranchSideFuncs:
        - "isEmptyDirectory(java.io.File)"
    - Branch String: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:225"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:230"
        BranchSideFuncs:
        - "removeFolderIfEmpty(java.io.File,int)"
        - "checkAndDeleteFile(java.io.File)"
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:229"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:225"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:230"
        BranchSideFuncs:
        - "removeFolderIfEmpty(java.io.File,int)"
        - "checkAndDeleteFile(java.io.File)"
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:229"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:225,1"
      Dst: "[java.io.File].isDirectory()"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:225,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].isEmptyDirectory(java.io.File)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:226,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:226,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:227,1"
      Dst: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].checkAndDeleteFile(java.io.File)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:228,1"
      Dst: "[java.io.File].getParentFile()"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:228,1"
      Dst: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].removeFolderIfEmpty(java.io.File,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].isEmptyDirectory(java.io.File)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileFilterUtil"
    linkageType: null
    functionLinenumber: 54
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.File].isDirectory()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.io.File].list()"
    functionUses: 1
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.FileFilterUtil:55"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:58"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:57"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileFilterUtil:59"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:60"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:59"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileFilterUtil:59"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:62"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:61"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:55,1"
      Dst: "[java.io.File].isDirectory()"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:56,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File)"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:56,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:58,1"
      Dst: "[java.io.File].list()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].capTotalSize(java.time.Instant)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover"
    linkageType: null
    functionLinenumber: 125
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.time.Instant"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.RollingCalendar].getEndOfNextNthPeriod(java.time.Instant,int)"
    - "[ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover].getFilesInPeriod(java.time.Instant)"
    - "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].getFilesInPeriod(java.time.Instant)"
    - "[ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover].descendingSort(java.io.File[],java.time.Instant)"
    - "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].descendingSort(java.io.File[],java.time.Instant)"
    - "[ch.qos.logback.core.util.FileSize].<init>(long)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].checkAndDeleteFile(java.io.File)"
    - "[java.io.File].length()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File,ch.qos.logback.core.util.FileSize)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.util.FileSize)"
    functionUses: 1
    ICount: 38
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:128"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:144"
        BranchSideFuncs:
        - "getEndOfNextNthPeriod(java.time.Instant,int)"
        - "getFilesInPeriod(java.time.Instant)"
        - "descendingSort(java.io.File[],java.time.Instant)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:143"
        BranchSideFuncs:
        - "<init>(long)"
        - "addInfo(java.lang.String)"
    - Branch String: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:132"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:126"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:125"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:134"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:null"
        BranchSideFuncs:
        - "checkAndDeleteFile(java.io.File)"
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:129,1"
      Dst: "[ch.qos.logback.core.rolling.helper.RollingCalendar].getEndOfNextNthPeriod(java.time.Instant,int)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:130,1"
      Dst: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].getFilesInPeriod(java.time.Instant)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:131,1"
      Dst: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].descendingSort(java.io.File[],java.time.Instant)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:133,1"
      Dst: "[java.io.File].length()"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:135,1"
      Dst: "[ch.qos.logback.core.util.FileSize].<init>(long)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:135,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File,ch.qos.logback.core.util.FileSize)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:135,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:139,1"
      Dst: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].checkAndDeleteFile(java.io.File)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:144,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.util.FileSize)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].descendingSort(java.io.File[],java.time.Instant)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover"
    linkageType: null
    functionLinenumber: 148
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.io.File[]"
    - "java.time.Instant"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.FileSize].<init>(long)"
    functionSourceFile: "ch.qos.logback.core.util.FileSize"
    linkageType: null
    functionLinenumber: 49
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 2
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.FileSize:50,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.conditional.ElseModelHandler].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.model.processor.conditional.ElseModelHandler"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.conditional.ElseModelHandler:28,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.conditional.ElseModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.conditional.ElseModelHandler"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.conditional.ElseModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.conditional.ElseModelHandler:32,1"
      Dst: "[ch.qos.logback.core.model.processor.conditional.ElseModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.conditional.ElseModelHandler].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.model.processor.conditional.ElseModelHandler"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.conditional.ElseModelHandler:28,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.conditional.ElseModelHandler].getSupportedModelClass()"
    functionSourceFile: "ch.qos.logback.core.model.processor.conditional.ElseModelHandler"
    linkageType: null
    functionLinenumber: 36
    functionDepth: 0
    returnType: "java.lang.Class"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.conditional.ElseModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.conditional.ElseModelHandler"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekModel()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.model.Model].markAsSkipped()"
    - "[ch.qos.logback.core.model.conditional.IfModel].getBranchState()"
    - "[ch.qos.logback.core.model.Model].deepMarkAsSkipped()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.model.Model)"
    functionUses: 3
    ICount: 17
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.conditional.ElseModelHandler:47"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.conditional.ElseModelHandler:53"
        BranchSideFuncs:
        - "markAsSkipped()"
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.model.processor.conditional.ElseModelHandler:52"
        BranchSideFuncs:
        - "getBranchState()"
    - Branch String: "ch.qos.logback.core.model.processor.conditional.ElseModelHandler:54"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.conditional.ElseModelHandler:57"
        BranchSideFuncs:
        - "deepMarkAsSkipped()"
      - BranchSide: "ch.qos.logback.core.model.processor.conditional.ElseModelHandler:56"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.conditional.ElseModelHandler:45,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekModel()"
    - Src: "ch.qos.logback.core.model.processor.conditional.ElseModelHandler:48,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.model.processor.conditional.ElseModelHandler:48,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.conditional.ElseModelHandler:49,1"
      Dst: "[ch.qos.logback.core.model.Model].markAsSkipped()"
    - Src: "ch.qos.logback.core.model.processor.conditional.ElseModelHandler:54,1"
      Dst: "[ch.qos.logback.core.model.conditional.IfModel].getBranchState()"
    - Src: "ch.qos.logback.core.model.processor.conditional.ElseModelHandler:55,1"
      Dst: "[ch.qos.logback.core.model.Model].deepMarkAsSkipped()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekModel()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 0
    returnType: "ch.qos.logback.core.model.Model"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].peek()"
    functionUses: 4
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:101,1"
      Dst: "[java.util.Stack].peek()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].markAsSkipped()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 63
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 7
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.conditional.IfModel].getBranchState()"
    functionSourceFile: "ch.qos.logback.core.model.conditional.IfModel"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 0
    returnType: "ch.qos.logback.core.model.conditional.IfModel$BranchState"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].deepMarkAsSkipped()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 66
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].markAsSkipped()"
    - "[ch.qos.logback.core.model.Model].getSubModels()"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.model.Model].deepMarkAsSkipped()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    functionUses: 3
    ICount: 11
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.Model:68"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:71"
        BranchSideFuncs:
        - "deepMarkAsSkipped()"
        - "iterator()"
        - "getSubModels()"
      - BranchSide: "ch.qos.logback.core.model.Model:70"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:67,1"
      Dst: "[ch.qos.logback.core.model.Model].markAsSkipped()"
    - Src: "ch.qos.logback.core.model.Model:68,1"
      Dst: "[ch.qos.logback.core.model.Model].getSubModels()"
    - Src: "ch.qos.logback.core.model.Model:68,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.model.Model:68,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.model.Model:68,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.model.Model:69,1"
      Dst: "[ch.qos.logback.core.model.Model].deepMarkAsSkipped()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.model.Model].getSubModels()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 120
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 8
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.color.BoldRedCompositeConverter].<init>()"
    functionSourceFile: "ch.qos.logback.core.pattern.color.BoldRedCompositeConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.color.ForegroundCompositeConverterBase].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.color.BoldRedCompositeConverter:26,1"
      Dst: "[ch.qos.logback.core.pattern.color.ForegroundCompositeConverterBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.color.BoldRedCompositeConverter].getForegroundColorCode(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.pattern.color.BoldRedCompositeConverter"
    linkageType: null
    functionLinenumber: 29
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.RandomUtil].<init>()"
    functionSourceFile: "ch.qos.logback.core.testUtil.RandomUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.RandomUtil:18,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.RandomUtil].getRandomServerPort()"
    functionSourceFile: "ch.qos.logback.core.testUtil.RandomUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Random].nextInt(int)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.RandomUtil:23,1"
      Dst: "[java.util.Random].nextInt(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.RandomUtil].getPositiveInt()"
    functionSourceFile: "ch.qos.logback.core.testUtil.RandomUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Random].nextInt()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.testUtil.RandomUtil:30"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.testUtil.RandomUtil:33"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.testUtil.RandomUtil:32"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.RandomUtil:29,1"
      Dst: "[java.util.Random].nextInt()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.ContextBase$lambda_fireConfigurationEvent_0__2].bootstrap$(ch.qos.logback.core.spi.ConfigurationEvent)"
    functionSourceFile: "ch.qos.logback.core.ContextBase$lambda_fireConfigurationEvent_0__2"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Consumer"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.spi.ConfigurationEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase$lambda_fireConfigurationEvent_0__2].<init>(ch.qos.logback.core.spi.ConfigurationEvent)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase$lambda_fireConfigurationEvent_0__2:-1,1"
      Dst: "[ch.qos.logback.core.ContextBase$lambda_fireConfigurationEvent_0__2].<init>(ch.qos.logback.core.spi.ConfigurationEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase$lambda_fireConfigurationEvent_0__2].<init>(ch.qos.logback.core.spi.ConfigurationEvent)"
    functionSourceFile: "ch.qos.logback.core.ContextBase$lambda_fireConfigurationEvent_0__2"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.spi.ConfigurationEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase$lambda_fireConfigurationEvent_0__2:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase$lambda_fireConfigurationEvent_0__2].accept(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.ContextBase$lambda_fireConfigurationEvent_0__2"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].lambda$fireConfigurationEvent$0(ch.qos.logback.core.spi.ConfigurationEvent,ch.qos.logback.core.spi.ConfigurationEventListener)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase$lambda_fireConfigurationEvent_0__2:-1,1"
      Dst: "[ch.qos.logback.core.ContextBase].lambda$fireConfigurationEvent$0(ch.qos.logback.core.spi.ConfigurationEvent,ch.qos.logback.core.spi.ConfigurationEventListener)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].lambda$fireConfigurationEvent$0(ch.qos.logback.core.spi.ConfigurationEvent,ch.qos.logback.core.spi.ConfigurationEventListener)"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.spi.ConfigurationEvent"
    - "ch.qos.logback.core.spi.ConfigurationEventListener"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ConfigurationEventListener].listen(ch.qos.logback.core.spi.ConfigurationEvent)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase:332,1"
      Dst: "[ch.qos.logback.core.spi.ConfigurationEventListener].listen(ch.qos.logback.core.spi.ConfigurationEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.util.RestrictedEscapeUtil].<init>()"
    functionSourceFile: "ch.qos.logback.core.pattern.util.RestrictedEscapeUtil"
    linkageType: null
    functionLinenumber: 20
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.util.RestrictedEscapeUtil:21,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.util.RestrictedEscapeUtil].escape(java.lang.String,java.lang.StringBuffer,char,int)"
    functionSourceFile: "ch.qos.logback.core.pattern.util.RestrictedEscapeUtil"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 0
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.lang.String"
    - "java.lang.StringBuffer"
    - "char"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].indexOf(int)"
    - "[java.lang.StringBuffer].append(char)"
    - "[java.lang.StringBuffer].append(java.lang.String)"
    functionUses: 4
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.util.RestrictedEscapeUtil:24"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.util.RestrictedEscapeUtil:29"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.util.RestrictedEscapeUtil:28"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.util.RestrictedEscapeUtil:24,1"
      Dst: "[java.lang.String].indexOf(int)"
    - Src: "ch.qos.logback.core.pattern.util.RestrictedEscapeUtil:25,1"
      Dst: "[java.lang.StringBuffer].append(char)"
    - Src: "ch.qos.logback.core.pattern.util.RestrictedEscapeUtil:29,1"
      Dst: "[java.lang.StringBuffer].append(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.rolling.helper.FileFilterUtil$lambda_filesInFolderMatchingStemRegex_0__92].bootstrap$(java.util.regex.Pattern)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileFilterUtil$lambda_filesInFolderMatchingStemRegex_0__92"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.io.FilenameFilter"
    argCount: 1
    argTypes:
    - "java.util.regex.Pattern"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.FileFilterUtil$lambda_filesInFolderMatchingStemRegex_0__92].<init>(java.util.regex.Pattern)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil$lambda_filesInFolderMatchingStemRegex_0__92:-1,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileFilterUtil$lambda_filesInFolderMatchingStemRegex_0__92].<init>(java.util.regex.Pattern)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.FileFilterUtil$lambda_filesInFolderMatchingStemRegex_0__92].<init>(java.util.regex.Pattern)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileFilterUtil$lambda_filesInFolderMatchingStemRegex_0__92"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.regex.Pattern"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil$lambda_filesInFolderMatchingStemRegex_0__92:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.FileFilterUtil$lambda_filesInFolderMatchingStemRegex_0__92].<init>(java.util.regex.Pattern)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileFilterUtil$lambda_filesInFolderMatchingStemRegex_0__92"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.regex.Pattern"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil$lambda_filesInFolderMatchingStemRegex_0__92:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.FileFilterUtil$lambda_filesInFolderMatchingStemRegex_0__92].accept(java.io.File,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileFilterUtil$lambda_filesInFolderMatchingStemRegex_0__92"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.io.File"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.FileFilterUtil].lambda$filesInFolderMatchingStemRegex$0(java.util.regex.Pattern,java.io.File,java.lang.String)"
    functionUses: 2
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil$lambda_filesInFolderMatchingStemRegex_0__92:-1,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].lambda$filesInFolderMatchingStemRegex$0(java.util.regex.Pattern,java.io.File,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].lambda$filesInFolderMatchingStemRegex$0(java.util.regex.Pattern,java.io.File,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileFilterUtil"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 0
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "java.util.regex.Pattern"
    - "java.io.File"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - "[java.util.regex.Matcher].matches()"
    functionUses: 1
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:85,1"
      Dst: "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:85,1"
      Dst: "[java.util.regex.Matcher].matches()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.MethodOfCallerConverter].<init>()"
    functionSourceFile: "ch.qos.logback.classic.pattern.MethodOfCallerConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.ClassicConverter].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.MethodOfCallerConverter:20,1"
      Dst: "[ch.qos.logback.classic.pattern.ClassicConverter].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.MethodOfCallerConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.pattern.MethodOfCallerConverter"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].getCallerData()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getCallerData()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getCallerData()"
    - "[java.lang.StackTraceElement].getMethodName()"
    functionUses: 1
    ICount: 10
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.MethodOfCallerConverter:24"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.MethodOfCallerConverter:27"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.MethodOfCallerConverter:26"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.MethodOfCallerConverter:24"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.MethodOfCallerConverter:27"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.MethodOfCallerConverter:26"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.MethodOfCallerConverter:23,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getCallerData()"
    - Src: "ch.qos.logback.classic.pattern.MethodOfCallerConverter:25,1"
      Dst: "[java.lang.StackTraceElement].getMethodName()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.pattern.MethodOfCallerConverter].convert(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.pattern.MethodOfCallerConverter"
    linkageType: null
    functionLinenumber: 19
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.MethodOfCallerConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 11
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.MethodOfCallerConverter:20,1"
      Dst: "[ch.qos.logback.classic.pattern.MethodOfCallerConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.MethodOfCallerConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.pattern.MethodOfCallerConverter"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].getCallerData()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getCallerData()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getCallerData()"
    - "[java.lang.StackTraceElement].getMethodName()"
    functionUses: 1
    ICount: 10
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.MethodOfCallerConverter:24"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.MethodOfCallerConverter:27"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.MethodOfCallerConverter:26"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.MethodOfCallerConverter:24"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.MethodOfCallerConverter:27"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.MethodOfCallerConverter:26"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.MethodOfCallerConverter:23,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getCallerData()"
    - Src: "ch.qos.logback.classic.pattern.MethodOfCallerConverter:25,1"
      Dst: "[java.lang.StackTraceElement].getMethodName()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.action.ShutdownHookAction].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.action.ShutdownHookAction"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.ShutdownHookAction:29,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.ShutdownHookAction].validPreconditions(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.ShutdownHookAction"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 0
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.ShutdownHookAction].buildCurrentModel(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.ShutdownHookAction"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 3
    returnType: "ch.qos.logback.core.model.Model"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.ShutdownHookModel].<init>()"
    - "[org.xml.sax.helpers.AttributesImpl].getValue(java.lang.String)"
    - "[ch.qos.logback.core.model.ComponentModel].setClassName(java.lang.String)"
    - "[org.xml.sax.Attributes].getValue(java.lang.String)"
    functionUses: 1
    ICount: 9
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.ShutdownHookAction:40,1"
      Dst: "[ch.qos.logback.core.model.ShutdownHookModel].<init>()"
    - Src: "ch.qos.logback.core.joran.action.ShutdownHookAction:42,1"
      Dst: "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.ShutdownHookAction:43,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].setClassName(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ShutdownHookModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.ShutdownHookModel"
    linkageType: null
    functionLinenumber: 15
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.ComponentModel].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.ShutdownHookModel:16,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ComponentModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.ComponentModel"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 8
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.ComponentModel:24,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.ArrayList].<init>()"
    functionUses: 16
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:27,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.model.Model:40,1"
      Dst: "[java.util.ArrayList].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ComponentModel].setClassName(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.ComponentModel"
    linkageType: null
    functionLinenumber: 47
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 9
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.read.ListAppender].<init>()"
    functionSourceFile: "ch.qos.logback.core.read.ListAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.AppenderBase].<init>()"
    - "[java.util.ArrayList].<init>()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.read.ListAppender:21,1"
      Dst: "[ch.qos.logback.core.AppenderBase].<init>()"
    - Src: "ch.qos.logback.core.read.ListAppender:23,1"
      Dst: "[java.util.ArrayList].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.read.ListAppender].append(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.read.ListAppender"
    linkageType: null
    functionLinenumber: 25
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.read.ListAppender:26,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__36].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__36"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__36].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__36:-1,1"
      Dst: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__36].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__36].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__36"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__36:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__36].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__36"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__36:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__36].get()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__36"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.ImportAction].<init>()"
    functionUses: 3
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__36:-1,1"
      Dst: "[ch.qos.logback.core.joran.action.ImportAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.ImportAction].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.action.ImportAction"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.ImportAction:28,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.FileToBufferUtil].<init>()"
    functionSourceFile: "ch.qos.logback.core.testUtil.FileToBufferUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.FileToBufferUtil:28,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.FileToBufferUtil].readIntoList(java.io.File,java.util.List)"
    functionSourceFile: "ch.qos.logback.core.testUtil.FileToBufferUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.io.File"
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.File].getName()"
    - "[java.lang.String].endsWith(java.lang.String)"
    - "[ch.qos.logback.core.testUtil.FileToBufferUtil].gzFileReadIntoList(java.io.File,java.util.List)"
    - "[ch.qos.logback.core.testUtil.FileToBufferUtil].zipFileReadIntoList(java.io.File,java.util.List)"
    - "[ch.qos.logback.core.testUtil.FileToBufferUtil].regularReadIntoList(java.io.File,java.util.List)"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.testUtil.FileToBufferUtil:32"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.testUtil.FileToBufferUtil:34"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.testUtil.FileToBufferUtil:33"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.testUtil.FileToBufferUtil:34"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.testUtil.FileToBufferUtil:37"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.testUtil.FileToBufferUtil:36"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.FileToBufferUtil:32,1"
      Dst: "[java.io.File].getName()"
    - Src: "ch.qos.logback.core.testUtil.FileToBufferUtil:32,1"
      Dst: "[java.lang.String].endsWith(java.lang.String)"
    - Src: "ch.qos.logback.core.testUtil.FileToBufferUtil:33,1"
      Dst: "[ch.qos.logback.core.testUtil.FileToBufferUtil].gzFileReadIntoList(java.io.File,java.util.List)"
    - Src: "ch.qos.logback.core.testUtil.FileToBufferUtil:35,1"
      Dst: "[ch.qos.logback.core.testUtil.FileToBufferUtil].zipFileReadIntoList(java.io.File,java.util.List)"
    - Src: "ch.qos.logback.core.testUtil.FileToBufferUtil:37,1"
      Dst: "[ch.qos.logback.core.testUtil.FileToBufferUtil].regularReadIntoList(java.io.File,java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.testUtil.FileToBufferUtil].gzFileReadIntoList(java.io.File,java.util.List)"
    functionSourceFile: "ch.qos.logback.core.testUtil.FileToBufferUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.io.File"
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.FileInputStream].<init>(java.io.File)"
    - "[java.util.zip.GZIPInputStream].<init>(java.io.InputStream)"
    - "[ch.qos.logback.core.testUtil.FileToBufferUtil].readInputStream(java.io.InputStream,java.util.List)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.FileToBufferUtil:70,1"
      Dst: "[java.io.FileInputStream].<init>(java.io.File)"
    - Src: "ch.qos.logback.core.testUtil.FileToBufferUtil:71,1"
      Dst: "[java.util.zip.GZIPInputStream].<init>(java.io.InputStream)"
    - Src: "ch.qos.logback.core.testUtil.FileToBufferUtil:72,1"
      Dst: "[ch.qos.logback.core.testUtil.FileToBufferUtil].readInputStream(java.io.InputStream,java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.FileToBufferUtil].readInputStream(java.io.InputStream,java.util.List)"
    functionSourceFile: "ch.qos.logback.core.testUtil.FileToBufferUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.io.InputStream"
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.InputStreamReader].<init>(java.io.InputStream)"
    - "[java.io.BufferedReader].<init>(java.io.Reader)"
    - "[java.io.BufferedReader].readLine()"
    - "[java.util.List].add(java.lang.Object)"
    - "[java.io.BufferedReader].close()"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.testUtil.FileToBufferUtil:53"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.testUtil.FileToBufferUtil:56"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.testUtil.FileToBufferUtil:55"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.FileToBufferUtil:51,1"
      Dst: "[java.io.InputStreamReader].<init>(java.io.InputStream)"
    - Src: "ch.qos.logback.core.testUtil.FileToBufferUtil:51,1"
      Dst: "[java.io.BufferedReader].<init>(java.io.Reader)"
    - Src: "ch.qos.logback.core.testUtil.FileToBufferUtil:53,1"
      Dst: "[java.io.BufferedReader].readLine()"
    - Src: "ch.qos.logback.core.testUtil.FileToBufferUtil:54,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "ch.qos.logback.core.testUtil.FileToBufferUtil:56,1"
      Dst: "[java.io.BufferedReader].close()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.testUtil.FileToBufferUtil].zipFileReadIntoList(java.io.File,java.util.List)"
    functionSourceFile: "ch.qos.logback.core.testUtil.FileToBufferUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.io.File"
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File)"
    - "[java.io.PrintStream].println(java.lang.String)"
    - "[java.util.zip.ZipFile].<init>(java.io.File)"
    - "[java.util.zip.ZipFile].entries()"
    - "[java.util.Enumeration].nextElement()"
    - "[java.util.zip.ZipFile].getInputStream(java.util.zip.ZipEntry)"
    - "[ch.qos.logback.core.testUtil.FileToBufferUtil].readInputStream(java.io.InputStream,java.util.List)"
    - "[java.util.zip.ZipFile].close()"
    - "[java.lang.Throwable].addSuppressed(java.lang.Throwable)"
    functionUses: 0
    ICount: 21
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.FileToBufferUtil:42,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File)"
    - Src: "ch.qos.logback.core.testUtil.FileToBufferUtil:42,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    - Src: "ch.qos.logback.core.testUtil.FileToBufferUtil:43,1"
      Dst: "[java.util.zip.ZipFile].<init>(java.io.File)"
    - Src: "ch.qos.logback.core.testUtil.FileToBufferUtil:44,1"
      Dst: "[java.util.zip.ZipFile].entries()"
    - Src: "ch.qos.logback.core.testUtil.FileToBufferUtil:45,1"
      Dst: "[java.util.Enumeration].nextElement()"
    - Src: "ch.qos.logback.core.testUtil.FileToBufferUtil:46,1"
      Dst: "[java.util.zip.ZipFile].getInputStream(java.util.zip.ZipEntry)"
    - Src: "ch.qos.logback.core.testUtil.FileToBufferUtil:46,1"
      Dst: "[ch.qos.logback.core.testUtil.FileToBufferUtil].readInputStream(java.io.InputStream,java.util.List)"
    - Src: "ch.qos.logback.core.testUtil.FileToBufferUtil:47,1"
      Dst: "[java.util.zip.ZipFile].close()"
    - Src: "ch.qos.logback.core.testUtil.FileToBufferUtil:48,1"
      Dst: "[java.lang.Throwable].addSuppressed(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.FileToBufferUtil].regularReadIntoList(java.io.File,java.util.List)"
    functionSourceFile: "ch.qos.logback.core.testUtil.FileToBufferUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.io.File"
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.FileInputStream].<init>(java.io.File)"
    - "[java.io.InputStreamReader].<init>(java.io.InputStream)"
    - "[java.io.BufferedReader].<init>(java.io.Reader)"
    - "[java.io.BufferedReader].readLine()"
    - "[java.util.List].add(java.lang.Object)"
    - "[java.io.BufferedReader].close()"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.testUtil.FileToBufferUtil:63"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.testUtil.FileToBufferUtil:66"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.testUtil.FileToBufferUtil:65"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.FileToBufferUtil:60,1"
      Dst: "[java.io.FileInputStream].<init>(java.io.File)"
    - Src: "ch.qos.logback.core.testUtil.FileToBufferUtil:61,1"
      Dst: "[java.io.InputStreamReader].<init>(java.io.InputStream)"
    - Src: "ch.qos.logback.core.testUtil.FileToBufferUtil:61,1"
      Dst: "[java.io.BufferedReader].<init>(java.io.Reader)"
    - Src: "ch.qos.logback.core.testUtil.FileToBufferUtil:63,1"
      Dst: "[java.io.BufferedReader].readLine()"
    - Src: "ch.qos.logback.core.testUtil.FileToBufferUtil:64,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "ch.qos.logback.core.testUtil.FileToBufferUtil:66,1"
      Dst: "[java.io.BufferedReader].close()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.testUtil.FileToBufferUtil].zipFileReadIntoList(java.io.File,java.util.List)"
    functionSourceFile: "ch.qos.logback.core.testUtil.FileToBufferUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.io.File"
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File)"
    - "[java.io.PrintStream].println(java.lang.String)"
    - "[java.util.zip.ZipFile].<init>(java.io.File)"
    - "[java.util.zip.ZipFile].entries()"
    - "[java.util.Enumeration].nextElement()"
    - "[java.util.zip.ZipFile].getInputStream(java.util.zip.ZipEntry)"
    - "[ch.qos.logback.core.testUtil.FileToBufferUtil].readInputStream(java.io.InputStream,java.util.List)"
    - "[java.util.zip.ZipFile].close()"
    - "[java.lang.Throwable].addSuppressed(java.lang.Throwable)"
    functionUses: 0
    ICount: 21
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.FileToBufferUtil:42,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File)"
    - Src: "ch.qos.logback.core.testUtil.FileToBufferUtil:42,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    - Src: "ch.qos.logback.core.testUtil.FileToBufferUtil:43,1"
      Dst: "[java.util.zip.ZipFile].<init>(java.io.File)"
    - Src: "ch.qos.logback.core.testUtil.FileToBufferUtil:44,1"
      Dst: "[java.util.zip.ZipFile].entries()"
    - Src: "ch.qos.logback.core.testUtil.FileToBufferUtil:45,1"
      Dst: "[java.util.Enumeration].nextElement()"
    - Src: "ch.qos.logback.core.testUtil.FileToBufferUtil:46,1"
      Dst: "[java.util.zip.ZipFile].getInputStream(java.util.zip.ZipEntry)"
    - Src: "ch.qos.logback.core.testUtil.FileToBufferUtil:46,1"
      Dst: "[ch.qos.logback.core.testUtil.FileToBufferUtil].readInputStream(java.io.InputStream,java.util.List)"
    - Src: "ch.qos.logback.core.testUtil.FileToBufferUtil:47,1"
      Dst: "[java.util.zip.ZipFile].close()"
    - Src: "ch.qos.logback.core.testUtil.FileToBufferUtil:48,1"
      Dst: "[java.lang.Throwable].addSuppressed(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.FileToBufferUtil].readInputStream(java.io.InputStream,java.util.List)"
    functionSourceFile: "ch.qos.logback.core.testUtil.FileToBufferUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.io.InputStream"
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.InputStreamReader].<init>(java.io.InputStream)"
    - "[java.io.BufferedReader].<init>(java.io.Reader)"
    - "[java.io.BufferedReader].readLine()"
    - "[java.util.List].add(java.lang.Object)"
    - "[java.io.BufferedReader].close()"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.testUtil.FileToBufferUtil:53"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.testUtil.FileToBufferUtil:56"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.testUtil.FileToBufferUtil:55"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.FileToBufferUtil:51,1"
      Dst: "[java.io.InputStreamReader].<init>(java.io.InputStream)"
    - Src: "ch.qos.logback.core.testUtil.FileToBufferUtil:51,1"
      Dst: "[java.io.BufferedReader].<init>(java.io.Reader)"
    - Src: "ch.qos.logback.core.testUtil.FileToBufferUtil:53,1"
      Dst: "[java.io.BufferedReader].readLine()"
    - Src: "ch.qos.logback.core.testUtil.FileToBufferUtil:54,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "ch.qos.logback.core.testUtil.FileToBufferUtil:56,1"
      Dst: "[java.io.BufferedReader].close()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.testUtil.FileToBufferUtil].regularReadIntoList(java.io.File,java.util.List)"
    functionSourceFile: "ch.qos.logback.core.testUtil.FileToBufferUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.io.File"
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.FileInputStream].<init>(java.io.File)"
    - "[java.io.InputStreamReader].<init>(java.io.InputStream)"
    - "[java.io.BufferedReader].<init>(java.io.Reader)"
    - "[java.io.BufferedReader].readLine()"
    - "[java.util.List].add(java.lang.Object)"
    - "[java.io.BufferedReader].close()"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.testUtil.FileToBufferUtil:63"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.testUtil.FileToBufferUtil:66"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.testUtil.FileToBufferUtil:65"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.FileToBufferUtil:60,1"
      Dst: "[java.io.FileInputStream].<init>(java.io.File)"
    - Src: "ch.qos.logback.core.testUtil.FileToBufferUtil:61,1"
      Dst: "[java.io.InputStreamReader].<init>(java.io.InputStream)"
    - Src: "ch.qos.logback.core.testUtil.FileToBufferUtil:61,1"
      Dst: "[java.io.BufferedReader].<init>(java.io.Reader)"
    - Src: "ch.qos.logback.core.testUtil.FileToBufferUtil:63,1"
      Dst: "[java.io.BufferedReader].readLine()"
    - Src: "ch.qos.logback.core.testUtil.FileToBufferUtil:64,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "ch.qos.logback.core.testUtil.FileToBufferUtil:66,1"
      Dst: "[java.io.BufferedReader].close()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.testUtil.FileToBufferUtil].gzFileReadIntoList(java.io.File,java.util.List)"
    functionSourceFile: "ch.qos.logback.core.testUtil.FileToBufferUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.io.File"
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.FileInputStream].<init>(java.io.File)"
    - "[java.util.zip.GZIPInputStream].<init>(java.io.InputStream)"
    - "[ch.qos.logback.core.testUtil.FileToBufferUtil].readInputStream(java.io.InputStream,java.util.List)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.FileToBufferUtil:70,1"
      Dst: "[java.io.FileInputStream].<init>(java.io.File)"
    - Src: "ch.qos.logback.core.testUtil.FileToBufferUtil:71,1"
      Dst: "[java.util.zip.GZIPInputStream].<init>(java.io.InputStream)"
    - Src: "ch.qos.logback.core.testUtil.FileToBufferUtil:72,1"
      Dst: "[ch.qos.logback.core.testUtil.FileToBufferUtil].readInputStream(java.io.InputStream,java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler"
    linkageType: null
    functionLinenumber: 16
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler:17,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler"
    linkageType: null
    functionLinenumber: 20
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler:21,1"
      Dst: "[ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler"
    linkageType: null
    functionLinenumber: 16
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler:17,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler].getSupportedModelClass()"
    functionSourceFile: "ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler"
    linkageType: null
    functionLinenumber: 25
    functionDepth: 0
    returnType: "java.lang.Class"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler"
    linkageType: null
    functionLinenumber: 30
    functionDepth: 13
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.InsertFromJNDIModel].getEnvEntryName()"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    - "[ch.qos.logback.core.model.InsertFromJNDIModel].getAs()"
    - "[ch.qos.logback.core.model.InsertFromJNDIModel].getScopeStr()"
    - "[ch.qos.logback.core.joran.action.ActionUtil].stringToScope(java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.util.JNDIUtil].getInitialContext()"
    - "[ch.qos.logback.core.util.JNDIUtil].lookupString(javax.naming.Context,java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.model.ModelUtil].setProperty(ch.qos.logback.core.model.processor.ModelInterpretationContext,java.lang.String,java.lang.String,ch.qos.logback.core.joran.action.ActionUtil$Scope)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,ch.qos.logback.core.joran.action.ActionUtil$Scope)"
    functionUses: 3
    ICount: 37
    EdgeCount: 18
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler:47"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler:48"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler:53"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler:52"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler:53"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler:58"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler:57"
        BranchSideFuncs:
        - "lookupString(javax.naming.Context,java.lang.String)"
        - "isNullOrEmptyOrAllSpaces(java.lang.String)"
        - "getInitialContext()"
    - Branch String: "ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler:60"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler:63"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler:62"
        BranchSideFuncs:
        - "setProperty(ch.qos.logback.core.model.processor.ModelInterpretationContext,java.lang.String,java.lang.String,ch.qos.logback.core.joran.action.ActionUtil$Scope)"
        - "addInfo(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler:35,1"
      Dst: "[ch.qos.logback.core.model.InsertFromJNDIModel].getEnvEntryName()"
    - Src: "ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler:35,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler:36,1"
      Dst: "[ch.qos.logback.core.model.InsertFromJNDIModel].getAs()"
    - Src: "ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler:38,1"
      Dst: "[ch.qos.logback.core.model.InsertFromJNDIModel].getScopeStr()"
    - Src: "ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler:39,1"
      Dst: "[ch.qos.logback.core.joran.action.ActionUtil].stringToScope(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler:43,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler:44,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler:58,1"
      Dst: "[ch.qos.logback.core.util.JNDIUtil].getInitialContext()"
    - Src: "ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler:59,1"
      Dst: "[ch.qos.logback.core.util.JNDIUtil].lookupString(javax.naming.Context,java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler:61,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler:63,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,ch.qos.logback.core.joran.action.ActionUtil$Scope)"
    - Src: "ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler:63,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler:64,1"
      Dst: "[ch.qos.logback.core.model.ModelUtil].setProperty(ch.qos.logback.core.model.processor.ModelInterpretationContext,java.lang.String,java.lang.String,ch.qos.logback.core.joran.action.ActionUtil$Scope)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 12
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.model.InsertFromJNDIModel].getEnvEntryName()"
    functionSourceFile: "ch.qos.logback.core.model.InsertFromJNDIModel"
    linkageType: null
    functionLinenumber: 60
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 152
    functionDepth: 12
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.OptionHelper].substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 26
    ICount: 11
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:153"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:158"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:157"
        BranchSideFuncs:
        - "substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:158,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:160,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:160,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.InsertFromJNDIModel].getAs()"
    functionSourceFile: "ch.qos.logback.core.model.InsertFromJNDIModel"
    linkageType: null
    functionLinenumber: 52
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.InsertFromJNDIModel].getScopeStr()"
    functionSourceFile: "ch.qos.logback.core.model.InsertFromJNDIModel"
    linkageType: null
    functionLinenumber: 44
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.ActionUtil].stringToScope(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.action.ActionUtil"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 0
    returnType: "ch.qos.logback.core.joran.action.ActionUtil$Scope"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].toString()"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    functionUses: 4
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.action.ActionUtil:32"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.ActionUtil:34"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.action.ActionUtil:33"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.action.ActionUtil:34"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.ActionUtil:37"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.action.ActionUtil:36"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.ActionUtil:32,1"
      Dst: "[java.lang.Enum].toString()"
    - Src: "ch.qos.logback.core.joran.action.ActionUtil:32,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 282
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    - "[java.lang.String].length()"
    functionUses: 62
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].length()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.JNDIUtil].getInitialContext()"
    functionSourceFile: "ch.qos.logback.core.util.JNDIUtil"
    linkageType: null
    functionLinenumber: 37
    functionDepth: 0
    returnType: "javax.naming.Context"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.naming.InitialContext].<init>()"
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.JNDIUtil:38,1"
      Dst: "[javax.naming.InitialContext].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.JNDIUtil].lookupString(javax.naming.Context,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.JNDIUtil"
    linkageType: null
    functionLinenumber: 66
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "javax.naming.Context"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.JNDIUtil].lookupObject(javax.naming.Context,java.lang.String)"
    functionUses: 3
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.JNDIUtil:67,1"
      Dst: "[ch.qos.logback.core.util.JNDIUtil].lookupObject(javax.naming.Context,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.JNDIUtil].lookupObject(javax.naming.Context,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.JNDIUtil"
    linkageType: null
    functionLinenumber: 45
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "javax.naming.Context"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - "[ch.qos.logback.core.util.JNDIUtil].jndiNameSecurityCheck(java.lang.String)"
    - "[ch.qos.logback.core.testUtil.MockInitialContext].lookup(java.lang.String)"
    - "[javax.naming.Context].lookup(java.lang.String)"
    functionUses: 2
    ICount: 10
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.JNDIUtil:46"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.JNDIUtil:50"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.JNDIUtil:49"
        BranchSideFuncs:
        - "isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Branch String: "ch.qos.logback.core.util.JNDIUtil:50"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.JNDIUtil:54"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.JNDIUtil:53"
        BranchSideFuncs:
        - "jndiNameSecurityCheck(java.lang.String)"
        - "lookup(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.util.JNDIUtil:50,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Src: "ch.qos.logback.core.util.JNDIUtil:54,1"
      Dst: "[ch.qos.logback.core.util.JNDIUtil].jndiNameSecurityCheck(java.lang.String)"
    - Src: "ch.qos.logback.core.util.JNDIUtil:56,1"
      Dst: "[javax.naming.Context].lookup(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.JNDIUtil].jndiNameSecurityCheck(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.JNDIUtil"
    linkageType: null
    functionLinenumber: 60
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].startsWith(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[javax.naming.NamingException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.JNDIUtil:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.JNDIUtil:64"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.JNDIUtil:63"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.JNDIUtil:61,1"
      Dst: "[java.lang.String].startsWith(java.lang.String)"
    - Src: "ch.qos.logback.core.util.JNDIUtil:62,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.util.JNDIUtil:62,1"
      Dst: "[javax.naming.NamingException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ModelUtil].setProperty(ch.qos.logback.core.model.processor.ModelInterpretationContext,java.lang.String,java.lang.String,ch.qos.logback.core.joran.action.ActionUtil$Scope)"
    functionSourceFile: "ch.qos.logback.core.model.ModelUtil"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 1
    returnType: "void"
    argCount: 4
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "java.lang.String"
    - "java.lang.String"
    - "ch.qos.logback.core.joran.action.ActionUtil$Scope"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].addSubstitutionProperty(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - "[ch.qos.logback.classic.LoggerContext].putProperty(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.ContextBase].putProperty(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].setSystemProperty(ch.qos.logback.core.spi.ContextAware,java.lang.String,java.lang.String)"
    - "[java.lang.Enum].ordinal()"
    - "[ch.qos.logback.core.Context].putProperty(java.lang.String,java.lang.String)"
    functionUses: 1
    ICount: 15
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.ModelUtil:24,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "ch.qos.logback.core.model.ModelUtil:26,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].addSubstitutionProperty(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.model.ModelUtil:29,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - Src: "ch.qos.logback.core.model.ModelUtil:29,1"
      Dst: "[ch.qos.logback.core.Context].putProperty(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.model.ModelUtil:32,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].setSystemProperty(ch.qos.logback.core.spi.ContextAware,java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].addSubstitutionProperty(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 170
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 4
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:171"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:172"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:171"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:171"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:175"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:174"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:175,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:176,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 0
    returnType: "ch.qos.logback.core.Context"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 35
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].setSystemProperty(ch.qos.logback.core.spi.ContextAware,java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 190
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.spi.ContextAware"
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].addError(java.lang.String,java.lang.Throwable)"
    - "[java.lang.System].setProperty(java.lang.String,java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAware].addError(java.lang.String,java.lang.Throwable)"
    functionUses: 3
    ICount: 9
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:191,1"
      Dst: "[java.lang.System].setProperty(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.util.OptionHelper:193,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.util.OptionHelper:193,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.BasicSequenceNumberGenerator].<init>()"
    functionSourceFile: "ch.qos.logback.core.spi.BasicSequenceNumberGenerator"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - "[java.util.concurrent.atomic.AtomicLong].<init>()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.BasicSequenceNumberGenerator:13,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - Src: "ch.qos.logback.core.spi.BasicSequenceNumberGenerator:15,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.BasicSequenceNumberGenerator].nextSequenceNumber()"
    functionSourceFile: "ch.qos.logback.core.spi.BasicSequenceNumberGenerator"
    linkageType: null
    functionLinenumber: 18
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicLong].incrementAndGet()"
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.BasicSequenceNumberGenerator:19,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].incrementAndGet()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.recovery.ResilientOutputStreamBase$lambda_postSuccessfulWrite_0__95].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.recovery.ResilientOutputStreamBase$lambda_postSuccessfulWrite_0__95"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Consumer"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.recovery.ResilientOutputStreamBase$lambda_postSuccessfulWrite_0__95].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.recovery.ResilientOutputStreamBase$lambda_postSuccessfulWrite_0__95:-1,1"
      Dst: "[ch.qos.logback.core.recovery.ResilientOutputStreamBase$lambda_postSuccessfulWrite_0__95].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.recovery.ResilientOutputStreamBase$lambda_postSuccessfulWrite_0__95].<init>()"
    functionSourceFile: "ch.qos.logback.core.recovery.ResilientOutputStreamBase$lambda_postSuccessfulWrite_0__95"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.recovery.ResilientOutputStreamBase$lambda_postSuccessfulWrite_0__95:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.recovery.ResilientOutputStreamBase$lambda_postSuccessfulWrite_0__95].<init>()"
    functionSourceFile: "ch.qos.logback.core.recovery.ResilientOutputStreamBase$lambda_postSuccessfulWrite_0__95"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.recovery.ResilientOutputStreamBase$lambda_postSuccessfulWrite_0__95:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.recovery.ResilientOutputStreamBase$lambda_postSuccessfulWrite_0__95].accept(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.recovery.ResilientOutputStreamBase$lambda_postSuccessfulWrite_0__95"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.recovery.ResilientOutputStreamBase].lambda$postSuccessfulWrite$0(ch.qos.logback.core.recovery.RecoveryListener)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.recovery.ResilientOutputStreamBase$lambda_postSuccessfulWrite_0__95:-1,1"
      Dst: "[ch.qos.logback.core.recovery.ResilientOutputStreamBase].lambda$postSuccessfulWrite$0(ch.qos.logback.core.recovery.RecoveryListener)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.LogbackMDCAdapter].<init>()"
    functionSourceFile: "ch.qos.logback.classic.util.LogbackMDCAdapter"
    linkageType: null
    functionLinenumber: 40
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.ThreadLocalMapOfStacks].<init>()"
    - "[java.lang.Object].<init>()"
    - "[java.lang.ThreadLocal].<init>()"
    functionUses: 1
    ICount: 12
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapter:41,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapter:47,1"
      Dst: "[java.lang.ThreadLocal].<init>()"
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapter:49,1"
      Dst: "[org.slf4j.helpers.ThreadLocalMapOfStacks].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.LogbackMDCAdapter].put(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.util.LogbackMDCAdapter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.ThreadLocal].get()"
    - "[java.util.HashMap].<init>()"
    - "[java.lang.ThreadLocal].set(java.lang.Object)"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - "[ch.qos.logback.classic.util.LogbackMDCAdapter].nullifyReadOnlyThreadLocalMap()"
    functionUses: 0
    ICount: 20
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.LogbackMDCAdapter:69"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapter:72"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapter:71"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.util.LogbackMDCAdapter:73"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapter:null"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapter:70,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapter:72,1"
      Dst: "[java.lang.ThreadLocal].get()"
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapter:74,1"
      Dst: "[java.util.HashMap].<init>()"
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapter:75,1"
      Dst: "[java.lang.ThreadLocal].set(java.lang.Object)"
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapter:78,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapter:79,1"
      Dst: "[ch.qos.logback.classic.util.LogbackMDCAdapter].nullifyReadOnlyThreadLocalMap()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.util.LogbackMDCAdapter].nullifyReadOnlyThreadLocalMap()"
    functionSourceFile: "ch.qos.logback.classic.util.LogbackMDCAdapter"
    linkageType: null
    functionLinenumber: 116
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ThreadLocal].set(java.lang.Object)"
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapter:117,1"
      Dst: "[java.lang.ThreadLocal].set(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.LogbackMDCAdapter].get(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.util.LogbackMDCAdapter"
    linkageType: null
    functionLinenumber: 89
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ThreadLocal].get()"
    - "[java.util.Map].get(java.lang.Object)"
    functionUses: 1
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.LogbackMDCAdapter:92"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapter:95"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapter:94"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.util.LogbackMDCAdapter:92"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapter:95"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapter:94"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapter:90,1"
      Dst: "[java.lang.ThreadLocal].get()"
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapter:93,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.util.LogbackMDCAdapter].remove(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.util.LogbackMDCAdapter"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.util.LogbackMDCAdapter].nullifyReadOnlyThreadLocalMap()"
    - "[java.lang.ThreadLocal].get()"
    - "[java.util.Map].remove(java.lang.Object)"
    functionUses: 1
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.LogbackMDCAdapter:105"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapter:109"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapter:108"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.util.LogbackMDCAdapter:110"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapter:114"
        BranchSideFuncs:
        - "nullifyReadOnlyThreadLocalMap()"
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapter:113"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapter:109,1"
      Dst: "[java.lang.ThreadLocal].get()"
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapter:111,1"
      Dst: "[java.util.Map].remove(java.lang.Object)"
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapter:112,1"
      Dst: "[ch.qos.logback.classic.util.LogbackMDCAdapter].nullifyReadOnlyThreadLocalMap()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.util.LogbackMDCAdapter].nullifyReadOnlyThreadLocalMap()"
    functionSourceFile: "ch.qos.logback.classic.util.LogbackMDCAdapter"
    linkageType: null
    functionLinenumber: 116
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ThreadLocal].set(java.lang.Object)"
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapter:117,1"
      Dst: "[java.lang.ThreadLocal].set(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.LogbackMDCAdapter].nullifyReadOnlyThreadLocalMap()"
    functionSourceFile: "ch.qos.logback.classic.util.LogbackMDCAdapter"
    linkageType: null
    functionLinenumber: 116
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ThreadLocal].set(java.lang.Object)"
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapter:117,1"
      Dst: "[java.lang.ThreadLocal].set(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.LogbackMDCAdapter].clear()"
    functionSourceFile: "ch.qos.logback.classic.util.LogbackMDCAdapter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ThreadLocal].set(java.lang.Object)"
    - "[ch.qos.logback.classic.util.LogbackMDCAdapter].nullifyReadOnlyThreadLocalMap()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapter:125,1"
      Dst: "[java.lang.ThreadLocal].set(java.lang.Object)"
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapter:126,1"
      Dst: "[ch.qos.logback.classic.util.LogbackMDCAdapter].nullifyReadOnlyThreadLocalMap()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.LogbackMDCAdapter].nullifyReadOnlyThreadLocalMap()"
    functionSourceFile: "ch.qos.logback.classic.util.LogbackMDCAdapter"
    linkageType: null
    functionLinenumber: 116
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ThreadLocal].set(java.lang.Object)"
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapter:117,1"
      Dst: "[java.lang.ThreadLocal].set(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.LogbackMDCAdapter].getPropertyMap()"
    functionSourceFile: "ch.qos.logback.classic.util.LogbackMDCAdapter"
    linkageType: null
    functionLinenumber: 136
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ThreadLocal].get()"
    - "[java.util.HashMap].<init>(java.util.Map)"
    - "[java.util.Collections].unmodifiableMap(java.util.Map)"
    - "[java.lang.ThreadLocal].set(java.lang.Object)"
    functionUses: 2
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.LogbackMDCAdapter:138"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapter:146"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapter:145"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.util.LogbackMDCAdapter:140"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapter:146"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapter:145"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapter:137,1"
      Dst: "[java.lang.ThreadLocal].get()"
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapter:141,1"
      Dst: "[java.util.HashMap].<init>(java.util.Map)"
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapter:142,1"
      Dst: "[java.util.Collections].unmodifiableMap(java.util.Map)"
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapter:143,1"
      Dst: "[java.lang.ThreadLocal].set(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.util.LogbackMDCAdapter].getCopyOfContextMap()"
    functionSourceFile: "ch.qos.logback.classic.util.LogbackMDCAdapter"
    linkageType: null
    functionLinenumber: 153
    functionDepth: 1
    returnType: "java.util.Map"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.util.LogbackMDCAdapter].getPropertyMap()"
    - "[java.util.HashMap].<init>(java.util.Map)"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.LogbackMDCAdapter:155"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapter:158"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapter:157"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapter:154,1"
      Dst: "[ch.qos.logback.classic.util.LogbackMDCAdapter].getPropertyMap()"
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapter:158,1"
      Dst: "[java.util.HashMap].<init>(java.util.Map)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.LogbackMDCAdapter].getPropertyMap()"
    functionSourceFile: "ch.qos.logback.classic.util.LogbackMDCAdapter"
    linkageType: null
    functionLinenumber: 136
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ThreadLocal].get()"
    - "[java.util.HashMap].<init>(java.util.Map)"
    - "[java.util.Collections].unmodifiableMap(java.util.Map)"
    - "[java.lang.ThreadLocal].set(java.lang.Object)"
    functionUses: 2
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.LogbackMDCAdapter:138"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapter:146"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapter:145"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.util.LogbackMDCAdapter:140"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapter:146"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapter:145"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapter:137,1"
      Dst: "[java.lang.ThreadLocal].get()"
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapter:141,1"
      Dst: "[java.util.HashMap].<init>(java.util.Map)"
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapter:142,1"
      Dst: "[java.util.Collections].unmodifiableMap(java.util.Map)"
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapter:143,1"
      Dst: "[java.lang.ThreadLocal].set(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.util.LogbackMDCAdapter].getKeys()"
    functionSourceFile: "ch.qos.logback.classic.util.LogbackMDCAdapter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.Set"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.util.LogbackMDCAdapter].getPropertyMap()"
    - "[java.util.Map].keySet()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.LogbackMDCAdapter:169"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapter:172"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapter:171"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapter:167,1"
      Dst: "[ch.qos.logback.classic.util.LogbackMDCAdapter].getPropertyMap()"
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapter:170,1"
      Dst: "[java.util.Map].keySet()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.LogbackMDCAdapter].getPropertyMap()"
    functionSourceFile: "ch.qos.logback.classic.util.LogbackMDCAdapter"
    linkageType: null
    functionLinenumber: 136
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ThreadLocal].get()"
    - "[java.util.HashMap].<init>(java.util.Map)"
    - "[java.util.Collections].unmodifiableMap(java.util.Map)"
    - "[java.lang.ThreadLocal].set(java.lang.Object)"
    functionUses: 2
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.LogbackMDCAdapter:138"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapter:146"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapter:145"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.util.LogbackMDCAdapter:140"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapter:146"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapter:145"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapter:137,1"
      Dst: "[java.lang.ThreadLocal].get()"
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapter:141,1"
      Dst: "[java.util.HashMap].<init>(java.util.Map)"
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapter:142,1"
      Dst: "[java.util.Collections].unmodifiableMap(java.util.Map)"
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapter:143,1"
      Dst: "[java.lang.ThreadLocal].set(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.util.LogbackMDCAdapter].setContextMap(java.util.Map)"
    functionSourceFile: "ch.qos.logback.classic.util.LogbackMDCAdapter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.Map"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashMap].<init>(java.util.Map)"
    - "[java.lang.ThreadLocal].set(java.lang.Object)"
    - "[ch.qos.logback.classic.util.LogbackMDCAdapter].nullifyReadOnlyThreadLocalMap()"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.LogbackMDCAdapter:178"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapter:181"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapter:180"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapter:179,1"
      Dst: "[java.util.HashMap].<init>(java.util.Map)"
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapter:179,1"
      Dst: "[java.lang.ThreadLocal].set(java.lang.Object)"
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapter:183,1"
      Dst: "[ch.qos.logback.classic.util.LogbackMDCAdapter].nullifyReadOnlyThreadLocalMap()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.util.LogbackMDCAdapter].nullifyReadOnlyThreadLocalMap()"
    functionSourceFile: "ch.qos.logback.classic.util.LogbackMDCAdapter"
    linkageType: null
    functionLinenumber: 116
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ThreadLocal].set(java.lang.Object)"
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapter:117,1"
      Dst: "[java.lang.ThreadLocal].set(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.LogbackMDCAdapter].pushByKey(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.util.LogbackMDCAdapter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.ThreadLocalMapOfStacks].pushByKey(java.lang.String,java.lang.String)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapter:189,1"
      Dst: "[org.slf4j.helpers.ThreadLocalMapOfStacks].pushByKey(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.ThreadLocalMapOfStacks].pushByKey(java.lang.String,java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.ThreadLocalMapOfStacks"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ThreadLocal].get()"
    - "[java.util.HashMap].<init>()"
    - "[java.lang.ThreadLocal].set(java.lang.Object)"
    - "[java.util.Map].get(java.lang.Object)"
    - "[java.util.ArrayDeque].<init>()"
    - "[java.util.Deque].push(java.lang.Object)"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 0
    ICount: 27
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.ThreadLocalMapOfStacks:24"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:27"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:26"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.ThreadLocalMapOfStacks:29"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:null"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.ThreadLocalMapOfStacks:35"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:null"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:27,1"
      Dst: "[java.lang.ThreadLocal].get()"
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:30,1"
      Dst: "[java.util.HashMap].<init>()"
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:31,1"
      Dst: "[java.lang.ThreadLocal].set(java.lang.Object)"
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:34,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:36,1"
      Dst: "[java.util.ArrayDeque].<init>()"
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:38,1"
      Dst: "[java.util.Deque].push(java.lang.Object)"
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:39,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.util.LogbackMDCAdapter].popByKey(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.util.LogbackMDCAdapter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.ThreadLocalMapOfStacks].popByKey(java.lang.String)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapter:194,1"
      Dst: "[org.slf4j.helpers.ThreadLocalMapOfStacks].popByKey(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.ThreadLocalMapOfStacks].popByKey(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.ThreadLocalMapOfStacks"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ThreadLocal].get()"
    - "[java.util.Map].get(java.lang.Object)"
    - "[java.util.Deque].pop()"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.ThreadLocalMapOfStacks:43"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:46"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:45"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.ThreadLocalMapOfStacks:47"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:49"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:48"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.ThreadLocalMapOfStacks:50"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:52"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:51"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:46,1"
      Dst: "[java.lang.ThreadLocal].get()"
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:49,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:52,1"
      Dst: "[java.util.Deque].pop()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.LogbackMDCAdapter].getCopyOfDequeByKey(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.util.LogbackMDCAdapter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.Deque"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.ThreadLocalMapOfStacks].getCopyOfDequeByKey(java.lang.String)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapter:199,1"
      Dst: "[org.slf4j.helpers.ThreadLocalMapOfStacks].getCopyOfDequeByKey(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.ThreadLocalMapOfStacks].getCopyOfDequeByKey(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.ThreadLocalMapOfStacks"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.util.Deque"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ThreadLocal].get()"
    - "[java.util.Map].get(java.lang.Object)"
    - "[java.util.ArrayDeque].<init>(java.util.Collection)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.ThreadLocalMapOfStacks:56"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:59"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:58"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.ThreadLocalMapOfStacks:60"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:62"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:61"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.ThreadLocalMapOfStacks:63"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:66"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:65"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:59,1"
      Dst: "[java.lang.ThreadLocal].get()"
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:62,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:66,1"
      Dst: "[java.util.ArrayDeque].<init>(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.LogbackMDCAdapter].clearDequeByKey(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.util.LogbackMDCAdapter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.ThreadLocalMapOfStacks].clearDequeByKey(java.lang.String)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapter:204,1"
      Dst: "[org.slf4j.helpers.ThreadLocalMapOfStacks].clearDequeByKey(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.ThreadLocalMapOfStacks].clearDequeByKey(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.ThreadLocalMapOfStacks"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ThreadLocal].get()"
    - "[java.util.Map].get(java.lang.Object)"
    - "[java.util.Collection].clear()"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.ThreadLocalMapOfStacks:77"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:80"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:79"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.ThreadLocalMapOfStacks:81"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:83"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:82"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.ThreadLocalMapOfStacks:84"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:86"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:85"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:80,1"
      Dst: "[java.lang.ThreadLocal].get()"
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:83,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:86,1"
      Dst: "[java.util.Collection].clear()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.ArrayList].<init>()"
    functionUses: 16
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:27,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.model.Model:40,1"
      Dst: "[java.util.ArrayList].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].duplicate(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.Model"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.AppenderModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.NamedComponentModel].makeNewInstance()"
    - "[ch.qos.logback.classic.model.LoggerContextListenerModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.AppenderRefModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.conditional.ThenModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.conditional.ElseModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.ShutdownHookModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.StatusListenerModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.conditional.IfModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.Model].makeNewInstance()"
    - "[ch.qos.logback.core.model.DefineModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.SerializeModelModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.InsertFromJNDIModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.NamedModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.ParamModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.ImportModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.TimestampModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.SiftModel].makeNewInstance()"
    - "[ch.qos.logback.classic.model.RootLoggerModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.SequenceNumberGeneratorModel].makeNewInstance()"
    - "[ch.qos.logback.classic.model.ConfigurationModel].makeNewInstance()"
    - "[ch.qos.logback.classic.model.LevelModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.EventEvaluatorModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.PropertyModel].makeNewInstance()"
    - "[ch.qos.logback.classic.model.LoggerModel].makeNewInstance()"
    - "[ch.qos.logback.classic.model.ReceiverModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.ComponentModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.ImplicitModel].makeNewInstance()"
    - "[ch.qos.logback.classic.model.ContextNameModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.ParamModel].mirror(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.conditional.IfModel].mirror(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.ComponentModel].mirror(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.AppenderRefModel].mirror(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.ImportModel].mirror(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.RootLoggerModel].mirror(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.ConfigurationModel].mirror(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.LoggerModel].mirror(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.TimestampModel].mirror(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.InsertFromJNDIModel].mirror(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.DefineModel].mirror(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.NamedModel].mirror(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.PropertyModel].mirror(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.LevelModel].mirror(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.NamedComponentModel].mirror(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.Model].mirror(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.model.Model].duplicate(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 3
    ICount: 14
    EdgeCount: 48
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.Model:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:49"
        BranchSideFuncs:
        - "add(java.lang.Object)"
        - "iterator()"
        - "duplicate(ch.qos.logback.core.model.Model)"
      - BranchSide: "ch.qos.logback.core.model.Model:48"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:43,1"
      Dst: "[ch.qos.logback.core.model.Model].makeNewInstance()"
    - Src: "ch.qos.logback.core.model.Model:44,1"
      Dst: "[ch.qos.logback.core.model.Model].mirror(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.model.Model:45,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.model.Model:45,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.model.Model:45,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.model.Model:46,1"
      Dst: "[ch.qos.logback.core.model.Model].duplicate(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.model.Model:47,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.model.Model].makeNewInstance()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 52
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.Model"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:53,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.ArrayList].<init>()"
    functionUses: 16
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:27,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.model.Model:40,1"
      Dst: "[java.util.ArrayList].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].mirror(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 56
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 11
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].makeNewInstance()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 52
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.Model"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:53,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].mirror(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 56
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 11
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].markAsSkipped()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 63
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 7
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].deepMarkAsSkipped()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 66
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].markAsSkipped()"
    - "[ch.qos.logback.core.model.Model].getSubModels()"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.model.Model].deepMarkAsSkipped()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    functionUses: 3
    ICount: 11
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.Model:68"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:71"
        BranchSideFuncs:
        - "deepMarkAsSkipped()"
        - "iterator()"
        - "getSubModels()"
      - BranchSide: "ch.qos.logback.core.model.Model:70"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:67,1"
      Dst: "[ch.qos.logback.core.model.Model].markAsSkipped()"
    - Src: "ch.qos.logback.core.model.Model:68,1"
      Dst: "[ch.qos.logback.core.model.Model].getSubModels()"
    - Src: "ch.qos.logback.core.model.Model:68,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.model.Model:68,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.model.Model:68,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.model.Model:69,1"
      Dst: "[ch.qos.logback.core.model.Model].deepMarkAsSkipped()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.model.Model].resetForReuse()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 77
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.model.Model].resetForReuse()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    functionUses: 2
    ICount: 12
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.Model:80"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:83"
        BranchSideFuncs:
        - "iterator()"
        - "resetForReuse()"
      - BranchSide: "ch.qos.logback.core.model.Model:82"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:80,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.model.Model:80,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.model.Model:80,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.model.Model:81,1"
      Dst: "[ch.qos.logback.core.model.Model].resetForReuse()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.model.Model].isSkipped()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 85
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].isUnhandled()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 89
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.Model:90"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:89"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.model.Model].isHandled()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].markAsHandled()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 97
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].getTag()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 16
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].setTag(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 108
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].getLineNumber()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 112
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 8
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].setLineNumber(int)"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 116
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].getSubModels()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 120
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 8
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].addSubModel(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 124
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 3
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:125,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].getBodyText()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 128
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].addText(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 132
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    functionUses: 2
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.Model:133"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:136"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:135"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:136,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.model.Model].idString()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 139
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int)"
    functionUses: 4
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:140,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].hashCode()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 145
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Integer].valueOf(int)"
    - "[java.util.Objects].hash(java.lang.Object[])"
    functionUses: 15
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:146,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "ch.qos.logback.core.model.Model:146,1"
      Dst: "[java.util.Objects].hash(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 150
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    functionUses: 16
    ICount: 30
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.Model:151"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:153"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:152"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:153"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:155"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:154"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:155"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:157"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:156"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:158"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:-1"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:158"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:-1"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:159"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:159"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:-2"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:155,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.model.Model:158,1"
      Dst: "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 13
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.model.Model].toString()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 164
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.model.LoggerModel].hashCode()"
    - "[ch.qos.logback.core.model.DefineModel].hashCode()"
    - "[ch.qos.logback.core.model.TimestampModel].hashCode()"
    - "[ch.qos.logback.core.model.PropertyModel].hashCode()"
    - "[ch.qos.logback.classic.model.LevelModel].hashCode()"
    - "[ch.qos.logback.core.model.InsertFromJNDIModel].hashCode()"
    - "[ch.qos.logback.core.model.SerializeModelModel].hashCode()"
    - "[ch.qos.logback.core.model.Model].hashCode()"
    - "[ch.qos.logback.classic.model.ConfigurationModel].hashCode()"
    - "[ch.qos.logback.core.model.NamedComponentModel].hashCode()"
    - "[ch.qos.logback.core.model.AppenderRefModel].hashCode()"
    - "[ch.qos.logback.classic.model.RootLoggerModel].hashCode()"
    - "[ch.qos.logback.core.model.conditional.IfModel].hashCode()"
    - "[ch.qos.logback.core.model.NamedModel].hashCode()"
    - "[ch.qos.logback.core.model.ParamModel].hashCode()"
    - "[ch.qos.logback.core.model.ComponentModel].hashCode()"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getSimpleName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,java.lang.String,int)"
    functionUses: 3
    ICount: 8
    EdgeCount: 16
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:165,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.model.Model:165,1"
      Dst: "[java.lang.Class].getSimpleName()"
    - Src: "ch.qos.logback.core.model.Model:165,1"
      Dst: "[ch.qos.logback.core.model.Model].hashCode()"
    - Src: "ch.qos.logback.core.model.Model:165,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].hashCode()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 145
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Integer].valueOf(int)"
    - "[java.util.Objects].hash(java.lang.Object[])"
    functionUses: 15
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:146,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "ch.qos.logback.core.model.Model:146,1"
      Dst: "[java.util.Objects].hash(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_1__21].bootstrap$()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_1__21"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_1__21].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_1__21:-1,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_1__21].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_1__21].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_1__21"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_1__21:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_1__21].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_1__21"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_1__21:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_1__21].get()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_1__21"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator].lambda$addElementSelectorAndActionAssociations$1()"
    functionUses: 3
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_1__21:-1,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator].lambda$addElementSelectorAndActionAssociations$1()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator].lambda$addElementSelectorAndActionAssociations$1()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator"
    linkageType: null
    functionLinenumber: 51
    functionDepth: 1
    returnType: "ch.qos.logback.core.joran.action.Action"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.action.ContextNameAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:52,1"
      Dst: "[ch.qos.logback.classic.joran.action.ContextNameAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.action.ContextNameAction].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.action.ContextNameAction"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.action.ContextNameAction:23,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull"
    linkageType: null
    functionLinenumber: 37
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.model.processor.ConfigurationModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:38,1"
      Dst: "[ch.qos.logback.classic.model.processor.ConfigurationModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull].makeInstance2(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:44,1"
      Dst: "[ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull].processScanAttrib(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.classic.model.ConfigurationModel)"
    functionSourceFile: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull"
    linkageType: null
    functionLinenumber: 48
    functionDepth: 13
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.classic.model.ConfigurationModel"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.model.ConfigurationModel].getScanStr()"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - "[ch.qos.logback.core.ContextBase].getScheduledExecutorService()"
    - "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].getMainWatchURL(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.classic.joran.ReconfigureOnChangeTask].<init>()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.ContextBase].fireConfigurationEvent(ch.qos.logback.core.spi.ConfigurationEvent)"
    - "[ch.qos.logback.core.spi.ConfigurationEvent].newConfigurationChangeDetectorRegisteredEvent(java.lang.Object)"
    - "[ch.qos.logback.classic.model.ConfigurationModel].getScanPeriodStr()"
    - "[ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull].getDurationOfScanPeriodAttribute(java.lang.String,ch.qos.logback.core.util.Duration)"
    - "[ch.qos.logback.core.util.Duration].getMilliseconds()"
    - "[ch.qos.logback.classic.joran.ReconfigureOnChangeTask].setScheduredFuture(java.util.concurrent.ScheduledFuture)"
    - "[ch.qos.logback.core.ContextBase].addScheduledFuture(java.util.concurrent.ScheduledFuture)"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - "[ch.qos.logback.core.Context].getScheduledExecutorService()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.classic.joran.ReconfigureOnChangeTask)"
    - "[ch.qos.logback.core.Context].fireConfigurationEvent(ch.qos.logback.core.spi.ConfigurationEvent)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.net.URL)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.util.Duration)"
    - "[java.util.concurrent.ScheduledExecutorService].scheduleAtFixedRate(java.lang.Runnable,long,long,java.util.concurrent.TimeUnit)"
    - "[ch.qos.logback.core.Context].addScheduledFuture(java.util.concurrent.ScheduledFuture)"
    functionUses: 1
    ICount: 42
    EdgeCount: 19
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:50"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:81"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:50"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:81"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:54"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:58"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:57"
        BranchSideFuncs:
        - "getDurationOfScanPeriodAttribute(java.lang.String,ch.qos.logback.core.util.Duration)"
        - "addScheduledFuture(java.util.concurrent.ScheduledFuture)"
        - "getScanPeriodStr()"
        - "subst(java.lang.String)"
        - "setScheduredFuture(java.util.concurrent.ScheduledFuture)"
        - "newConfigurationChangeDetectorRegisteredEvent(java.lang.Object)"
        - "<init>()"
        - "setContext(ch.qos.logback.core.Context)"
        - "fireConfigurationEvent(ch.qos.logback.core.spi.ConfigurationEvent)"
        - "getMilliseconds()"
        - "addInfo(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:49,1"
      Dst: "[ch.qos.logback.classic.model.ConfigurationModel].getScanStr()"
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:49,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:50,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:50,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:52,1"
      Dst: "[ch.qos.logback.core.Context].getScheduledExecutorService()"
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:53,1"
      Dst: "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].getMainWatchURL(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:55,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:58,1"
      Dst: "[ch.qos.logback.classic.joran.ReconfigureOnChangeTask].<init>()"
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:59,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:61,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.classic.joran.ReconfigureOnChangeTask)"
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:61,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:63,1"
      Dst: "[ch.qos.logback.core.spi.ConfigurationEvent].newConfigurationChangeDetectorRegisteredEvent(java.lang.Object)"
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:63,1"
      Dst: "[ch.qos.logback.core.Context].fireConfigurationEvent(ch.qos.logback.core.spi.ConfigurationEvent)"
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:65,1"
      Dst: "[ch.qos.logback.classic.model.ConfigurationModel].getScanPeriodStr()"
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:66,1"
      Dst: "[ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull].getDurationOfScanPeriodAttribute(java.lang.String,ch.qos.logback.core.util.Duration)"
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:68,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.net.URL)"
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:75,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.util.Duration)"
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:78,1"
      Dst: "[ch.qos.logback.core.util.Duration].getMilliseconds()"
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:77,1"
      Dst: "[java.util.concurrent.ScheduledExecutorService].scheduleAtFixedRate(java.lang.Runnable,long,long,java.util.concurrent.TimeUnit)"
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:79,1"
      Dst: "[ch.qos.logback.classic.joran.ReconfigureOnChangeTask].setScheduredFuture(java.util.concurrent.ScheduledFuture)"
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:80,1"
      Dst: "[ch.qos.logback.core.Context].addScheduledFuture(java.util.concurrent.ScheduledFuture)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.model.ConfigurationModel].getScanStr()"
    functionSourceFile: "ch.qos.logback.classic.model.ConfigurationModel"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 152
    functionDepth: 12
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.OptionHelper].substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 26
    ICount: 11
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:153"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:158"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:157"
        BranchSideFuncs:
        - "substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:158,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:160,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:160,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 282
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    - "[java.lang.String].length()"
    functionUses: 62
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].length()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].getMainWatchURL(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil"
    linkageType: null
    functionLinenumber: 53
    functionDepth: 1
    returnType: "java.net.URL"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].getConfigurationWatchList(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].getMainURL()"
    functionUses: 3
    ICount: 6
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:55"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:58"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:57"
        BranchSideFuncs:
        - "getMainURL()"
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:54,1"
      Dst: "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].getConfigurationWatchList(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:58,1"
      Dst: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].getMainURL()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].getConfigurationWatchList(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil"
    linkageType: null
    functionLinenumber: 85
    functionDepth: 0
    returnType: "ch.qos.logback.core.joran.spi.ConfigurationWatchList"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getObject(java.lang.String)"
    - "[ch.qos.logback.core.Context].getObject(java.lang.String)"
    functionUses: 6
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:86,1"
      Dst: "[ch.qos.logback.core.Context].getObject(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].getMainURL()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ConfigurationWatchList"
    linkageType: null
    functionLinenumber: 71
    functionDepth: 0
    returnType: "java.net.URL"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 96
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ReconfigureOnChangeTask].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - "[java.lang.System].currentTimeMillis()"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:35,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:41,1"
      Dst: "[java.lang.System].currentTimeMillis()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 34
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:34,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 67
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:45"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:44"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:47"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:46,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ConfigurationEvent].newConfigurationChangeDetectorRegisteredEvent(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.spi.ConfigurationEvent"
    linkageType: null
    functionLinenumber: 55
    functionDepth: 1
    returnType: "ch.qos.logback.core.spi.ConfigurationEvent"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ConfigurationEvent].<init>(ch.qos.logback.core.spi.ConfigurationEvent$EventType,java.lang.Object)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ConfigurationEvent:56,1"
      Dst: "[ch.qos.logback.core.spi.ConfigurationEvent].<init>(ch.qos.logback.core.spi.ConfigurationEvent$EventType,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ConfigurationEvent].<init>(ch.qos.logback.core.spi.ConfigurationEvent$EventType,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.spi.ConfigurationEvent"
    linkageType: null
    functionLinenumber: 45
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.spi.ConfigurationEvent$EventType"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 5
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ConfigurationEvent:46,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.ConfigurationModel].getScanPeriodStr()"
    functionSourceFile: "ch.qos.logback.classic.model.ConfigurationModel"
    linkageType: null
    functionLinenumber: 47
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull].getDurationOfScanPeriodAttribute(java.lang.String,ch.qos.logback.core.util.Duration)"
    functionSourceFile: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 3
    returnType: "ch.qos.logback.core.util.Duration"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "ch.qos.logback.core.util.Duration"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - "[ch.qos.logback.core.util.Duration].valueOf(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.util.Duration].toString()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 17
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:87"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:95"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:96"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:100"
        BranchSideFuncs:
        - "toString()"
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:99"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:87,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:89,1"
      Dst: "[ch.qos.logback.core.util.Duration].valueOf(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:91,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:91,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String,java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:97,1"
      Dst: "[ch.qos.logback.core.util.Duration].toString()"
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:97,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.util.Duration].valueOf(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.Duration"
    linkageType: null
    functionLinenumber: 88
    functionDepth: 2
    returnType: "ch.qos.logback.core.util.Duration"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Duration].buildByMilliseconds(double)"
    - "[ch.qos.logback.core.util.Duration].buildBySeconds(double)"
    - "[ch.qos.logback.core.util.Duration].buildByMinutes(double)"
    - "[ch.qos.logback.core.util.Duration].buildByHours(double)"
    - "[ch.qos.logback.core.util.Duration].buildByDays(double)"
    - "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - "[java.util.regex.Matcher].matches()"
    - "[java.util.regex.Matcher].group(int)"
    - "[java.lang.Double].valueOf(java.lang.String)"
    - "[java.lang.Double].doubleValue()"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - "[java.lang.String].length()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 43
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.Duration:91"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.Duration:110"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.Duration:109"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.Duration:96"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.Duration:97"
        BranchSideFuncs:
        - "buildByMilliseconds(double)"
      - BranchSide: "ch.qos.logback.core.util.Duration:96"
        BranchSideFuncs:
        - "buildByMilliseconds(double)"
    - Branch String: "ch.qos.logback.core.util.Duration:96"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.Duration:97"
        BranchSideFuncs:
        - "buildByMilliseconds(double)"
      - BranchSide: "ch.qos.logback.core.util.Duration:96"
        BranchSideFuncs:
        - "buildByMilliseconds(double)"
    - Branch String: "ch.qos.logback.core.util.Duration:96"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.Duration:98"
        BranchSideFuncs:
        - "buildByMilliseconds(double)"
      - BranchSide: "ch.qos.logback.core.util.Duration:97"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.Duration:98"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.Duration:99"
        BranchSideFuncs:
        - "buildBySeconds(double)"
      - BranchSide: "ch.qos.logback.core.util.Duration:98"
        BranchSideFuncs:
        - "buildBySeconds(double)"
    - Branch String: "ch.qos.logback.core.util.Duration:98"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.Duration:100"
        BranchSideFuncs:
        - "buildBySeconds(double)"
      - BranchSide: "ch.qos.logback.core.util.Duration:99"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.Duration:100"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.Duration:102"
        BranchSideFuncs:
        - "buildByMinutes(double)"
      - BranchSide: "ch.qos.logback.core.util.Duration:101"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.Duration:102"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.Duration:104"
        BranchSideFuncs:
        - "buildByHours(double)"
      - BranchSide: "ch.qos.logback.core.util.Duration:103"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.Duration:104"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.Duration:107"
        BranchSideFuncs:
        - "buildByDays(double)"
      - BranchSide: "ch.qos.logback.core.util.Duration:106"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.Duration:89,1"
      Dst: "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - Src: "ch.qos.logback.core.util.Duration:91,1"
      Dst: "[java.util.regex.Matcher].matches()"
    - Src: "ch.qos.logback.core.util.Duration:92,1"
      Dst: "[java.util.regex.Matcher].group(int)"
    - Src: "ch.qos.logback.core.util.Duration:95,1"
      Dst: "[java.lang.Double].valueOf(java.lang.String)"
    - Src: "ch.qos.logback.core.util.Duration:95,1"
      Dst: "[java.lang.Double].doubleValue()"
    - Src: "ch.qos.logback.core.util.Duration:96,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - Src: "ch.qos.logback.core.util.Duration:96,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.core.util.Duration:97,1"
      Dst: "[ch.qos.logback.core.util.Duration].buildByMilliseconds(double)"
    - Src: "ch.qos.logback.core.util.Duration:99,1"
      Dst: "[ch.qos.logback.core.util.Duration].buildBySeconds(double)"
    - Src: "ch.qos.logback.core.util.Duration:101,1"
      Dst: "[ch.qos.logback.core.util.Duration].buildByMinutes(double)"
    - Src: "ch.qos.logback.core.util.Duration:103,1"
      Dst: "[ch.qos.logback.core.util.Duration].buildByHours(double)"
    - Src: "ch.qos.logback.core.util.Duration:105,1"
      Dst: "[ch.qos.logback.core.util.Duration].buildByDays(double)"
    - Src: "ch.qos.logback.core.util.Duration:107,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.util.Duration:107,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.util.Duration:110,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 16
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.util.Duration].buildByMilliseconds(double)"
    functionSourceFile: "ch.qos.logback.core.util.Duration"
    linkageType: null
    functionLinenumber: 60
    functionDepth: 1
    returnType: "ch.qos.logback.core.util.Duration"
    argCount: 1
    argTypes:
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Duration].<init>(long)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.Duration:61,1"
      Dst: "[ch.qos.logback.core.util.Duration].<init>(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.Duration].<init>(long)"
    functionSourceFile: "ch.qos.logback.core.util.Duration"
    linkageType: null
    functionLinenumber: 55
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 7
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.Duration:56,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.Duration].buildBySeconds(double)"
    functionSourceFile: "ch.qos.logback.core.util.Duration"
    linkageType: null
    functionLinenumber: 64
    functionDepth: 1
    returnType: "ch.qos.logback.core.util.Duration"
    argCount: 1
    argTypes:
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Duration].<init>(long)"
    functionUses: 2
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.Duration:65,1"
      Dst: "[ch.qos.logback.core.util.Duration].<init>(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.Duration].buildByMinutes(double)"
    functionSourceFile: "ch.qos.logback.core.util.Duration"
    linkageType: null
    functionLinenumber: 68
    functionDepth: 1
    returnType: "ch.qos.logback.core.util.Duration"
    argCount: 1
    argTypes:
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Duration].<init>(long)"
    functionUses: 2
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.Duration:69,1"
      Dst: "[ch.qos.logback.core.util.Duration].<init>(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.Duration].buildByHours(double)"
    functionSourceFile: "ch.qos.logback.core.util.Duration"
    linkageType: null
    functionLinenumber: 72
    functionDepth: 1
    returnType: "ch.qos.logback.core.util.Duration"
    argCount: 1
    argTypes:
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Duration].<init>(long)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.Duration:73,1"
      Dst: "[ch.qos.logback.core.util.Duration].<init>(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.Duration].buildByDays(double)"
    functionSourceFile: "ch.qos.logback.core.util.Duration"
    linkageType: null
    functionLinenumber: 76
    functionDepth: 1
    returnType: "ch.qos.logback.core.util.Duration"
    argCount: 1
    argTypes:
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Duration].<init>(long)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.Duration:77,1"
      Dst: "[ch.qos.logback.core.util.Duration].<init>(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 96
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 7
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:97,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:97,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:97,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.Duration].toString()"
    functionSourceFile: "ch.qos.logback.core.util.Duration"
    linkageType: null
    functionLinenumber: 115
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(long)"
    functionUses: 4
    ICount: 28
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.Duration:116"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.Duration:118"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.Duration:117"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.Duration:118"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.Duration:120"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.Duration:119"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.Duration:120"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.Duration:123"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.Duration:122"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.Duration:117,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.Duration].getMilliseconds()"
    functionSourceFile: "ch.qos.logback.core.util.Duration"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 8
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ReconfigureOnChangeTask].setScheduredFuture(java.util.concurrent.ScheduledFuture)"
    functionSourceFile: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask"
    linkageType: null
    functionLinenumber: 146
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.concurrent.ScheduledFuture"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull].getDurationOfScanPeriodAttribute(java.lang.String,ch.qos.logback.core.util.Duration)"
    functionSourceFile: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 3
    returnType: "ch.qos.logback.core.util.Duration"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "ch.qos.logback.core.util.Duration"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - "[ch.qos.logback.core.util.Duration].valueOf(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.util.Duration].toString()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 17
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:87"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:95"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:96"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:100"
        BranchSideFuncs:
        - "toString()"
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:99"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:87,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:89,1"
      Dst: "[ch.qos.logback.core.util.Duration].valueOf(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:91,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:91,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String,java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:97,1"
      Dst: "[ch.qos.logback.core.util.Duration].toString()"
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull:97,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.model.processor.AppenderRefDependencyAnalyser].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.model.processor.AppenderRefDependencyAnalyser"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.AppenderRefDependencyAnalyser:24,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.AppenderRefDependencyAnalyser].getSupportedModelClass()"
    functionSourceFile: "ch.qos.logback.core.model.processor.AppenderRefDependencyAnalyser"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 0
    returnType: "java.lang.Class"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.AppenderRefDependencyAnalyser].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.AppenderRefDependencyAnalyser"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 13
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.AppenderRefModel].getRef()"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].isModelStackEmpty()"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekModel()"
    - "[ch.qos.logback.core.model.processor.DependencyDefinition].<init>(ch.qos.logback.core.model.Model,java.lang.String)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].addDependencyDefinition(ch.qos.logback.core.model.processor.DependencyDefinition)"
    functionUses: 3
    ICount: 15
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.AppenderRefDependencyAnalyser:40"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.AppenderRefDependencyAnalyser:44"
        BranchSideFuncs:
        - "peekModel()"
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.AppenderRefDependencyAnalyser:37,1"
      Dst: "[ch.qos.logback.core.model.AppenderRefModel].getRef()"
    - Src: "ch.qos.logback.core.model.processor.AppenderRefDependencyAnalyser:37,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.AppenderRefDependencyAnalyser:40,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].isModelStackEmpty()"
    - Src: "ch.qos.logback.core.model.processor.AppenderRefDependencyAnalyser:45,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekModel()"
    - Src: "ch.qos.logback.core.model.processor.AppenderRefDependencyAnalyser:48,1"
      Dst: "[ch.qos.logback.core.model.processor.DependencyDefinition].<init>(ch.qos.logback.core.model.Model,java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.AppenderRefDependencyAnalyser:49,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].addDependencyDefinition(ch.qos.logback.core.model.processor.DependencyDefinition)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.model.AppenderRefModel].getRef()"
    functionSourceFile: "ch.qos.logback.core.model.AppenderRefModel"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 152
    functionDepth: 12
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.OptionHelper].substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 26
    ICount: 11
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:153"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:158"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:157"
        BranchSideFuncs:
        - "substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:158,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:160,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:160,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].isModelStackEmpty()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Vector].isEmpty()"
    functionUses: 3
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:105,1"
      Dst: "[java.util.Vector].isEmpty()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekModel()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 0
    returnType: "ch.qos.logback.core.model.Model"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].peek()"
    functionUses: 4
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:101,1"
      Dst: "[java.util.Stack].peek()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DependencyDefinition].<init>(ch.qos.logback.core.model.Model,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DependencyDefinition"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.Model"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DependencyDefinition:34,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].addDependencyDefinition(ch.qos.logback.core.model.processor.DependencyDefinition)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 196
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.processor.DependencyDefinition"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:197,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__42].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__42"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__42].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__42:-1,1"
      Dst: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__42].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__42].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__42"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__42:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__42].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__42"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__42:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__42].get()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__42"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.EventEvaluatorAction].<init>()"
    functionUses: 3
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__42:-1,1"
      Dst: "[ch.qos.logback.core.joran.action.EventEvaluatorAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.EventEvaluatorAction].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.action.EventEvaluatorAction"
    linkageType: null
    functionLinenumber: 21
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.EventEvaluatorAction:22,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.StatusListenerModelHandler].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.model.processor.StatusListenerModelHandler"
    linkageType: null
    functionLinenumber: 17
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.StatusListenerModelHandler:18,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.StatusListenerModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.StatusListenerModelHandler"
    linkageType: null
    functionLinenumber: 21
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.StatusListenerModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.StatusListenerModelHandler:22,1"
      Dst: "[ch.qos.logback.core.model.processor.StatusListenerModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.StatusListenerModelHandler].getSupportedModelClass()"
    functionSourceFile: "ch.qos.logback.core.model.processor.StatusListenerModelHandler"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 0
    returnType: "java.lang.Class"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.StatusListenerModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.StatusListenerModelHandler"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.ComponentModel].getClassName()"
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getImport(java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.BasicStatusManager].add(ch.qos.logback.core.status.StatusListener)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.classic.spi.LoggerContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].pushObject(java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.model.processor.ModelHandlerException].<init>(java.lang.Throwable)"
    - "[ch.qos.logback.core.Context].getStatusManager()"
    - "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.StatusListener)"
    - "[java.lang.Boolean].valueOf(boolean)"
    - "[ch.qos.logback.core.spi.ContextAware].setContext(ch.qos.logback.core.Context)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 3
    ICount: 43
    EdgeCount: 19
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.StatusListenerModelHandler:37"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.StatusListenerModelHandler:42"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.model.processor.StatusListenerModelHandler:41"
        BranchSideFuncs:
        - "add(ch.qos.logback.core.status.StatusListener)"
        - "getStatusManager()"
        - "getImport(java.lang.String)"
        - "getContext()"
        - "instantiateByClassName(java.lang.String,java.lang.Class,ch.qos.logback.core.Context)"
    - Branch String: "ch.qos.logback.core.model.processor.StatusListenerModelHandler:49"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.StatusListenerModelHandler:52"
        BranchSideFuncs:
        - "setContext(ch.qos.logback.core.Context)"
      - BranchSide: "ch.qos.logback.core.model.processor.StatusListenerModelHandler:51"
        BranchSideFuncs:
        - "getClassName()"
        - "addError(java.lang.String,java.lang.Throwable)"
        - "pushObject(java.lang.Object)"
        - "<init>(java.lang.Throwable)"
        - "addInfo(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.StatusListenerModelHandler:35,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].getClassName()"
    - Src: "ch.qos.logback.core.model.processor.StatusListenerModelHandler:37,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.StatusListenerModelHandler:38,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.StatusListenerModelHandler:42,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getImport(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.StatusListenerModelHandler:46,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.model.processor.StatusListenerModelHandler:48,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - Src: "ch.qos.logback.core.model.processor.StatusListenerModelHandler:48,1"
      Dst: "[ch.qos.logback.core.Context].getStatusManager()"
    - Src: "ch.qos.logback.core.model.processor.StatusListenerModelHandler:48,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.StatusListener)"
    - Src: "ch.qos.logback.core.model.processor.StatusListenerModelHandler:48,1"
      Dst: "[java.lang.Boolean].valueOf(boolean)"
    - Src: "ch.qos.logback.core.model.processor.StatusListenerModelHandler:50,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.model.processor.StatusListenerModelHandler:52,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.StatusListenerModelHandler:52,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.StatusListenerModelHandler:53,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].pushObject(java.lang.Object)"
    - Src: "ch.qos.logback.core.model.processor.StatusListenerModelHandler:56,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.model.processor.StatusListenerModelHandler:57,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerException].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ComponentModel].getClassName()"
    functionSourceFile: "ch.qos.logback.core.model.ComponentModel"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 11
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 282
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    - "[java.lang.String].length()"
    functionUses: 62
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].length()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getImport(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 287
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map].get(java.lang.Object)"
    functionUses: 9
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:288"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:291"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:290"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:292"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:295"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:294"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:291,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 3
    returnType: "java.lang.Object"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Class"
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].getClassLoaderOfObject(java.lang.Object)"
    - "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,java.lang.ClassLoader)"
    functionUses: 12
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:32,1"
      Dst: "[ch.qos.logback.core.util.Loader].getClassLoaderOfObject(java.lang.Object)"
    - Src: "ch.qos.logback.core.util.OptionHelper:33,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,java.lang.ClassLoader)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 0
    returnType: "ch.qos.logback.core.Context"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 35
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].pushObject(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 126
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].push(java.lang.Object)"
    functionUses: 12
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:127,1"
      Dst: "[java.util.Stack].push(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 74
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelHandlerException].<init>(java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelHandlerException"
    linkageType: null
    functionLinenumber: 10
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Exception].<init>(java.lang.Throwable)"
    functionUses: 5
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelHandlerException:11,1"
      Dst: "[java.lang.Exception].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.StatusListenerModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.StatusListenerModelHandler"
    linkageType: null
    functionLinenumber: 62
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.StatusListenerModelHandler].isEffectivelyAdded()"
    - "[ch.qos.logback.classic.net.SocketReceiver].run()"
    - "[ch.qos.logback.core.boolex.Matcher].start()"
    - "[ch.qos.logback.classic.turbo.MarkerFilter].start()"
    - "[ch.qos.logback.classic.pattern.SyslogStartConverter].start()"
    - "[ch.qos.logback.classic.pattern.KeyValuePairConverter].start()"
    - "[ch.qos.logback.classic.jul.LevelChangePropagator].start()"
    - "[ch.qos.logback.core.AsyncAppenderBase].start()"
    - "[ch.qos.logback.core.pattern.PatternLayoutBase].start()"
    - "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP].start()"
    - "[ch.qos.logback.core.net.server.SSLServerSocketAppenderBase].start()"
    - "[ch.qos.logback.core.status.OnPrintStreamStatusListenerBase].start()"
    - "[ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy].start()"
    - "[ch.qos.logback.core.testUtil.StringListAppender].start()"
    - "[ch.qos.logback.core.filter.EvaluatorFilter].start()"
    - "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].start()"
    - "[ch.qos.logback.classic.html.HTMLLayout].start()"
    - "[ch.qos.logback.classic.pattern.MDCConverter].start()"
    - "[ch.qos.logback.core.net.SMTPAppenderBase].start()"
    - "[ch.qos.logback.core.status.OnFileStatusListener].start()"
    - "[ch.qos.logback.classic.log4j.XMLLayout].start()"
    - "[ch.qos.logback.classic.net.SMTPAppender].start()"
    - "[ch.qos.logback.core.read.CyclicBufferAppender].start()"
    - "[ch.qos.logback.core.boolex.JaninoEventEvaluatorBase].start()"
    - "[ch.qos.logback.core.FileAppender].start()"
    - "[ch.qos.logback.classic.pattern.DateConverter].start()"
    - "[ch.qos.logback.classic.pattern.PropertyConverter].start()"
    - "[ch.qos.logback.classic.encoder.PatternLayoutEncoder].start()"
    - "[ch.qos.logback.classic.layout.TTLLLayout].start()"
    - "[ch.qos.logback.core.rolling.FixedWindowRollingPolicy].start()"
    - "[ch.qos.logback.classic.turbo.MDCFilter].start()"
    - "[ch.qos.logback.classic.pattern.NamedConverter].start()"
    - "[ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy].start()"
    - "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase].start()"
    - "[ch.qos.logback.core.OutputStreamAppender].start()"
    - "[ch.qos.logback.classic.filter.ThresholdFilter].start()"
    - "[ch.qos.logback.core.net.server.AbstractServerSocketAppender].start()"
    - "[ch.qos.logback.classic.pattern.CallerDataConverter].start()"
    - "[ch.qos.logback.classic.pattern.SequenceNumberConverter].start()"
    - "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].start()"
    - "[ch.qos.logback.core.net.SyslogAppenderBase].start()"
    - "[ch.qos.logback.core.sift.SiftingAppenderBase].start()"
    - "[ch.qos.logback.core.rolling.RollingFileAppender].start()"
    - "[ch.qos.logback.core.rolling.helper.DateTokenConverter].start()"
    - "[ch.qos.logback.classic.LoggerContext].start()"
    - "[ch.qos.logback.classic.net.ReceiverBase].start()"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].start()"
    - "[ch.qos.logback.core.net.AbstractSocketAppender].start()"
    - "[ch.qos.logback.classic.turbo.DuplicateMessageFilter].start()"
    - "[ch.qos.logback.classic.turbo.DynamicThresholdFilter].start()"
    - "[ch.qos.logback.core.ConsoleAppender].start()"
    - "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].start()"
    - "[ch.qos.logback.classic.sift.MDCBasedDiscriminator].start()"
    - "[ch.qos.logback.core.pattern.ReplacingCompositeConverter].start()"
    - "[ch.qos.logback.core.html.HTMLLayoutBase].start()"
    - "[ch.qos.logback.classic.filter.LevelFilter].start()"
    - "[ch.qos.logback.classic.helpers.WithLayoutListAppender].start()"
    - "[ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy].start()"
    - "[ch.qos.logback.classic.net.SyslogAppender].start()"
    - "[ch.qos.logback.core.net.AbstractSSLSocketAppender].start()"
    - "[ch.qos.logback.classic.turbo.TurboFilter:ch.qos.logback.core.AppenderBase:ch.qos.logback.core.ContextBase:ch.qos.logback.core.LayoutBase:ch.qos.logback.core.UnsynchronizedAppenderBase:ch.qos.logback.core.boolex.EventEvaluatorBase:ch.qos.logback.core.encoder.EncoderBase:ch.qos.logback.core.filter.Filter:ch.qos.logback.core.pattern.DynamicConverter:ch.qos.logback.core.rolling.RollingPolicyBase:ch.qos.logback.core.rolling.TriggeringPolicyBase:ch.qos.logback.core.sift.AbstractDiscriminator:ch.qos.logback.core.testUtil.TrivialStatusListener].start()"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekObject()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].popObject()"
    - "[ch.qos.logback.core.spi.LifeCycle].start()"
    functionUses: 3
    ICount: 21
    EdgeCount: 64
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.StatusListenerModelHandler:63"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.StatusListenerModelHandler:67"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.StatusListenerModelHandler:66"
        BranchSideFuncs:
        - "isEffectivelyAdded()"
    - Branch String: "ch.qos.logback.core.model.processor.StatusListenerModelHandler:67"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.StatusListenerModelHandler:70"
        BranchSideFuncs:
        - "run()"
        - "start()"
      - BranchSide: "ch.qos.logback.core.model.processor.StatusListenerModelHandler:69"
        BranchSideFuncs:
        - "peekObject()"
    - Branch String: "ch.qos.logback.core.model.processor.StatusListenerModelHandler:67"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.StatusListenerModelHandler:70"
        BranchSideFuncs:
        - "run()"
        - "start()"
      - BranchSide: "ch.qos.logback.core.model.processor.StatusListenerModelHandler:69"
        BranchSideFuncs:
        - "peekObject()"
    - Branch String: "ch.qos.logback.core.model.processor.StatusListenerModelHandler:71"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.StatusListenerModelHandler:74"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.model.processor.StatusListenerModelHandler:73"
        BranchSideFuncs:
        - "popObject()"
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.StatusListenerModelHandler:67,1"
      Dst: "[ch.qos.logback.core.model.processor.StatusListenerModelHandler].isEffectivelyAdded()"
    - Src: "ch.qos.logback.core.model.processor.StatusListenerModelHandler:68,1"
      Dst: "[ch.qos.logback.core.spi.LifeCycle].start()"
    - Src: "ch.qos.logback.core.model.processor.StatusListenerModelHandler:70,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekObject()"
    - Src: "ch.qos.logback.core.model.processor.StatusListenerModelHandler:72,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.StatusListenerModelHandler:74,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].popObject()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.model.processor.StatusListenerModelHandler].isEffectivelyAdded()"
    functionSourceFile: "ch.qos.logback.core.model.processor.StatusListenerModelHandler"
    linkageType: null
    functionLinenumber: 78
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Boolean].booleanValue()"
    functionUses: 1
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.StatusListenerModelHandler:79"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.StatusListenerModelHandler:81"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.StatusListenerModelHandler:80"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.StatusListenerModelHandler:81,1"
      Dst: "[java.lang.Boolean].booleanValue()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekObject()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 122
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].peek()"
    functionUses: 16
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:123,1"
      Dst: "[java.util.Stack].peek()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 96
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].popObject()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 130
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].pop()"
    functionUses: 12
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:131,1"
      Dst: "[java.util.Stack].pop()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.StatusListenerModelHandler].isEffectivelyAdded()"
    functionSourceFile: "ch.qos.logback.core.model.processor.StatusListenerModelHandler"
    linkageType: null
    functionLinenumber: 78
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Boolean].booleanValue()"
    functionUses: 1
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.StatusListenerModelHandler:79"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.StatusListenerModelHandler:81"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.StatusListenerModelHandler:80"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.StatusListenerModelHandler:81,1"
      Dst: "[java.lang.Boolean].booleanValue()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.ImcplicitActionDataForBasicProperty].<init>(ch.qos.logback.core.joran.util.PropertySetter,ch.qos.logback.core.util.AggregationType,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.action.ImcplicitActionDataForBasicProperty"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.util.PropertySetter"
    - "ch.qos.logback.core.util.AggregationType"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.ImplicitModelData].<init>(ch.qos.logback.core.joran.util.PropertySetter,ch.qos.logback.core.util.AggregationType,java.lang.String)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.ImcplicitActionDataForBasicProperty:28,1"
      Dst: "[ch.qos.logback.core.joran.action.ImplicitModelData].<init>(ch.qos.logback.core.joran.util.PropertySetter,ch.qos.logback.core.util.AggregationType,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.LRUMessageCache].<init>(int)"
    functionSourceFile: "ch.qos.logback.classic.turbo.LRUMessageCache"
    linkageType: null
    functionLinenumber: 29
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.LinkedHashMap].<init>(int,float,boolean)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.turbo.LRUMessageCache:31"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.turbo.LRUMessageCache:34"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.turbo.LRUMessageCache:33"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.turbo.LRUMessageCache:30,1"
      Dst: "[java.util.LinkedHashMap].<init>(int,float,boolean)"
    - Src: "ch.qos.logback.classic.turbo.LRUMessageCache:32,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.LRUMessageCache].getMessageCountAndThenIncrement(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.turbo.LRUMessageCache"
    linkageType: null
    functionLinenumber: 38
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.LinkedHashMap].get(java.lang.Object)"
    - "[java.lang.Integer].valueOf(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.util.HashMap].put(java.lang.Object,java.lang.Object)"
    functionUses: 1
    ICount: 21
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.turbo.LRUMessageCache:39"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.turbo.LRUMessageCache:45"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.turbo.LRUMessageCache:44"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.turbo.LRUMessageCache:47"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.turbo.LRUMessageCache:50"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.turbo.LRUMessageCache:49"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.turbo.LRUMessageCache:46,1"
      Dst: "[java.util.LinkedHashMap].get(java.lang.Object)"
    - Src: "ch.qos.logback.classic.turbo.LRUMessageCache:48,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "ch.qos.logback.classic.turbo.LRUMessageCache:50,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "ch.qos.logback.classic.turbo.LRUMessageCache:52,1"
      Dst: "[java.util.HashMap].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.LRUMessageCache].removeEldestEntry(java.util.Map$Entry)"
    functionSourceFile: "ch.qos.logback.classic.turbo.LRUMessageCache"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.util.Map$Entry"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashMap].size()"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.turbo.LRUMessageCache:60"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.turbo.LRUMessageCache:59"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.turbo.LRUMessageCache:60,1"
      Dst: "[java.util.HashMap].size()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.turbo.LRUMessageCache].clear()"
    functionSourceFile: "ch.qos.logback.classic.turbo.LRUMessageCache"
    linkageType: null
    functionLinenumber: 64
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.LinkedHashMap].clear()"
    functionUses: 4
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.turbo.LRUMessageCache:65,1"
      Dst: "[java.util.LinkedHashMap].clear()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.SiftModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.SiftModel"
    linkageType: null
    functionLinenumber: 15
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.SiftModel:16,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.SiftModel].makeNewInstance()"
    functionSourceFile: "ch.qos.logback.core.model.SiftModel"
    linkageType: null
    functionLinenumber: 21
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.SiftModel"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.SiftModel].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.SiftModel:22,1"
      Dst: "[ch.qos.logback.core.model.SiftModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.SiftModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.SiftModel"
    linkageType: null
    functionLinenumber: 15
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.SiftModel:16,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__70].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__70"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__70].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__70:-1,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__70].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__70].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__70"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__70:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__70].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__70"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ImportModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__70:-1,1"
      Dst: "[ch.qos.logback.core.model.processor.ImportModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ImportModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ImportModelHandler"
    linkageType: null
    functionLinenumber: 15
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ImportModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ImportModelHandler:16,1"
      Dst: "[ch.qos.logback.core.model.processor.ImportModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ImportModelHandler].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ImportModelHandler"
    linkageType: null
    functionLinenumber: 11
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ImportModelHandler:12,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel].<init>(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel"
    linkageType: null
    functionLinenumber: 48
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.Model"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].duplicate(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 12
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel:49,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel:50,1"
      Dst: "[ch.qos.logback.core.model.Model].duplicate(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel:53,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel].getSiftingModelProcessor(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel"
    linkageType: null
    functionLinenumber: 58
    functionDepth: 5
    returnType: "ch.qos.logback.core.sift.SiftProcessor"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$1].<init>(ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.sift.SiftProcessor].<init>(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].addHandler(java.lang.Class,ch.qos.logback.core.model.ModelHandlerFactoryMethod)"
    - "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__97].bootstrap$()"
    - "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__98].bootstrap$()"
    - "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__99].bootstrap$()"
    - "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__100].bootstrap$()"
    - "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__101].bootstrap$()"
    functionUses: 1
    ICount: 19
    EdgeCount: 12
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel:59,1"
      Dst: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$1].<init>(ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel:65,1"
      Dst: "[ch.qos.logback.core.sift.SiftProcessor].<init>(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel:66,1"
      Dst: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__97].bootstrap$()"
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel:66,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].addHandler(java.lang.Class,ch.qos.logback.core.model.ModelHandlerFactoryMethod)"
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel:67,1"
      Dst: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__98].bootstrap$()"
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel:68,1"
      Dst: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__99].bootstrap$()"
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel:69,1"
      Dst: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__100].bootstrap$()"
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel:70,1"
      Dst: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__101].bootstrap$()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$1].<init>(ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$1"
    linkageType: null
    functionLinenumber: 58
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].<init>(ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$1:59,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].<init>(ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].<init>(ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 69
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].<init>(ch.qos.logback.core.Context,java.lang.Object)"
    - "[ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry].duplicate(ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getDefaultNestedComponentRegistry()"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].createAppenderBags()"
    - "[java.util.HashMap].<init>(java.util.Map)"
    functionUses: 1
    ICount: 18
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:70,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].<init>(ch.qos.logback.core.Context,java.lang.Object)"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:71,1"
      Dst: "[java.util.HashMap].<init>(java.util.Map)"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:73,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getDefaultNestedComponentRegistry()"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:73,1"
      Dst: "[ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry].duplicate(ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry)"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:74,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].createAppenderBags()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].<init>(ch.qos.logback.core.Context,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 57
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry].<init>()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - "[ch.qos.logback.core.joran.util.beans.BeanDescriptionCache].<init>(ch.qos.logback.core.Context)"
    - "[java.util.ArrayList].<init>()"
    - "[java.util.Stack].<init>()"
    - "[java.util.HashMap].<init>(int)"
    functionUses: 3
    ICount: 34
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:58,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:46,1"
      Dst: "[ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry].<init>()"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:47,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:61,1"
      Dst: "[java.util.Stack].<init>()"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:63,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanDescriptionCache].<init>(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:64,1"
      Dst: "[java.util.HashMap].<init>(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 34
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:34,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry"
    linkageType: null
    functionLinenumber: 24
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.HashMap].<init>()"
    functionUses: 1
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry:25,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry:27,1"
      Dst: "[java.util.HashMap].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.beans.BeanDescriptionCache].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.joran.util.beans.BeanDescriptionCache"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[java.util.HashMap].<init>()"
    functionUses: 1
    ICount: 8
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescriptionCache:27,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescriptionCache:24,1"
      Dst: "[java.util.HashMap].<init>()"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescriptionCache:28,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 67
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:45"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:44"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:47"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:46,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getDefaultNestedComponentRegistry()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 190
    functionDepth: 0
    returnType: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 5
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry].duplicate(ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map].putAll(java.util.Map)"
    functionUses: 1
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry:32,1"
      Dst: "[java.util.Map].putAll(java.util.Map)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].createAppenderBags()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 81
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashMap].<init>()"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 3
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:82,1"
      Dst: "[java.util.HashMap].<init>()"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:82,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.SiftProcessor].<init>(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.sift.SiftProcessor"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].<init>(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.SiftProcessor:24,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - Src: "ch.qos.logback.core.sift.SiftProcessor:24,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].<init>(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 0
    returnType: "ch.qos.logback.core.Context"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 35
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor].<init>(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor"
    linkageType: null
    functionLinenumber: 49
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ChainedModelFilter].<init>()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[java.util.HashMap].<init>()"
    functionUses: 3
    ICount: 19
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:50,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:44,1"
      Dst: "[java.util.HashMap].<init>()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:47,1"
      Dst: "[ch.qos.logback.core.model.processor.ChainedModelFilter].<init>()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:51,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ChainedModelFilter].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ChainedModelFilter"
    linkageType: null
    functionLinenumber: 12
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.ArrayList].<init>()"
    functionUses: 2
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ChainedModelFilter:13,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.model.processor.ChainedModelFilter:11,1"
      Dst: "[java.util.ArrayList].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__97].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__97"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__97].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__97:-1,1"
      Dst: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__97].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__97].<init>()"
    functionSourceFile: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__97"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__97:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor].addHandler(java.lang.Class,ch.qos.logback.core.model.ModelHandlerFactoryMethod)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor"
    linkageType: null
    functionLinenumber: 56
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].determineProcessingPhase(java.lang.Class)"
    - "[ch.qos.logback.core.model.processor.ChainedModelFilter].allow(java.lang.Class)"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].getPhaseOneFilter()"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].getPhaseTwoFilter()"
    - "[java.util.HashMap].put(java.lang.Object,java.lang.Object)"
    - "[java.lang.Enum].ordinal()"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.model.processor.ProcessingPhase,java.lang.String)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 45
    ICount: 22
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:57,1"
      Dst: "[java.util.HashMap].put(java.lang.Object,java.lang.Object)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:59,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].determineProcessingPhase(java.lang.Class)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:60,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:62,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].getPhaseOneFilter()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:62,1"
      Dst: "[ch.qos.logback.core.model.processor.ChainedModelFilter].allow(java.lang.Class)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:65,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].getPhaseTwoFilter()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:68,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:68,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.model.processor.ProcessingPhase,java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:68,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__98].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__98"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__98].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__98:-1,1"
      Dst: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__98].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__99].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__99"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__99].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__99:-1,1"
      Dst: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__99].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__99].<init>()"
    functionSourceFile: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__99"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__99:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__100].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__100"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__100].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__100:-1,1"
      Dst: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__100].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__100].<init>()"
    functionSourceFile: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__100"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__100:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__101].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__101"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__101].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__101:-1,1"
      Dst: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__101].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__101].<init>()"
    functionSourceFile: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__101"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__101:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel].buildAppender(ch.qos.logback.core.Context,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel"
    linkageType: null
    functionLinenumber: 77
    functionDepth: 6
    returnType: "ch.qos.logback.core.Appender"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel].getSiftingModelProcessor(java.lang.String)"
    - "[ch.qos.logback.core.sift.SiftProcessor].getModelInterpretationContext()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.model.Model].duplicate(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].addSubstitutionProperty(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].process(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getObjectMap()"
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[java.util.Map].get(java.lang.Object)"
    - "[java.util.Map].values()"
    - "[java.util.Collection].size()"
    - "[java.util.Collection].iterator()"
    - "[java.util.Iterator].next()"
    functionUses: 1
    ICount: 22
    EdgeCount: 9
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel:88"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel:91"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel:90"
        BranchSideFuncs:
        - "iterator()"
    Callsites:
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel:78,1"
      Dst: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel].getSiftingModelProcessor(java.lang.String)"
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel:79,1"
      Dst: "[ch.qos.logback.core.sift.SiftProcessor].getModelInterpretationContext()"
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel:80,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel:81,1"
      Dst: "[ch.qos.logback.core.model.Model].duplicate(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel:82,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].addSubstitutionProperty(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel:83,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].process(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel:85,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getObjectMap()"
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel:86,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel:87,1"
      Dst: "[java.util.Map].values()"
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel:88,1"
      Dst: "[java.util.Collection].size()"
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel:91,1"
      Dst: "[java.util.Collection].iterator()"
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel:91,1"
      Dst: "[java.util.Iterator].next()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel].getSiftingModelProcessor(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel"
    linkageType: null
    functionLinenumber: 58
    functionDepth: 5
    returnType: "ch.qos.logback.core.sift.SiftProcessor"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$1].<init>(ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.sift.SiftProcessor].<init>(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].addHandler(java.lang.Class,ch.qos.logback.core.model.ModelHandlerFactoryMethod)"
    - "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__97].bootstrap$()"
    - "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__98].bootstrap$()"
    - "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__99].bootstrap$()"
    - "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__100].bootstrap$()"
    - "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__101].bootstrap$()"
    functionUses: 1
    ICount: 19
    EdgeCount: 12
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel:59,1"
      Dst: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$1].<init>(ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel:65,1"
      Dst: "[ch.qos.logback.core.sift.SiftProcessor].<init>(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel:66,1"
      Dst: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__97].bootstrap$()"
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel:66,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].addHandler(java.lang.Class,ch.qos.logback.core.model.ModelHandlerFactoryMethod)"
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel:67,1"
      Dst: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__98].bootstrap$()"
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel:68,1"
      Dst: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__99].bootstrap$()"
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel:69,1"
      Dst: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__100].bootstrap$()"
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel:70,1"
      Dst: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__101].bootstrap$()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.SiftProcessor].getModelInterpretationContext()"
    functionSourceFile: "ch.qos.logback.core.sift.SiftProcessor"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 0
    returnType: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 67
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:45"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:44"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:47"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:46,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.model.Model].duplicate(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.Model"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.AppenderModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.NamedComponentModel].makeNewInstance()"
    - "[ch.qos.logback.classic.model.LoggerContextListenerModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.AppenderRefModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.conditional.ThenModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.conditional.ElseModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.ShutdownHookModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.StatusListenerModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.conditional.IfModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.Model].makeNewInstance()"
    - "[ch.qos.logback.core.model.DefineModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.SerializeModelModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.InsertFromJNDIModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.NamedModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.ParamModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.ImportModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.TimestampModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.SiftModel].makeNewInstance()"
    - "[ch.qos.logback.classic.model.RootLoggerModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.SequenceNumberGeneratorModel].makeNewInstance()"
    - "[ch.qos.logback.classic.model.ConfigurationModel].makeNewInstance()"
    - "[ch.qos.logback.classic.model.LevelModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.EventEvaluatorModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.PropertyModel].makeNewInstance()"
    - "[ch.qos.logback.classic.model.LoggerModel].makeNewInstance()"
    - "[ch.qos.logback.classic.model.ReceiverModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.ComponentModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.ImplicitModel].makeNewInstance()"
    - "[ch.qos.logback.classic.model.ContextNameModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.ParamModel].mirror(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.conditional.IfModel].mirror(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.ComponentModel].mirror(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.AppenderRefModel].mirror(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.ImportModel].mirror(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.RootLoggerModel].mirror(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.ConfigurationModel].mirror(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.LoggerModel].mirror(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.TimestampModel].mirror(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.InsertFromJNDIModel].mirror(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.DefineModel].mirror(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.NamedModel].mirror(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.PropertyModel].mirror(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.LevelModel].mirror(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.NamedComponentModel].mirror(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.Model].mirror(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.model.Model].duplicate(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 3
    ICount: 14
    EdgeCount: 48
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.Model:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:49"
        BranchSideFuncs:
        - "add(java.lang.Object)"
        - "iterator()"
        - "duplicate(ch.qos.logback.core.model.Model)"
      - BranchSide: "ch.qos.logback.core.model.Model:48"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:43,1"
      Dst: "[ch.qos.logback.core.model.Model].makeNewInstance()"
    - Src: "ch.qos.logback.core.model.Model:44,1"
      Dst: "[ch.qos.logback.core.model.Model].mirror(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.model.Model:45,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.model.Model:45,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.model.Model:45,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.model.Model:46,1"
      Dst: "[ch.qos.logback.core.model.Model].duplicate(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.model.Model:47,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].addSubstitutionProperty(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 170
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 4
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:171"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:172"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:171"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:171"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:175"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:174"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:175,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:176,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor].process(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor"
    linkageType: null
    functionLinenumber: 97
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].initialObjectPush()"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].getPhaseOneFilter()"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].mainTraverse(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelFilter)"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].analyseDependencies(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor$secondPhaseTraverse__19].bootstrap$(ch.qos.logback.core.model.processor.DefaultProcessor)"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].getPhaseTwoFilter()"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].traversalLoop(ch.qos.logback.core.model.processor.DefaultProcessor$TraverseMethod,ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelFilter,java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].finalObjectPop()"
    functionUses: 3
    ICount: 15
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:98"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:102"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:101"
        BranchSideFuncs:
        - "getPhaseTwoFilter()"
        - "initialObjectPush()"
        - "mainTraverse(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelFilter)"
        - "traversalLoop(ch.qos.logback.core.model.processor.DefaultProcessor$TraverseMethod,ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelFilter,java.lang.String)"
        - "finalObjectPop()"
        - "bootstrap$(ch.qos.logback.core.model.processor.DefaultProcessor)"
        - "getPhaseOneFilter()"
        - "analyseDependencies(ch.qos.logback.core.model.Model)"
        - "addInfo(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:99,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:102,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].initialObjectPush()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:104,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].getPhaseOneFilter()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:104,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].mainTraverse(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelFilter)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:105,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].analyseDependencies(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:106,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor$secondPhaseTraverse__19].bootstrap$(ch.qos.logback.core.model.processor.DefaultProcessor)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:106,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].getPhaseTwoFilter()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:106,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].traversalLoop(ch.qos.logback.core.model.processor.DefaultProcessor$TraverseMethod,ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelFilter,java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:108,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:109,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].finalObjectPop()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor].initialObjectPush()"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor"
    linkageType: null
    functionLinenumber: 116
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].pushObject(java.lang.Object)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:117,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].pushObject(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].pushObject(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 126
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].push(java.lang.Object)"
    functionUses: 12
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:127,1"
      Dst: "[java.util.Stack].push(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor].getPhaseOneFilter()"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor"
    linkageType: null
    functionLinenumber: 120
    functionDepth: 0
    returnType: "ch.qos.logback.core.model.processor.ChainedModelFilter"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor].mainTraverse(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelFilter)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor"
    linkageType: null
    functionLinenumber: 189
    functionDepth: 3
    returnType: "int"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.Model"
    - "ch.qos.logback.core.model.processor.ModelFilter"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ChainedModelFilter].decide(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.DenyModelFilter].decide(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.DenyAllModelFilter].decide(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.AllowModelFilter].decide(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.AllowAllModelFilter].decide(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.Model].isUnhandled()"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].createHandler(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.conditional.ElseModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.joran.ParamModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.conditional.IfModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.LevelModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.ImportModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.RootLoggerModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.AppenderModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.AppenderRefDependencyAnalyser].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.ImplicitModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.LoggerModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.SerializeModelModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.PropertyModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.ReceiverModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.ShutdownHookModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.ConfigurationModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.TimestampModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.ContextNameModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.sift.SiftModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.StatusListenerModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.DefineModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.conditional.ThenModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.EventEvaluatorModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.AppenderRefModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.NOPModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.sift.NOPSiftModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.Model].markAsHandled()"
    - "[ch.qos.logback.core.model.Model].isSkipped()"
    - "[ch.qos.logback.core.model.Model].getSubModels()"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].mainTraverse(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelFilter)"
    - "[ch.qos.logback.classic.model.processor.RootLoggerModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.DefineModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.ShutdownHookModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.StatusListenerModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.conditional.IfModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.ImplicitModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.ReceiverModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.LoggerModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.AppenderModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.EventEvaluatorModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.model.Model].getTag()"
    - "[ch.qos.logback.core.model.processor.ModelFilter].decide(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 2
    ICount: 40
    EdgeCount: 57
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:191"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:194"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:193"
        BranchSideFuncs:
        - "isUnhandled()"
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:200"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:209"
        BranchSideFuncs:
        - "createHandler(ch.qos.logback.core.model.Model)"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:208"
        BranchSideFuncs:
        - "isSkipped()"
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:202"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:209"
        BranchSideFuncs:
        - "handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
        - "markAsHandled()"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:208"
        BranchSideFuncs:
        - "isSkipped()"
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:209"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:215"
        BranchSideFuncs:
        - "iterator()"
        - "getSubModels()"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:214"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:210"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:215"
        BranchSideFuncs:
        - "iterator()"
        - "mainTraverse(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelFilter)"
        - "getSubModels()"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:214"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:215"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:220"
        BranchSideFuncs:
        - "postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:219"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:215"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:220"
        BranchSideFuncs:
        - "postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:219"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:190,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelFilter].decide(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:198,1"
      Dst: "[ch.qos.logback.core.model.Model].isUnhandled()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:201,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].createHandler(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:203,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:204,1"
      Dst: "[ch.qos.logback.core.model.Model].markAsHandled()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:209,1"
      Dst: "[ch.qos.logback.core.model.Model].isSkipped()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:210,1"
      Dst: "[ch.qos.logback.core.model.Model].getSubModels()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:210,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:210,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:210,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:211,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].mainTraverse(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelFilter)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:216,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:219,1"
      Dst: "[ch.qos.logback.core.model.Model].getTag()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:219,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:219,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 15
    CyclomaticComplexity: 7
  - functionName: "[ch.qos.logback.core.model.Model].isUnhandled()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 89
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.Model:90"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:89"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor].createHandler(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor"
    linkageType: null
    functionLinenumber: 169
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.model.Model].getTag()"
    - "[ch.qos.logback.core.model.Model].getLineNumber()"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__60].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__56].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__12].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__62].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__9].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$makeInstance2__3].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__13].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__16].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__73].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__71].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__72].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__4].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__74].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__11].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__86].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__57].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__80].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__70].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__81].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__6].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__77].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__10].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__5].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__76].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__78].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__79].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__85].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__17].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__7].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__14].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__59].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__15].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__75].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__58].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__8].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__61].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__84].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__82].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__63].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__83].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__18].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser].isSupportedModelType(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].isSupportedModelType(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.model.Model].idString()"
    - "[java.lang.Object].getClass()"
    - "[java.util.HashMap].get(java.lang.Object)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Class,java.lang.String,int)"
    - "[ch.qos.logback.core.model.ModelHandlerFactoryMethod].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Class,java.lang.String)"
    functionUses: 2
    ICount: 26
    EdgeCount: 48
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:172"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:178"
        BranchSideFuncs:
        - "getTag()"
        - "addError(java.lang.String)"
        - "getLineNumber()"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:177"
        BranchSideFuncs:
        - "make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:179"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:181"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:180"
        BranchSideFuncs:
        - "isSupportedModelType(ch.qos.logback.core.model.Model)"
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:181"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:185"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
        - "idString()"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:184"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:170,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:170,1"
      Dst: "[java.util.HashMap].get(java.lang.Object)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:173,1"
      Dst: "[ch.qos.logback.core.model.Model].getTag()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:174,1"
      Dst: "[ch.qos.logback.core.model.Model].getLineNumber()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:174,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Class,java.lang.String,int)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:173,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:178,1"
      Dst: "[ch.qos.logback.core.model.ModelHandlerFactoryMethod].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:181,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].isSupportedModelType(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:182,1"
      Dst: "[ch.qos.logback.core.model.Model].idString()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:182,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Class,java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:182,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].markAsHandled()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 97
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].isSkipped()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 85
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].getSubModels()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 120
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 8
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].getTag()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 16
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 74
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor].analyseDependencies(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor"
    linkageType: null
    functionLinenumber: 129
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__46].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__49].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__48].get()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_1__21].get()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_6__26].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__40].get()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_2__22].get()"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_1__65].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__51].get()"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_3__67].get()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_12__32].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__39].get()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_11__31].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__35].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__53].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__44].get()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_9__29].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__47].get()"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_2__66].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__42].get()"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_0__64].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__52].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__37].get()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_4__24].get()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_8__28].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__34].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__43].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__41].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__33].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__36].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__54].get()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_0__20].get()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_7__27].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__38].get()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_5__25].get()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_3__23].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__50].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__45].get()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_10__30].get()"
    - "[ch.qos.logback.core.model.Model].isSkipped()"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].callAnalyserHandleOnModel(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelHandlerBase)"
    - "[ch.qos.logback.core.model.Model].getSubModels()"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].analyseDependencies(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].callAnalyserPostHandleOnModel(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelHandlerBase)"
    - "[java.lang.Object].getClass()"
    - "[java.util.HashMap].get(java.lang.Object)"
    - "[java.util.function.Supplier].get()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    functionUses: 2
    ICount: 27
    EdgeCount: 46
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:134"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:138"
        BranchSideFuncs:
        - "get()"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:137"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:138"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:142"
        BranchSideFuncs:
        - "callAnalyserHandleOnModel(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelHandlerBase)"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:141"
        BranchSideFuncs:
        - "iterator()"
        - "getSubModels()"
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:138"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:142"
        BranchSideFuncs:
        - "callAnalyserHandleOnModel(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelHandlerBase)"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:141"
        BranchSideFuncs:
        - "iterator()"
        - "getSubModels()"
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:142"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:146"
        BranchSideFuncs:
        - "iterator()"
        - "analyseDependencies(ch.qos.logback.core.model.Model)"
        - "getSubModels()"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:145"
        BranchSideFuncs:
        - "isSkipped()"
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:146"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:149"
        BranchSideFuncs:
        - "callAnalyserPostHandleOnModel(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelHandlerBase)"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:148"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:146"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:149"
        BranchSideFuncs:
        - "callAnalyserPostHandleOnModel(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelHandlerBase)"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:148"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:130,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:130,1"
      Dst: "[java.util.HashMap].get(java.lang.Object)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:135,1"
      Dst: "[java.util.function.Supplier].get()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:138,1"
      Dst: "[ch.qos.logback.core.model.Model].isSkipped()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:139,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].callAnalyserHandleOnModel(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelHandlerBase)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:142,1"
      Dst: "[ch.qos.logback.core.model.Model].getSubModels()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:142,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:142,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:142,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:143,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].analyseDependencies(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:147,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].callAnalyserPostHandleOnModel(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelHandlerBase)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 12
    CyclomaticComplexity: 7
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor].callAnalyserHandleOnModel(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelHandlerBase)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor"
    linkageType: null
    functionLinenumber: 160
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.Model"
    - "ch.qos.logback.core.model.processor.ModelHandlerBase"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.conditional.ElseModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.joran.ParamModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.conditional.IfModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.LevelModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.sift.NOPSiftModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.ImportModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.RootLoggerModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.AppenderModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.AppenderRefDependencyAnalyser].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.ImplicitModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.LoggerModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.SerializeModelModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.PropertyModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.ReceiverModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.ShutdownHookModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.ConfigurationModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.TimestampModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.ContextNameModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.sift.SiftModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.StatusListenerModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.DefineModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.conditional.ThenModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.EventEvaluatorModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.AppenderRefModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.NOPModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.model.Model].getTag()"
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 11
    EdgeCount: 31
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:161,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:163,1"
      Dst: "[ch.qos.logback.core.model.Model].getTag()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:163,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:163,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor].callAnalyserPostHandleOnModel(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelHandlerBase)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor"
    linkageType: null
    functionLinenumber: 152
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.Model"
    - "ch.qos.logback.core.model.processor.ModelHandlerBase"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.EventEvaluatorModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.RootLoggerModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.DefineModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.ShutdownHookModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.StatusListenerModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.conditional.IfModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.ImplicitModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.ReceiverModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.LoggerModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.AppenderModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.model.Model].getTag()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 11
    EdgeCount: 16
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:153,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:155,1"
      Dst: "[ch.qos.logback.core.model.Model].getTag()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:155,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:155,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor$secondPhaseTraverse__19].bootstrap$(ch.qos.logback.core.model.processor.DefaultProcessor)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor$secondPhaseTraverse__19"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.DefaultProcessor$TraverseMethod"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.processor.DefaultProcessor"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.DefaultProcessor$secondPhaseTraverse__19].<init>(ch.qos.logback.core.model.processor.DefaultProcessor)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor$secondPhaseTraverse__19:-1,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor$secondPhaseTraverse__19].<init>(ch.qos.logback.core.model.processor.DefaultProcessor)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor].getPhaseTwoFilter()"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor"
    linkageType: null
    functionLinenumber: 124
    functionDepth: 0
    returnType: "ch.qos.logback.core.model.processor.ChainedModelFilter"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor].traversalLoop(ch.qos.logback.core.model.processor.DefaultProcessor$TraverseMethod,ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelFilter,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor"
    linkageType: null
    functionLinenumber: 88
    functionDepth: 0
    returnType: "void"
    argCount: 4
    argTypes:
    - "ch.qos.logback.core.model.processor.DefaultProcessor$TraverseMethod"
    - "ch.qos.logback.core.model.Model"
    - "ch.qos.logback.core.model.processor.ModelFilter"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.DefaultProcessor$secondPhaseTraverse__19].traverse(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelFilter)"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor$TraverseMethod].traverse(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelFilter)"
    functionUses: 1
    ICount: 13
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:89"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:94"
        BranchSideFuncs:
        - "traverse(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelFilter)"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:93"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:91"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:89"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:88"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:90,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor$TraverseMethod].traverse(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelFilter)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor].finalObjectPop()"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor"
    linkageType: null
    functionLinenumber: 112
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].popObject()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:113,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].popObject()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].popObject()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 130
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].pop()"
    functionUses: 12
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:131,1"
      Dst: "[java.util.Stack].pop()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getObjectMap()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 77
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel].getSiftModel()"
    functionSourceFile: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.core.model.Model"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.DynamicClassLoadingException].<init>(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.util.DynamicClassLoadingException"
    linkageType: null
    functionLinenumber: 20
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Exception].<init>(java.lang.String,java.lang.Throwable)"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.DynamicClassLoadingException:21,1"
      Dst: "[java.lang.Exception].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.DefaultSocketConnector].<init>(java.net.InetAddress,int,long,long)"
    functionSourceFile: "ch.qos.logback.core.net.DefaultSocketConnector"
    linkageType: null
    functionLinenumber: 48
    functionDepth: 1
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.net.InetAddress"
    - "int"
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.DefaultSocketConnector].<init>(java.net.InetAddress,int,ch.qos.logback.core.util.DelayStrategy)"
    - "[ch.qos.logback.core.util.FixedDelay].<init>(long,long)"
    functionUses: 2
    ICount: 9
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.DefaultSocketConnector:49,1"
      Dst: "[ch.qos.logback.core.util.FixedDelay].<init>(long,long)"
    - Src: "ch.qos.logback.core.net.DefaultSocketConnector:49,1"
      Dst: "[ch.qos.logback.core.net.DefaultSocketConnector].<init>(java.net.InetAddress,int,ch.qos.logback.core.util.DelayStrategy)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.DefaultSocketConnector].<init>(java.net.InetAddress,int,ch.qos.logback.core.util.DelayStrategy)"
    functionSourceFile: "ch.qos.logback.core.net.DefaultSocketConnector"
    linkageType: null
    functionLinenumber: 59
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.net.InetAddress"
    - "int"
    - "ch.qos.logback.core.util.DelayStrategy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.DefaultSocketConnector:60,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.DefaultSocketConnector].call()"
    functionSourceFile: "ch.qos.logback.core.net.DefaultSocketConnector"
    linkageType: null
    functionLinenumber: 70
    functionDepth: 2
    returnType: "java.net.Socket"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.DefaultSocketConnector].useDefaultsForMissingFields()"
    - "[ch.qos.logback.core.net.DefaultSocketConnector].createSocket()"
    - "[ch.qos.logback.core.util.FixedDelay].nextDelay()"
    - "[java.lang.Thread].currentThread()"
    - "[java.lang.Thread].isInterrupted()"
    - "[ch.qos.logback.core.util.DelayStrategy].nextDelay()"
    - "[java.lang.Thread].sleep(long)"
    functionUses: 1
    ICount: 13
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.DefaultSocketConnector:73"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.DefaultSocketConnector:77"
        BranchSideFuncs:
        - "nextDelay()"
        - "createSocket()"
      - BranchSide: "ch.qos.logback.core.net.DefaultSocketConnector:76"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.net.DefaultSocketConnector:73"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.DefaultSocketConnector:77"
        BranchSideFuncs:
        - "nextDelay()"
        - "createSocket()"
      - BranchSide: "ch.qos.logback.core.net.DefaultSocketConnector:76"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.DefaultSocketConnector:71,1"
      Dst: "[ch.qos.logback.core.net.DefaultSocketConnector].useDefaultsForMissingFields()"
    - Src: "ch.qos.logback.core.net.DefaultSocketConnector:72,1"
      Dst: "[ch.qos.logback.core.net.DefaultSocketConnector].createSocket()"
    - Src: "ch.qos.logback.core.net.DefaultSocketConnector:73,1"
      Dst: "[java.lang.Thread].currentThread()"
    - Src: "ch.qos.logback.core.net.DefaultSocketConnector:73,1"
      Dst: "[java.lang.Thread].isInterrupted()"
    - Src: "ch.qos.logback.core.net.DefaultSocketConnector:74,1"
      Dst: "[ch.qos.logback.core.util.DelayStrategy].nextDelay()"
    - Src: "ch.qos.logback.core.net.DefaultSocketConnector:74,1"
      Dst: "[java.lang.Thread].sleep(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.net.DefaultSocketConnector].useDefaultsForMissingFields()"
    functionSourceFile: "ch.qos.logback.core.net.DefaultSocketConnector"
    linkageType: null
    functionLinenumber: 90
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.DefaultSocketConnector$ConsoleExceptionHandler].<init>()"
    - "[javax.net.SocketFactory].getDefault()"
    functionUses: 1
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.DefaultSocketConnector:91"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.DefaultSocketConnector:94"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "ch.qos.logback.core.net.DefaultSocketConnector:93"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.net.DefaultSocketConnector:94"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.DefaultSocketConnector:97"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.DefaultSocketConnector:96"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.DefaultSocketConnector:92,1"
      Dst: "[ch.qos.logback.core.net.DefaultSocketConnector$ConsoleExceptionHandler].<init>()"
    - Src: "ch.qos.logback.core.net.DefaultSocketConnector:95,1"
      Dst: "[javax.net.SocketFactory].getDefault()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.net.DefaultSocketConnector$ConsoleExceptionHandler].<init>()"
    functionSourceFile: "ch.qos.logback.core.net.DefaultSocketConnector$ConsoleExceptionHandler"
    linkageType: null
    functionLinenumber: 115
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.DefaultSocketConnector$ConsoleExceptionHandler:116,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.DefaultSocketConnector].createSocket()"
    functionSourceFile: "ch.qos.logback.core.net.DefaultSocketConnector"
    linkageType: null
    functionLinenumber: 80
    functionDepth: 0
    returnType: "java.net.Socket"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.ConfigurableSSLSocketFactory].createSocket(java.net.InetAddress,int)"
    - "[ch.qos.logback.core.net.DefaultSocketConnector$ConsoleExceptionHandler].connectionFailed(ch.qos.logback.core.net.SocketConnector,java.lang.Exception)"
    - "[ch.qos.logback.core.net.AbstractSocketAppender].connectionFailed(ch.qos.logback.core.net.SocketConnector,java.lang.Exception)"
    - "[ch.qos.logback.classic.net.SocketReceiver].connectionFailed(ch.qos.logback.core.net.SocketConnector,java.lang.Exception)"
    - "[javax.net.SocketFactory].createSocket(java.net.InetAddress,int)"
    - "[ch.qos.logback.core.net.SocketConnector$ExceptionHandler].connectionFailed(ch.qos.logback.core.net.SocketConnector,java.lang.Exception)"
    functionUses: 2
    ICount: 12
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.DefaultSocketConnector:83,1"
      Dst: "[javax.net.SocketFactory].createSocket(java.net.InetAddress,int)"
    - Src: "ch.qos.logback.core.net.DefaultSocketConnector:85,1"
      Dst: "[ch.qos.logback.core.net.SocketConnector$ExceptionHandler].connectionFailed(ch.qos.logback.core.net.SocketConnector,java.lang.Exception)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.DefaultSocketConnector].createSocket()"
    functionSourceFile: "ch.qos.logback.core.net.DefaultSocketConnector"
    linkageType: null
    functionLinenumber: 80
    functionDepth: 0
    returnType: "java.net.Socket"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.ConfigurableSSLSocketFactory].createSocket(java.net.InetAddress,int)"
    - "[ch.qos.logback.core.net.DefaultSocketConnector$ConsoleExceptionHandler].connectionFailed(ch.qos.logback.core.net.SocketConnector,java.lang.Exception)"
    - "[ch.qos.logback.core.net.AbstractSocketAppender].connectionFailed(ch.qos.logback.core.net.SocketConnector,java.lang.Exception)"
    - "[ch.qos.logback.classic.net.SocketReceiver].connectionFailed(ch.qos.logback.core.net.SocketConnector,java.lang.Exception)"
    - "[javax.net.SocketFactory].createSocket(java.net.InetAddress,int)"
    - "[ch.qos.logback.core.net.SocketConnector$ExceptionHandler].connectionFailed(ch.qos.logback.core.net.SocketConnector,java.lang.Exception)"
    functionUses: 2
    ICount: 12
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.DefaultSocketConnector:83,1"
      Dst: "[javax.net.SocketFactory].createSocket(java.net.InetAddress,int)"
    - Src: "ch.qos.logback.core.net.DefaultSocketConnector:85,1"
      Dst: "[ch.qos.logback.core.net.SocketConnector$ExceptionHandler].connectionFailed(ch.qos.logback.core.net.SocketConnector,java.lang.Exception)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.DefaultSocketConnector].useDefaultsForMissingFields()"
    functionSourceFile: "ch.qos.logback.core.net.DefaultSocketConnector"
    linkageType: null
    functionLinenumber: 90
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.DefaultSocketConnector$ConsoleExceptionHandler].<init>()"
    - "[javax.net.SocketFactory].getDefault()"
    functionUses: 1
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.DefaultSocketConnector:91"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.DefaultSocketConnector:94"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "ch.qos.logback.core.net.DefaultSocketConnector:93"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.net.DefaultSocketConnector:94"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.DefaultSocketConnector:97"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.DefaultSocketConnector:96"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.DefaultSocketConnector:92,1"
      Dst: "[ch.qos.logback.core.net.DefaultSocketConnector$ConsoleExceptionHandler].<init>()"
    - Src: "ch.qos.logback.core.net.DefaultSocketConnector:95,1"
      Dst: "[javax.net.SocketFactory].getDefault()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.net.DefaultSocketConnector].setExceptionHandler(ch.qos.logback.core.net.SocketConnector$ExceptionHandler)"
    functionSourceFile: "ch.qos.logback.core.net.DefaultSocketConnector"
    linkageType: null
    functionLinenumber: 102
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.net.SocketConnector$ExceptionHandler"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.DefaultSocketConnector].setSocketFactory(javax.net.SocketFactory)"
    functionSourceFile: "ch.qos.logback.core.net.DefaultSocketConnector"
    linkageType: null
    functionLinenumber: 109
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "javax.net.SocketFactory"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__35].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__35"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__35].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__35:-1,1"
      Dst: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__35].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__35].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__35"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__35:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__35].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__35"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__35:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__35].get()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__35"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.PropertyAction].<init>()"
    functionUses: 3
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__35:-1,1"
      Dst: "[ch.qos.logback.core.joran.action.PropertyAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PropertyAction].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.action.PropertyAction"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 3
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.PropertyAction:28,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__17].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__17"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__17].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__17:-1,1"
      Dst: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__17].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__17].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__17"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__17:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__17].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__17"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__17:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__17].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__17"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.conditional.ElseModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__17:-1,1"
      Dst: "[ch.qos.logback.core.model.processor.conditional.ElseModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.conditional.ElseModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.conditional.ElseModelHandler"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.conditional.ElseModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.conditional.ElseModelHandler:32,1"
      Dst: "[ch.qos.logback.core.model.processor.conditional.ElseModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.ClassPackagingData].<init>()"
    functionSourceFile: "ch.qos.logback.classic.spi.ClassPackagingData"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ClassPackagingData:26,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.ClassPackagingData].<init>(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.spi.ClassPackagingData"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ClassPackagingData:30,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.ClassPackagingData].<init>(java.lang.String,java.lang.String,boolean)"
    functionSourceFile: "ch.qos.logback.classic.spi.ClassPackagingData"
    linkageType: null
    functionLinenumber: 35
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ClassPackagingData:36,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.ClassPackagingData].getCodeLocation()"
    functionSourceFile: "ch.qos.logback.classic.spi.ClassPackagingData"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.ClassPackagingData].getVersion()"
    functionSourceFile: "ch.qos.logback.classic.spi.ClassPackagingData"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.ClassPackagingData].isExact()"
    functionSourceFile: "ch.qos.logback.classic.spi.ClassPackagingData"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.ClassPackagingData].setCodeLocation(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.spi.ClassPackagingData"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.ClassPackagingData].setVersion(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.spi.ClassPackagingData"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.ClassPackagingData].setExact(boolean)"
    functionSourceFile: "ch.qos.logback.classic.spi.ClassPackagingData"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.ClassPackagingData].hashCode()"
    functionSourceFile: "ch.qos.logback.classic.spi.ClassPackagingData"
    linkageType: null
    functionLinenumber: 69
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].hashCode()"
    functionUses: 4
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.ClassPackagingData:70"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ClassPackagingData:70"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ClassPackagingData:69"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ClassPackagingData:70,1"
      Dst: "[java.lang.String].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.ClassPackagingData].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.spi.ClassPackagingData"
    linkageType: null
    functionLinenumber: 75
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 7
    ICount: 36
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.ClassPackagingData:76"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ClassPackagingData:78"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ClassPackagingData:77"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ClassPackagingData:78"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ClassPackagingData:80"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ClassPackagingData:79"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ClassPackagingData:80"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ClassPackagingData:82"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ClassPackagingData:81"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ClassPackagingData:83"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ClassPackagingData:86"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ClassPackagingData:85"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ClassPackagingData:84"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ClassPackagingData:88"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ClassPackagingData:87"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ClassPackagingData:86"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ClassPackagingData:88"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ClassPackagingData:87"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ClassPackagingData:88"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ClassPackagingData:90"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ClassPackagingData:89"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ClassPackagingData:90"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ClassPackagingData:93"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ClassPackagingData:92"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ClassPackagingData:91"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ClassPackagingData:95"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ClassPackagingData:94"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ClassPackagingData:93"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ClassPackagingData:95"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ClassPackagingData:94"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ClassPackagingData:80,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.classic.spi.ClassPackagingData:86,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 19
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.model.processor.LoggerModelHandler].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.classic.model.processor.LoggerModelHandler"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.LoggerModelHandler:24,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.LoggerModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.classic.model.processor.LoggerModelHandler"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.model.processor.LoggerModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.LoggerModelHandler:28,1"
      Dst: "[ch.qos.logback.classic.model.processor.LoggerModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.LoggerModelHandler].getSupportedModelClass()"
    functionSourceFile: "ch.qos.logback.classic.model.processor.LoggerModelHandler"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 0
    returnType: "java.lang.Class"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.LoggerModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.classic.model.processor.LoggerModelHandler"
    linkageType: null
    functionLinenumber: 36
    functionDepth: 13
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.model.LoggerModel].getName()"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    - "[ch.qos.logback.classic.LoggerContext].getLogger(java.lang.String)"
    - "[ch.qos.logback.classic.model.LoggerModel].getLevel()"
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.classic.Logger].setLevel(ch.qos.logback.classic.Level)"
    - "[ch.qos.logback.classic.Level].toLevel(java.lang.String)"
    - "[ch.qos.logback.classic.model.LoggerModel].getAdditivity()"
    - "[ch.qos.logback.core.util.OptionHelper].toBoolean(java.lang.String,boolean)"
    - "[ch.qos.logback.classic.Logger].setAdditive(boolean)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].pushObject(java.lang.Object)"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,ch.qos.logback.classic.Level)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,boolean)"
    functionUses: 3
    ICount: 48
    EdgeCount: 19
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.model.processor.LoggerModelHandler:48"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.processor.LoggerModelHandler:63"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.model.processor.LoggerModelHandler:62"
        BranchSideFuncs:
        - "getAdditivity()"
        - "subst(java.lang.String)"
        - "isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Branch String: "ch.qos.logback.classic.model.processor.LoggerModelHandler:49"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.processor.LoggerModelHandler:50"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.model.processor.LoggerModelHandler:49"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.model.processor.LoggerModelHandler:49"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.processor.LoggerModelHandler:57"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.model.processor.LoggerModelHandler:56"
        BranchSideFuncs:
        - "setLevel(ch.qos.logback.classic.Level)"
        - "toLevel(java.lang.String)"
    - Branch String: "ch.qos.logback.classic.model.processor.LoggerModelHandler:50"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.processor.LoggerModelHandler:53"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.model.processor.LoggerModelHandler:52"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.model.processor.LoggerModelHandler:64"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.processor.LoggerModelHandler:70"
        BranchSideFuncs:
        - "setAdditive(boolean)"
        - "toBoolean(java.lang.String,boolean)"
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.model.processor.LoggerModelHandler:69"
        BranchSideFuncs:
        - "pushObject(java.lang.Object)"
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.LoggerModelHandler:41,1"
      Dst: "[ch.qos.logback.classic.model.LoggerModel].getName()"
    - Src: "ch.qos.logback.classic.model.processor.LoggerModelHandler:41,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.LoggerModelHandler:45,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getLogger(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.LoggerModelHandler:47,1"
      Dst: "[ch.qos.logback.classic.model.LoggerModel].getLevel()"
    - Src: "ch.qos.logback.classic.model.processor.LoggerModelHandler:48,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.LoggerModelHandler:49,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.LoggerModelHandler:51,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.LoggerModelHandler:53,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.LoggerModelHandler:53,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.LoggerModelHandler:54,1"
      Dst: "[ch.qos.logback.classic.Logger].setLevel(ch.qos.logback.classic.Level)"
    - Src: "ch.qos.logback.classic.model.processor.LoggerModelHandler:57,1"
      Dst: "[ch.qos.logback.classic.Level].toLevel(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.LoggerModelHandler:58,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,ch.qos.logback.classic.Level)"
    - Src: "ch.qos.logback.classic.model.processor.LoggerModelHandler:63,1"
      Dst: "[ch.qos.logback.classic.model.LoggerModel].getAdditivity()"
    - Src: "ch.qos.logback.classic.model.processor.LoggerModelHandler:65,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].toBoolean(java.lang.String,boolean)"
    - Src: "ch.qos.logback.classic.model.processor.LoggerModelHandler:66,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,boolean)"
    - Src: "ch.qos.logback.classic.model.processor.LoggerModelHandler:67,1"
      Dst: "[ch.qos.logback.classic.Logger].setAdditive(boolean)"
    - Src: "ch.qos.logback.classic.model.processor.LoggerModelHandler:70,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].pushObject(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 6
  - functionName: "[ch.qos.logback.classic.model.LoggerModel].getName()"
    functionSourceFile: "ch.qos.logback.classic.model.LoggerModel"
    linkageType: null
    functionLinenumber: 45
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 152
    functionDepth: 12
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.OptionHelper].substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 26
    ICount: 11
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:153"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:158"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:157"
        BranchSideFuncs:
        - "substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:158,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:160,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:160,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].getLogger(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 128
    functionDepth: 2
    returnType: "ch.qos.logback.classic.Logger"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.util.LoggerNameUtil].getSeparatorIndexOf(java.lang.String,int)"
    - "[ch.qos.logback.classic.Logger].getChildByName(java.lang.String)"
    - "[ch.qos.logback.classic.Logger].createChildByName(java.lang.String)"
    - "[ch.qos.logback.classic.LoggerContext].incSize()"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - "[java.util.Map].get(java.lang.Object)"
    - "[java.lang.String].substring(int,int)"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 10
    ICount: 45
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.LoggerContext:129"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:135"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:134"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.LoggerContext:135"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:139"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:138"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.LoggerContext:146"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:154"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:153"
        BranchSideFuncs:
        - "getSeparatorIndexOf(java.lang.String,int)"
    - Branch String: "ch.qos.logback.classic.LoggerContext:155"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:158"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:157"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.LoggerContext:164"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:169"
        BranchSideFuncs:
        - "createChildByName(java.lang.String)"
        - "incSize()"
      - BranchSide: "ch.qos.logback.classic.LoggerContext:168"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.LoggerContext:171"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:174"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:173"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:130,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.classic.LoggerContext:135,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - Src: "ch.qos.logback.classic.LoggerContext:144,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "ch.qos.logback.classic.LoggerContext:154,1"
      Dst: "[ch.qos.logback.classic.util.LoggerNameUtil].getSeparatorIndexOf(java.lang.String,int)"
    - Src: "ch.qos.logback.classic.LoggerContext:158,1"
      Dst: "[java.lang.String].substring(int,int)"
    - Src: "ch.qos.logback.classic.LoggerContext:163,1"
      Dst: "[ch.qos.logback.classic.Logger].getChildByName(java.lang.String)"
    - Src: "ch.qos.logback.classic.LoggerContext:165,1"
      Dst: "[ch.qos.logback.classic.Logger].createChildByName(java.lang.String)"
    - Src: "ch.qos.logback.classic.LoggerContext:166,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - Src: "ch.qos.logback.classic.LoggerContext:167,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].incSize()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 16
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.model.LoggerModel].getLevel()"
    functionSourceFile: "ch.qos.logback.classic.model.LoggerModel"
    linkageType: null
    functionLinenumber: 53
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 282
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    - "[java.lang.String].length()"
    functionUses: 62
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].length()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].setLevel(ch.qos.logback.classic.Level)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 150
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.Level"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].isRootLogger()"
    - "[ch.qos.logback.classic.Logger].getEffectiveLevel()"
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.util.COWArrayList].get(int)"
    - "[ch.qos.logback.classic.Logger].handleParentLevelChange(int)"
    - "[ch.qos.logback.classic.LoggerContext].fireOnLevelChange(ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    functionUses: 6
    ICount: 37
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:151"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:154"
        BranchSideFuncs:
        - "isRootLogger()"
    - Branch String: "ch.qos.logback.classic.Logger:155"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:159"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:158"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:155"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:159"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:158"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:160"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:164"
        BranchSideFuncs:
        - "getEffectiveLevel()"
      - BranchSide: "ch.qos.logback.classic.Logger:163"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:167"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:176"
        BranchSideFuncs:
        - "size()"
      - BranchSide: "ch.qos.logback.classic.Logger:175"
        BranchSideFuncs:
        - "fireOnLevelChange(ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level)"
    - Branch String: "ch.qos.logback.classic.Logger:169"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:175"
        BranchSideFuncs:
        - "fireOnLevelChange(ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level)"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:155,1"
      Dst: "[ch.qos.logback.classic.Logger].isRootLogger()"
    - Src: "ch.qos.logback.classic.Logger:156,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.classic.Logger:162,1"
      Dst: "[ch.qos.logback.classic.Logger].getEffectiveLevel()"
    - Src: "ch.qos.logback.classic.Logger:168,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.classic.Logger:170,1"
      Dst: "[java.util.List].get(int)"
    - Src: "ch.qos.logback.classic.Logger:172,1"
      Dst: "[ch.qos.logback.classic.Logger].handleParentLevelChange(int)"
    - Src: "ch.qos.logback.classic.Logger:176,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].fireOnLevelChange(ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 13
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.classic.Logger].isRootLogger()"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 128
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:129"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:128"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].getEffectiveLevel()"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 111
    functionDepth: 2
    returnType: "ch.qos.logback.classic.Level"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Level].toLevel(int)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:112,1"
      Dst: "[ch.qos.logback.classic.Level].toLevel(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Level].toLevel(int)"
    functionSourceFile: "ch.qos.logback.classic.Level"
    linkageType: null
    functionLinenumber: 172
    functionDepth: 1
    returnType: "ch.qos.logback.classic.Level"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Level].toLevel(int,ch.qos.logback.classic.Level)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Level:173,1"
      Dst: "[ch.qos.logback.classic.Level].toLevel(int,ch.qos.logback.classic.Level)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Level].toLevel(int,ch.qos.logback.classic.Level)"
    functionSourceFile: "ch.qos.logback.classic.Level"
    linkageType: null
    functionLinenumber: 180
    functionDepth: 0
    returnType: "ch.qos.logback.classic.Level"
    argCount: 2
    argTypes:
    - "int"
    - "ch.qos.logback.classic.Level"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 18
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].handleParentLevelChange(int)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 187
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.util.COWArrayList].get(int)"
    - "[ch.qos.logback.classic.Logger].handleParentLevelChange(int)"
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    functionUses: 2
    ICount: 18
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:188"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:200"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:199"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:192"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:200"
        BranchSideFuncs:
        - "size()"
      - BranchSide: "ch.qos.logback.classic.Logger:199"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:194"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:199"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:193,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.classic.Logger:195,1"
      Dst: "[java.util.List].get(int)"
    - Src: "ch.qos.logback.classic.Logger:196,1"
      Dst: "[ch.qos.logback.classic.Logger].handleParentLevelChange(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.classic.LoggerContext].fireOnLevelChange(ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level)"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 310
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.classic.Logger"
    - "ch.qos.logback.classic.Level"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.classic.jul.LevelChangePropagator].onLevelChange(ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[ch.qos.logback.classic.spi.LoggerContextListener].onLevelChange(ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level)"
    functionUses: 1
    ICount: 12
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.LoggerContext:311"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:314"
        BranchSideFuncs:
        - "onLevelChange(ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level)"
        - "iterator()"
      - BranchSide: "ch.qos.logback.classic.LoggerContext:313"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:311,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.classic.LoggerContext:311,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.classic.LoggerContext:311,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.classic.LoggerContext:312,1"
      Dst: "[ch.qos.logback.classic.spi.LoggerContextListener].onLevelChange(ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Level].toLevel(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.Level"
    linkageType: null
    functionLinenumber: 154
    functionDepth: 1
    returnType: "ch.qos.logback.classic.Level"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Level].toLevel(java.lang.String,ch.qos.logback.classic.Level)"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Level:155,1"
      Dst: "[ch.qos.logback.classic.Level].toLevel(java.lang.String,ch.qos.logback.classic.Level)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Level].toLevel(java.lang.String,ch.qos.logback.classic.Level)"
    functionSourceFile: "ch.qos.logback.classic.Level"
    linkageType: null
    functionLinenumber: 205
    functionDepth: 0
    returnType: "ch.qos.logback.classic.Level"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "ch.qos.logback.classic.Level"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    functionUses: 2
    ICount: 34
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Level:206"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Level:211"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Level:210"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Level:213"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Level:216"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Level:215"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Level:216"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Level:219"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Level:218"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Level:219"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Level:222"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Level:221"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Level:222"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Level:225"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Level:224"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Level:225"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Level:228"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Level:227"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Level:228"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Level:231"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Level:230"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Level:231"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Level:234"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Level:233"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.Level:211,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.classic.Level:213,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 17
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.LoggerModel].getAdditivity()"
    functionSourceFile: "ch.qos.logback.classic.model.LoggerModel"
    linkageType: null
    functionLinenumber: 61
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].toBoolean(java.lang.String,boolean)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 240
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    functionUses: 5
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.OptionHelper:241"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:245"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:244"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:247"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:251"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:250"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:251"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:255"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:254"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:245,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.util.OptionHelper:247,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].setAdditive(boolean)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 736
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].pushObject(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 126
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].push(java.lang.Object)"
    functionUses: 12
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:127,1"
      Dst: "[java.util.Stack].push(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.LoggerModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.classic.model.processor.LoggerModelHandler"
    linkageType: null
    functionLinenumber: 74
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekObject()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.classic.model.LoggerModel].getName()"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].popObject()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Object,java.lang.String)"
    functionUses: 3
    ICount: 16
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.model.processor.LoggerModelHandler:75"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.processor.LoggerModelHandler:78"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.model.processor.LoggerModelHandler:77"
        BranchSideFuncs:
        - "peekObject()"
    - Branch String: "ch.qos.logback.classic.model.processor.LoggerModelHandler:79"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.processor.LoggerModelHandler:84"
        BranchSideFuncs:
        - "getName()"
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.model.processor.LoggerModelHandler:83"
        BranchSideFuncs:
        - "popObject()"
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.LoggerModelHandler:78,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekObject()"
    - Src: "ch.qos.logback.classic.model.processor.LoggerModelHandler:82,1"
      Dst: "[ch.qos.logback.classic.model.LoggerModel].getName()"
    - Src: "ch.qos.logback.classic.model.processor.LoggerModelHandler:82,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Object,java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.LoggerModelHandler:81,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.LoggerModelHandler:84,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].popObject()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekObject()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 122
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].peek()"
    functionUses: 16
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:123,1"
      Dst: "[java.util.Stack].peek()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.LoggerModel].getName()"
    functionSourceFile: "ch.qos.logback.classic.model.LoggerModel"
    linkageType: null
    functionLinenumber: 45
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 96
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].popObject()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 130
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].pop()"
    functionUses: 12
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:131,1"
      Dst: "[java.util.Stack].pop()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.filter.LevelFilter].<init>()"
    functionSourceFile: "ch.qos.logback.classic.filter.LevelFilter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.filter.AbstractMatcherFilter].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.filter.LevelFilter:31,1"
      Dst: "[ch.qos.logback.core.filter.AbstractMatcherFilter].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.filter.LevelFilter].decide(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.filter.LevelFilter"
    linkageType: null
    functionLinenumber: 36
    functionDepth: 0
    returnType: "ch.qos.logback.core.spi.FilterReply"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.filter.Filter].isStarted()"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getLevel()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    - "[java.lang.Object].equals(java.lang.Object)"
    functionUses: 1
    ICount: 14
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.filter.LevelFilter:37"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.filter.LevelFilter:41"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.filter.LevelFilter:40"
        BranchSideFuncs:
        - "getLevel()"
    - Branch String: "ch.qos.logback.classic.filter.LevelFilter:41"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.filter.LevelFilter:44"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.filter.LevelFilter:43"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.filter.LevelFilter:37,1"
      Dst: "[ch.qos.logback.core.filter.Filter].isStarted()"
    - Src: "ch.qos.logback.classic.filter.LevelFilter:41,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    - Src: "ch.qos.logback.classic.filter.LevelFilter:41,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.filter.LevelFilter].setLevel(ch.qos.logback.classic.Level)"
    functionSourceFile: "ch.qos.logback.classic.filter.LevelFilter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.Level"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.filter.LevelFilter].start()"
    functionSourceFile: "ch.qos.logback.classic.filter.LevelFilter"
    linkageType: null
    functionLinenumber: 52
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.filter.Filter].start()"
    functionUses: 5
    ICount: 5
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.filter.LevelFilter:53"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.filter.LevelFilter:56"
        BranchSideFuncs:
        - "start()"
      - BranchSide: "ch.qos.logback.classic.filter.LevelFilter:55"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.filter.LevelFilter:54,1"
      Dst: "[ch.qos.logback.core.filter.Filter].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.filter.LevelFilter].decide(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.filter.LevelFilter"
    linkageType: null
    functionLinenumber: 30
    functionDepth: 1
    returnType: "ch.qos.logback.core.spi.FilterReply"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.filter.LevelFilter].decide(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.filter.LevelFilter:31,1"
      Dst: "[ch.qos.logback.classic.filter.LevelFilter].decide(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.filter.LevelFilter].decide(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.filter.LevelFilter"
    linkageType: null
    functionLinenumber: 36
    functionDepth: 0
    returnType: "ch.qos.logback.core.spi.FilterReply"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.filter.Filter].isStarted()"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getLevel()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    - "[java.lang.Object].equals(java.lang.Object)"
    functionUses: 1
    ICount: 14
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.filter.LevelFilter:37"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.filter.LevelFilter:41"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.filter.LevelFilter:40"
        BranchSideFuncs:
        - "getLevel()"
    - Branch String: "ch.qos.logback.classic.filter.LevelFilter:41"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.filter.LevelFilter:44"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.filter.LevelFilter:43"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.filter.LevelFilter:37,1"
      Dst: "[ch.qos.logback.core.filter.Filter].isStarted()"
    - Src: "ch.qos.logback.classic.filter.LevelFilter:41,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    - Src: "ch.qos.logback.classic.filter.LevelFilter:41,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_11__31].bootstrap$()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_11__31"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_11__31].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_11__31:-1,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_11__31].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_11__31].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_11__31"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_11__31:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_11__31].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_11__31"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_11__31:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_11__31].get()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_11__31"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator].lambda$addElementSelectorAndActionAssociations$11()"
    functionUses: 3
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_11__31:-1,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator].lambda$addElementSelectorAndActionAssociations$11()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator].lambda$addElementSelectorAndActionAssociations$11()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator"
    linkageType: null
    functionLinenumber: 65
    functionDepth: 1
    returnType: "ch.qos.logback.core.joran.action.Action"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.action.ConsolePluginAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:66,1"
      Dst: "[ch.qos.logback.classic.joran.action.ConsolePluginAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.action.ConsolePluginAction].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.action.ConsolePluginAction"
    linkageType: null
    functionLinenumber: 24
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.Action].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.action.ConsolePluginAction:25,1"
      Dst: "[ch.qos.logback.core.joran.action.Action].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.EventPlayer].<init>(ch.qos.logback.core.joran.spi.SaxEventInterpreter,java.util.List)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.EventPlayer"
    linkageType: null
    functionLinenumber: 30
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpreter"
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.EventPlayer:31,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.EventPlayer].getCopyOfPlayerEventList()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.EventPlayer"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>(java.util.Collection)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.EventPlayer:43,1"
      Dst: "[java.util.ArrayList].<init>(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.EventPlayer].play()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.EventPlayer"
    linkageType: null
    functionLinenumber: 47
    functionDepth: 5
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.util.COWArrayList].get(int)"
    - "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].startElement(ch.qos.logback.core.joran.event.StartEvent)"
    - "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].characters(ch.qos.logback.core.joran.event.BodyEvent)"
    - "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].endElement(ch.qos.logback.core.joran.event.EndEvent)"
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    functionUses: 1
    ICount: 33
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.EventPlayer:48"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.EventPlayer:65"
        BranchSideFuncs:
        - "get(int)"
      - BranchSide: "ch.qos.logback.core.joran.spi.EventPlayer:64"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.EventPlayer:51"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.EventPlayer:55"
        BranchSideFuncs:
        - "startElement(ch.qos.logback.core.joran.event.StartEvent)"
      - BranchSide: "ch.qos.logback.core.joran.spi.EventPlayer:54"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.EventPlayer:55"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.EventPlayer:59"
        BranchSideFuncs:
        - "characters(ch.qos.logback.core.joran.event.BodyEvent)"
      - BranchSide: "ch.qos.logback.core.joran.spi.EventPlayer:58"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.EventPlayer:59"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.EventPlayer:48"
        BranchSideFuncs:
        - "endElement(ch.qos.logback.core.joran.event.EndEvent)"
      - BranchSide: "ch.qos.logback.core.joran.spi.EventPlayer:47"
        BranchSideFuncs:
        - "size()"
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.EventPlayer:48,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.core.joran.spi.EventPlayer:49,1"
      Dst: "[java.util.List].get(int)"
    - Src: "ch.qos.logback.core.joran.spi.EventPlayer:52,1"
      Dst: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].startElement(ch.qos.logback.core.joran.event.StartEvent)"
    - Src: "ch.qos.logback.core.joran.spi.EventPlayer:56,1"
      Dst: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].characters(ch.qos.logback.core.joran.event.BodyEvent)"
    - Src: "ch.qos.logback.core.joran.spi.EventPlayer:60,1"
      Dst: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].endElement(ch.qos.logback.core.joran.event.EndEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].startElement(ch.qos.logback.core.joran.event.StartEvent)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpreter"
    linkageType: null
    functionLinenumber: 118
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.joran.event.StartEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.event.SaxEvent].getLocator()"
    - "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].setDocumentLocator(org.xml.sax.Locator)"
    - "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].startElement(java.lang.String,java.lang.String,java.lang.String,org.xml.sax.Attributes)"
    functionUses: 1
    ICount: 10
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:119,1"
      Dst: "[ch.qos.logback.core.joran.event.SaxEvent].getLocator()"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:119,1"
      Dst: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].setDocumentLocator(org.xml.sax.Locator)"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:120,1"
      Dst: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].startElement(java.lang.String,java.lang.String,java.lang.String,org.xml.sax.Attributes)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.SaxEvent].getLocator()"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEvent"
    linkageType: null
    functionLinenumber: 38
    functionDepth: 0
    returnType: "org.xml.sax.Locator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].setDocumentLocator(org.xml.sax.Locator)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpreter"
    linkageType: null
    functionLinenumber: 197
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.xml.sax.Locator"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].startElement(java.lang.String,java.lang.String,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpreter"
    linkageType: null
    functionLinenumber: 124
    functionDepth: 3
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].getTagName(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.joran.spi.ElementPath].push(java.lang.String)"
    - "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].pushEmptyActionOntoActionStack()"
    - "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].getApplicableAction(ch.qos.logback.core.joran.spi.ElementPath,org.xml.sax.Attributes)"
    - "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].callBeginAction(ch.qos.logback.core.joran.action.Action,java.lang.String,org.xml.sax.Attributes)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addError(java.lang.String)"
    - "[java.util.Vector].add(java.lang.Object)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,ch.qos.logback.core.joran.spi.ElementPath)"
    functionUses: 1
    ICount: 25
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:130"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:135"
        BranchSideFuncs:
        - "getApplicableAction(ch.qos.logback.core.joran.spi.ElementPath,org.xml.sax.Attributes)"
    - Branch String: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:137"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:142"
        BranchSideFuncs:
        - "callBeginAction(ch.qos.logback.core.joran.action.Action,java.lang.String,org.xml.sax.Attributes)"
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:141"
        BranchSideFuncs:
        - "pushEmptyActionOntoActionStack()"
        - "addError(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:125,1"
      Dst: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].getTagName(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:128,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].push(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:132,1"
      Dst: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].pushEmptyActionOntoActionStack()"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:136,1"
      Dst: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].getApplicableAction(ch.qos.logback.core.joran.spi.ElementPath,org.xml.sax.Attributes)"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:138,1"
      Dst: "[java.util.Vector].add(java.lang.Object)"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:139,1"
      Dst: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].callBeginAction(ch.qos.logback.core.joran.action.Action,java.lang.String,org.xml.sax.Attributes)"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:143,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,ch.qos.logback.core.joran.spi.ElementPath)"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:144,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].getTagName(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpreter"
    linkageType: null
    functionLinenumber: 201
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].length()"
    functionUses: 2
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:204"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:205"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:204"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:204"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:208"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:207"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:204,1"
      Dst: "[java.lang.String].length()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.joran.spi.ElementPath].push(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementPath"
    linkageType: null
    functionLinenumber: 96
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].add(java.lang.Object)"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:97,1"
      Dst: "[java.util.ArrayList].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].pushEmptyActionOntoActionStack()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpreter"
    linkageType: null
    functionLinenumber: 151
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].push(java.lang.Object)"
    functionUses: 2
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:152,1"
      Dst: "[java.util.Stack].push(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].getApplicableAction(ch.qos.logback.core.joran.spi.ElementPath,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpreter"
    linkageType: null
    functionLinenumber: 218
    functionDepth: 1
    returnType: "ch.qos.logback.core.joran.action.Action"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.joran.spi.ElementPath"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.SimpleRuleStore].matchActions(ch.qos.logback.core.joran.spi.ElementPath)"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__46].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__49].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__48].get()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_1__21].get()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_6__26].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__40].get()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_2__22].get()"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_1__65].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__51].get()"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_3__67].get()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_12__32].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__39].get()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_11__31].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__35].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__53].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__44].get()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_9__29].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__47].get()"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_2__66].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__42].get()"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_0__64].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__52].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__37].get()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_4__24].get()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_8__28].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__34].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__43].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__41].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__33].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__36].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__54].get()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_0__20].get()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_7__27].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__38].get()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_5__25].get()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_3__23].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__50].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__45].get()"
    - "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_4__91].get()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_10__30].get()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.joran.spi.RuleStore].matchActions(ch.qos.logback.core.joran.spi.ElementPath)"
    - "[java.util.function.Supplier].get()"
    functionUses: 1
    ICount: 17
    EdgeCount: 83
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:221"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:226"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:225"
        BranchSideFuncs:
        - "setContext(ch.qos.logback.core.Context)"
        - "get()"
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:219,1"
      Dst: "[ch.qos.logback.core.joran.spi.RuleStore].matchActions(ch.qos.logback.core.joran.spi.ElementPath)"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:222,1"
      Dst: "[java.util.function.Supplier].get()"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:223,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 67
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:45"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:44"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:47"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:46,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].callBeginAction(ch.qos.logback.core.joran.action.Action,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpreter"
    linkageType: null
    functionLinenumber: 232
    functionDepth: 2
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.action.Action"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.NewRuleAction].begin(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    - "[ch.qos.logback.core.joran.action.ConversionRuleAction].begin(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    - "[ch.qos.logback.core.joran.action.ContextPropertyAction].begin(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    - "[ch.qos.logback.core.joran.action.BaseModelAction].begin(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    - "[ch.qos.logback.core.joran.action.IncludeAction].begin(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    - "[ch.qos.logback.classic.joran.action.ConsolePluginAction].begin(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    - "[ch.qos.logback.core.joran.action.ImplicitModelAction].begin(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    - "[ch.qos.logback.core.joran.action.NOPAction].begin(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    - "[ch.qos.logback.core.joran.spi.ElementPath].duplicate()"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.joran.action.Action].begin(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 25
    EdgeCount: 12
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:233"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:240"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:239"
        BranchSideFuncs:
        - "begin(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
        - "addError(java.lang.String,java.lang.Throwable)"
        - "duplicate()"
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:240,1"
      Dst: "[ch.qos.logback.core.joran.action.Action].begin(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:242,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].duplicate()"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:243,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:243,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ElementPath].duplicate()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementPath"
    linkageType: null
    functionLinenumber: 57
    functionDepth: 1
    returnType: "ch.qos.logback.core.joran.spi.ElementPath"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ElementPath].<init>()"
    - "[java.util.ArrayList].addAll(java.util.Collection)"
    functionUses: 2
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:58,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].<init>()"
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:59,1"
      Dst: "[java.util.ArrayList].addAll(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ElementPath].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementPath"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.ArrayList].<init>()"
    functionUses: 3
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:29,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:27,1"
      Dst: "[java.util.ArrayList].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareImpl].addError(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareImpl"
    linkageType: null
    functionLinenumber: 97
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.joran.spi.CAI_WithLocatorSupport].getOrigin()"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].getOrigin()"
    functionUses: 8
    ICount: 8
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:98,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].getOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:98,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:98,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareImpl].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareImpl"
    linkageType: null
    functionLinenumber: 93
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.joran.spi.CAI_WithLocatorSupport].getOrigin()"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].getOrigin()"
    functionUses: 5
    ICount: 7
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:94,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].getOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:94,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:94,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].characters(ch.qos.logback.core.joran.event.BodyEvent)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpreter"
    linkageType: null
    functionLinenumber: 156
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.joran.event.BodyEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].setDocumentLocator(org.xml.sax.Locator)"
    - "[ch.qos.logback.core.joran.event.BodyEvent].getText()"
    - "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].callBodyAction(ch.qos.logback.core.joran.action.Action,java.lang.String)"
    - "[java.util.Stack].peek()"
    - "[java.lang.String].trim()"
    - "[java.lang.String].length()"
    functionUses: 1
    ICount: 14
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:162"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:168"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:167"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:164"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:168"
        BranchSideFuncs:
        - "callBodyAction(ch.qos.logback.core.joran.action.Action,java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:167"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:157,1"
      Dst: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].setDocumentLocator(org.xml.sax.Locator)"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:159,1"
      Dst: "[ch.qos.logback.core.joran.event.BodyEvent].getText()"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:160,1"
      Dst: "[java.util.Stack].peek()"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:163,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:164,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:165,1"
      Dst: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].callBodyAction(ch.qos.logback.core.joran.action.Action,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.joran.event.BodyEvent].getText()"
    functionSourceFile: "ch.qos.logback.core.joran.event.BodyEvent"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    functionUses: 2
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.event.BodyEvent:33"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.event.BodyEvent:36"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.event.BodyEvent:35"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.BodyEvent:34,1"
      Dst: "[java.lang.String].trim()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].callBodyAction(ch.qos.logback.core.joran.action.Action,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpreter"
    linkageType: null
    functionLinenumber: 251
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.joran.action.Action"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.ImplicitModelAction].body(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String)"
    - "[ch.qos.logback.core.joran.action.BaseModelAction].body(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String)"
    - "[ch.qos.logback.core.joran.action.Action].body(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addError(java.lang.String,java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.joran.action.Action)"
    functionUses: 1
    ICount: 13
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:252"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:257"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:256"
        BranchSideFuncs:
        - "body(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String)"
        - "addError(java.lang.String,java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:257,1"
      Dst: "[ch.qos.logback.core.joran.action.Action].body(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:259,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.joran.action.Action)"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:259,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].endElement(ch.qos.logback.core.joran.event.EndEvent)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpreter"
    linkageType: null
    functionLinenumber: 170
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.joran.event.EndEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].setDocumentLocator(org.xml.sax.Locator)"
    - "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].endElement(java.lang.String,java.lang.String,java.lang.String)"
    functionUses: 1
    ICount: 9
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:171,1"
      Dst: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].setDocumentLocator(org.xml.sax.Locator)"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:172,1"
      Dst: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].endElement(java.lang.String,java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].endElement(java.lang.String,java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpreter"
    linkageType: null
    functionLinenumber: 177
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ElementPath].equals(java.lang.Object)"
    - "[ch.qos.logback.core.joran.spi.ElementSelector].equals(java.lang.Object)"
    - "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].callEndAction(ch.qos.logback.core.joran.action.Action,java.lang.String)"
    - "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].getTagName(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.joran.spi.ElementPath].pop()"
    - "[java.util.Stack].pop()"
    functionUses: 1
    ICount: 22
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:180"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:184"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:183"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:181"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:189"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:188"
        BranchSideFuncs:
        - "pop()"
    - Branch String: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:184"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:189"
        BranchSideFuncs:
        - "callEndAction(ch.qos.logback.core.joran.action.Action,java.lang.String)"
        - "getTagName(java.lang.String,java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:188"
        BranchSideFuncs:
        - "pop()"
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:178,1"
      Dst: "[java.util.Stack].pop()"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:181,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:185,1"
      Dst: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].getTagName(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:185,1"
      Dst: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].callEndAction(ch.qos.logback.core.joran.action.Action,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:189,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].pop()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.joran.spi.ElementPath].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementPath"
    linkageType: null
    functionLinenumber: 65
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ElementPath].size()"
    - "[ch.qos.logback.core.joran.spi.ElementPath].equalityCheck(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.joran.spi.ElementSelector].equalityCheck(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.joran.spi.ElementPath].get(int)"
    functionUses: 7
    ICount: 22
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.ElementPath:66"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:67"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:66"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.ElementPath:66"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:70"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:69"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.ElementPath:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:76"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:75"
        BranchSideFuncs:
        - "size()"
    - Branch String: "ch.qos.logback.core.joran.spi.ElementPath:78"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:85"
        BranchSideFuncs:
        - "equalityCheck(java.lang.String,java.lang.String)"
        - "get(int)"
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:84"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.ElementPath:79"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:76"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:75"
        BranchSideFuncs:
        - "size()"
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:72,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].size()"
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:79,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].get(int)"
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:79,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].equalityCheck(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 11
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.joran.spi.ElementPath].size()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementPath"
    linkageType: null
    functionLinenumber: 119
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].size()"
    functionUses: 14
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:120,1"
      Dst: "[java.util.ArrayList].size()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ElementPath].get(int)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementPath"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].get(int)"
    functionUses: 9
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:101,1"
      Dst: "[java.util.ArrayList].get(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ElementPath].equalityCheck(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementPath"
    linkageType: null
    functionLinenumber: 88
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:89,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].callEndAction(ch.qos.logback.core.joran.action.Action,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpreter"
    linkageType: null
    functionLinenumber: 263
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.joran.action.Action"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.IncludeAction].end(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String)"
    - "[ch.qos.logback.core.joran.action.ImplicitModelAction].end(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String)"
    - "[ch.qos.logback.core.joran.action.NewRuleAction].end(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String)"
    - "[ch.qos.logback.core.joran.action.BaseModelAction].end(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String)"
    - "[ch.qos.logback.core.joran.action.ContextPropertyAction].end(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String)"
    - "[ch.qos.logback.core.joran.action.NOPAction].end(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String)"
    - "[ch.qos.logback.classic.joran.action.ConsolePluginAction].end(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String)"
    - "[ch.qos.logback.core.joran.action.ConversionRuleAction].end(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.joran.action.Action].end(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 18
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:264"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:269"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:268"
        BranchSideFuncs:
        - "addError(java.lang.String,java.lang.Throwable)"
        - "end(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:269,1"
      Dst: "[ch.qos.logback.core.joran.action.Action].end(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:273,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:273,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ElementPath].pop()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementPath"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].isEmpty()"
    - "[java.util.ArrayList].size()"
    - "[java.util.ArrayList].remove(int)"
    functionUses: 1
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.ElementPath:105"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:108"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:107"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:105,1"
      Dst: "[java.util.ArrayList].isEmpty()"
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:106,1"
      Dst: "[java.util.ArrayList].size()"
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:106,1"
      Dst: "[java.util.ArrayList].remove(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.spi.EventPlayer].addEventsDynamically(java.util.List,int)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.EventPlayer"
    linkageType: null
    functionLinenumber: 67
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.util.List"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].addAll(int,java.util.Collection)"
    - "[java.util.List].addAll(int,java.util.Collection)"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.EventPlayer:68,1"
      Dst: "[java.util.List].addAll(int,java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_7__27].bootstrap$()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_7__27"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_7__27].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_7__27:-1,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_7__27].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_7__27].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_7__27"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_7__27:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_7__27].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_7__27"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_7__27:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_7__27].get()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_7__27"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator].lambda$addElementSelectorAndActionAssociations$7()"
    functionUses: 3
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_7__27:-1,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator].lambda$addElementSelectorAndActionAssociations$7()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator].lambda$addElementSelectorAndActionAssociations$7()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator"
    linkageType: null
    functionLinenumber: 59
    functionDepth: 1
    returnType: "ch.qos.logback.core.joran.action.Action"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.action.LevelAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:60,1"
      Dst: "[ch.qos.logback.classic.joran.action.LevelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.action.LevelAction].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.action.LevelAction"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.action.LevelAction:35,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.encoder.ByteArrayUtil].<init>()"
    functionSourceFile: "ch.qos.logback.core.encoder.ByteArrayUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.encoder.ByteArrayUtil:18,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.encoder.ByteArrayUtil].writeInt(byte[],int,int)"
    functionSourceFile: "ch.qos.logback.core.encoder.ByteArrayUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "byte[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.encoder.ByteArrayUtil:22"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.encoder.ByteArrayUtil:25"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.encoder.ByteArrayUtil].writeInt(java.io.ByteArrayOutputStream,int)"
    functionSourceFile: "ch.qos.logback.core.encoder.ByteArrayUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.io.ByteArrayOutputStream"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.ByteArrayOutputStream].write(int)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.encoder.ByteArrayUtil:29"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.encoder.ByteArrayUtil:32"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.encoder.ByteArrayUtil:31,1"
      Dst: "[java.io.ByteArrayOutputStream].write(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.encoder.ByteArrayUtil].readInt(byte[],int)"
    functionSourceFile: "ch.qos.logback.core.encoder.ByteArrayUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "int"
    argCount: 2
    argTypes:
    - "byte[]"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 17
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.encoder.ByteArrayUtil:38"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.encoder.ByteArrayUtil:41"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.encoder.ByteArrayUtil].toHexString(byte[])"
    functionSourceFile: "ch.qos.logback.core.encoder.ByteArrayUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.Integer].toHexString(int)"
    - "[java.lang.String].length()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 0
    ICount: 19
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.encoder.ByteArrayUtil:47"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.encoder.ByteArrayUtil:54"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.encoder.ByteArrayUtil:53"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.encoder.ByteArrayUtil:49"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.encoder.ByteArrayUtil:null"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.encoder.ByteArrayUtil:46,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.core.encoder.ByteArrayUtil:48,1"
      Dst: "[java.lang.Integer].toHexString(int)"
    - Src: "ch.qos.logback.core.encoder.ByteArrayUtil:49,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.core.encoder.ByteArrayUtil:50,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.core.encoder.ByteArrayUtil:52,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.core.encoder.ByteArrayUtil:54,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.encoder.ByteArrayUtil].hexStringToByteArray(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.encoder.ByteArrayUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "byte[]"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].length()"
    - "[java.lang.String].substring(int,int)"
    - "[java.lang.Integer].parseInt(java.lang.String,int)"
    functionUses: 0
    ICount: 17
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.encoder.ByteArrayUtil:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.encoder.ByteArrayUtil:66"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.encoder.ByteArrayUtil:58,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.core.encoder.ByteArrayUtil:63,1"
      Dst: "[java.lang.String].substring(int,int)"
    - Src: "ch.qos.logback.core.encoder.ByteArrayUtil:63,1"
      Dst: "[java.lang.Integer].parseInt(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.net.server.ConcurrentServerRunner$1].<init>(ch.qos.logback.core.net.server.ConcurrentServerRunner)"
    functionSourceFile: "ch.qos.logback.core.net.server.ConcurrentServerRunner$1"
    linkageType: null
    functionLinenumber: 88
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.net.server.ConcurrentServerRunner"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.server.ConcurrentServerRunner$1:89,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.server.ConcurrentServerRunner$1].visit(ch.qos.logback.core.net.server.Client)"
    functionSourceFile: "ch.qos.logback.core.net.server.ConcurrentServerRunner$1"
    linkageType: null
    functionLinenumber: 90
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.net.server.Client"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.net.server.RemoteAppenderStreamClient].close()"
    - "[ch.qos.logback.core.net.server.ConcurrentServerRunner$ClientWrapper].close()"
    - "[ch.qos.logback.core.net.server.RemoteReceiverStreamClient].close()"
    - "[ch.qos.logback.core.net.server.Client].close()"
    functionUses: 1
    ICount: 4
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.server.ConcurrentServerRunner$1:91,1"
      Dst: "[ch.qos.logback.core.net.server.Client].close()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.DelayingListAppender].<init>()"
    functionSourceFile: "ch.qos.logback.core.testUtil.DelayingListAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.read.ListAppender].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.DelayingListAppender:18,1"
      Dst: "[ch.qos.logback.core.read.ListAppender].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.DelayingListAppender].setDelay(int)"
    functionSourceFile: "ch.qos.logback.core.testUtil.DelayingListAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.DelayingListAppender].append(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.testUtil.DelayingListAppender"
    linkageType: null
    functionLinenumber: 29
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.read.ListAppender].append(java.lang.Object)"
    - "[java.lang.Thread].sleep(long)"
    functionUses: 1
    ICount: 10
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.DelayingListAppender:30,1"
      Dst: "[java.lang.Thread].sleep(long)"
    - Src: "ch.qos.logback.core.testUtil.DelayingListAppender:35,1"
      Dst: "[ch.qos.logback.core.read.ListAppender].append(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.read.ListAppender].append(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.read.ListAppender"
    linkageType: null
    functionLinenumber: 25
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.read.ListAppender:26,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.MarkerConverter].<init>()"
    functionSourceFile: "ch.qos.logback.classic.pattern.MarkerConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.ClassicConverter].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.MarkerConverter:27,1"
      Dst: "[ch.qos.logback.classic.pattern.ClassicConverter].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.MarkerConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.pattern.MarkerConverter"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getMarkerList()"
    - "[ch.qos.logback.core.util.COWArrayList].isEmpty()"
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.util.COWArrayList].get(int)"
    - "[org.slf4j.helpers.BasicMarker].toString()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getMarkerList()"
    - "[java.util.List].isEmpty()"
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    - "[java.lang.Object].toString()"
    - "[java.lang.StringBuffer].<init>(int)"
    - "[java.lang.StringBuffer].append(char)"
    - "[java.lang.StringBuffer].append(java.lang.String)"
    - "[java.lang.StringBuffer].toString()"
    functionUses: 1
    ICount: 28
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.MarkerConverter:33"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.MarkerConverter:34"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.MarkerConverter:33"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.MarkerConverter:33"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.MarkerConverter:36"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.MarkerConverter:35"
        BranchSideFuncs:
        - "size()"
    - Branch String: "ch.qos.logback.classic.pattern.MarkerConverter:38"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.MarkerConverter:41"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.MarkerConverter:40"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.MarkerConverter:42"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.MarkerConverter:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.MarkerConverter:47"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.MarkerConverter:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.MarkerConverter:null"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.MarkerConverter:32,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getMarkerList()"
    - Src: "ch.qos.logback.classic.pattern.MarkerConverter:33,1"
      Dst: "[java.util.List].isEmpty()"
    - Src: "ch.qos.logback.classic.pattern.MarkerConverter:36,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.classic.pattern.MarkerConverter:39,1"
      Dst: "[java.util.List].get(int)"
    - Src: "ch.qos.logback.classic.pattern.MarkerConverter:39,1"
      Dst: "[java.lang.Object].toString()"
    - Src: "ch.qos.logback.classic.pattern.MarkerConverter:41,1"
      Dst: "[java.lang.StringBuffer].<init>(int)"
    - Src: "ch.qos.logback.classic.pattern.MarkerConverter:44,1"
      Dst: "[java.lang.StringBuffer].append(char)"
    - Src: "ch.qos.logback.classic.pattern.MarkerConverter:46,1"
      Dst: "[java.lang.StringBuffer].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.MarkerConverter:48,1"
      Dst: "[java.lang.StringBuffer].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 11
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.classic.pattern.MarkerConverter].convert(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.pattern.MarkerConverter"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.MarkerConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 11
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.MarkerConverter:27,1"
      Dst: "[ch.qos.logback.classic.pattern.MarkerConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.MarkerConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.pattern.MarkerConverter"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getMarkerList()"
    - "[ch.qos.logback.core.util.COWArrayList].isEmpty()"
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.util.COWArrayList].get(int)"
    - "[org.slf4j.helpers.BasicMarker].toString()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getMarkerList()"
    - "[java.util.List].isEmpty()"
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    - "[java.lang.Object].toString()"
    - "[java.lang.StringBuffer].<init>(int)"
    - "[java.lang.StringBuffer].append(char)"
    - "[java.lang.StringBuffer].append(java.lang.String)"
    - "[java.lang.StringBuffer].toString()"
    functionUses: 1
    ICount: 28
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.MarkerConverter:33"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.MarkerConverter:34"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.MarkerConverter:33"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.MarkerConverter:33"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.MarkerConverter:36"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.MarkerConverter:35"
        BranchSideFuncs:
        - "size()"
    - Branch String: "ch.qos.logback.classic.pattern.MarkerConverter:38"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.MarkerConverter:41"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.MarkerConverter:40"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.MarkerConverter:42"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.MarkerConverter:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.MarkerConverter:47"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.MarkerConverter:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.MarkerConverter:null"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.MarkerConverter:32,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getMarkerList()"
    - Src: "ch.qos.logback.classic.pattern.MarkerConverter:33,1"
      Dst: "[java.util.List].isEmpty()"
    - Src: "ch.qos.logback.classic.pattern.MarkerConverter:36,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.classic.pattern.MarkerConverter:39,1"
      Dst: "[java.util.List].get(int)"
    - Src: "ch.qos.logback.classic.pattern.MarkerConverter:39,1"
      Dst: "[java.lang.Object].toString()"
    - Src: "ch.qos.logback.classic.pattern.MarkerConverter:41,1"
      Dst: "[java.lang.StringBuffer].<init>(int)"
    - Src: "ch.qos.logback.classic.pattern.MarkerConverter:44,1"
      Dst: "[java.lang.StringBuffer].append(char)"
    - Src: "ch.qos.logback.classic.pattern.MarkerConverter:46,1"
      Dst: "[java.lang.StringBuffer].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.MarkerConverter:48,1"
      Dst: "[java.lang.StringBuffer].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 11
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__101].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__101"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__101].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__101:-1,1"
      Dst: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__101].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__101].<init>()"
    functionSourceFile: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__101"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__101:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__101].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__101"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.sift.NOPSiftModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__101:-1,1"
      Dst: "[ch.qos.logback.core.sift.NOPSiftModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.NOPSiftModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.sift.NOPSiftModelHandler"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.sift.NOPSiftModelHandler"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.sift.NOPSiftModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.NOPSiftModelHandler:30,1"
      Dst: "[ch.qos.logback.core.sift.NOPSiftModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.NOPSiftModelHandler].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.sift.NOPSiftModelHandler"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.NOPSiftModelHandler:26,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler"
    linkageType: null
    functionLinenumber: 19
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler:20,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler:24,1"
      Dst: "[ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler].getSupportedModelClass()"
    functionSourceFile: "ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 0
    returnType: "java.lang.Class"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.LayoutBase:ch.qos.logback.core.model.ComponentModel].getClassName()"
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getImport(java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.classic.spi.LoggerContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].pushObject(java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.model.ComponentModel].getClassName()"
    - "[ch.qos.logback.core.spi.ContextAware].setContext(ch.qos.logback.core.Context)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 3
    ICount: 33
    EdgeCount: 13
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler:37"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler:41"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler:40"
        BranchSideFuncs:
        - "getImport(java.lang.String)"
    - Branch String: "ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler:48"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler:52"
        BranchSideFuncs:
        - "setContext(ch.qos.logback.core.Context)"
      - BranchSide: "ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler:51"
        BranchSideFuncs:
        - "addError(java.lang.String,java.lang.Throwable)"
        - "pushObject(java.lang.Object)"
        - "addInfo(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler:36,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].getClassName()"
    - Src: "ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler:37,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler:38,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler:41,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getImport(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler:45,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler:49,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler:52,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].pushObject(java.lang.Object)"
    - Src: "ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler:53,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler:53,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler:57,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.model.ComponentModel].getClassName()"
    functionSourceFile: "ch.qos.logback.core.model.ComponentModel"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 11
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 282
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    - "[java.lang.String].length()"
    functionUses: 62
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].length()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getImport(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 287
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map].get(java.lang.Object)"
    functionUses: 9
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:288"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:291"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:290"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:292"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:295"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:294"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:291,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 3
    returnType: "java.lang.Object"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Class"
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].getClassLoaderOfObject(java.lang.Object)"
    - "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,java.lang.ClassLoader)"
    functionUses: 12
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:32,1"
      Dst: "[ch.qos.logback.core.util.Loader].getClassLoaderOfObject(java.lang.Object)"
    - Src: "ch.qos.logback.core.util.OptionHelper:33,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,java.lang.ClassLoader)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].pushObject(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 126
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].push(java.lang.Object)"
    functionUses: 12
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:127,1"
      Dst: "[java.util.Stack].push(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 74
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler"
    linkageType: null
    functionLinenumber: 62
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekObject()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.classic.net.SocketReceiver].run()"
    - "[ch.qos.logback.core.boolex.Matcher].start()"
    - "[ch.qos.logback.classic.turbo.MarkerFilter].start()"
    - "[ch.qos.logback.classic.pattern.SyslogStartConverter].start()"
    - "[ch.qos.logback.classic.pattern.KeyValuePairConverter].start()"
    - "[ch.qos.logback.classic.jul.LevelChangePropagator].start()"
    - "[ch.qos.logback.core.AsyncAppenderBase].start()"
    - "[ch.qos.logback.core.pattern.PatternLayoutBase].start()"
    - "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP].start()"
    - "[ch.qos.logback.core.net.server.SSLServerSocketAppenderBase].start()"
    - "[ch.qos.logback.core.status.OnPrintStreamStatusListenerBase].start()"
    - "[ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy].start()"
    - "[ch.qos.logback.core.testUtil.StringListAppender].start()"
    - "[ch.qos.logback.core.filter.EvaluatorFilter].start()"
    - "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].start()"
    - "[ch.qos.logback.classic.html.HTMLLayout].start()"
    - "[ch.qos.logback.classic.pattern.MDCConverter].start()"
    - "[ch.qos.logback.core.net.SMTPAppenderBase].start()"
    - "[ch.qos.logback.core.status.OnFileStatusListener].start()"
    - "[ch.qos.logback.classic.log4j.XMLLayout].start()"
    - "[ch.qos.logback.classic.net.SMTPAppender].start()"
    - "[ch.qos.logback.core.read.CyclicBufferAppender].start()"
    - "[ch.qos.logback.core.boolex.JaninoEventEvaluatorBase].start()"
    - "[ch.qos.logback.core.FileAppender].start()"
    - "[ch.qos.logback.classic.pattern.DateConverter].start()"
    - "[ch.qos.logback.classic.pattern.PropertyConverter].start()"
    - "[ch.qos.logback.classic.encoder.PatternLayoutEncoder].start()"
    - "[ch.qos.logback.classic.layout.TTLLLayout].start()"
    - "[ch.qos.logback.core.rolling.FixedWindowRollingPolicy].start()"
    - "[ch.qos.logback.classic.turbo.MDCFilter].start()"
    - "[ch.qos.logback.classic.pattern.NamedConverter].start()"
    - "[ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy].start()"
    - "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase].start()"
    - "[ch.qos.logback.core.OutputStreamAppender].start()"
    - "[ch.qos.logback.classic.filter.ThresholdFilter].start()"
    - "[ch.qos.logback.core.net.server.AbstractServerSocketAppender].start()"
    - "[ch.qos.logback.classic.pattern.CallerDataConverter].start()"
    - "[ch.qos.logback.classic.pattern.SequenceNumberConverter].start()"
    - "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].start()"
    - "[ch.qos.logback.core.net.SyslogAppenderBase].start()"
    - "[ch.qos.logback.core.sift.SiftingAppenderBase].start()"
    - "[ch.qos.logback.core.rolling.RollingFileAppender].start()"
    - "[ch.qos.logback.core.rolling.helper.DateTokenConverter].start()"
    - "[ch.qos.logback.classic.LoggerContext].start()"
    - "[ch.qos.logback.classic.net.ReceiverBase].start()"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].start()"
    - "[ch.qos.logback.core.net.AbstractSocketAppender].start()"
    - "[ch.qos.logback.classic.turbo.DuplicateMessageFilter].start()"
    - "[ch.qos.logback.classic.turbo.DynamicThresholdFilter].start()"
    - "[ch.qos.logback.core.ConsoleAppender].start()"
    - "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].start()"
    - "[ch.qos.logback.classic.sift.MDCBasedDiscriminator].start()"
    - "[ch.qos.logback.core.pattern.ReplacingCompositeConverter].start()"
    - "[ch.qos.logback.core.html.HTMLLayoutBase].start()"
    - "[ch.qos.logback.classic.filter.LevelFilter].start()"
    - "[ch.qos.logback.classic.helpers.WithLayoutListAppender].start()"
    - "[ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy].start()"
    - "[ch.qos.logback.classic.net.SyslogAppender].start()"
    - "[ch.qos.logback.core.net.AbstractSSLSocketAppender].start()"
    - "[ch.qos.logback.classic.turbo.TurboFilter:ch.qos.logback.core.AppenderBase:ch.qos.logback.core.ContextBase:ch.qos.logback.core.LayoutBase:ch.qos.logback.core.UnsynchronizedAppenderBase:ch.qos.logback.core.boolex.EventEvaluatorBase:ch.qos.logback.core.encoder.EncoderBase:ch.qos.logback.core.filter.Filter:ch.qos.logback.core.pattern.DynamicConverter:ch.qos.logback.core.rolling.RollingPolicyBase:ch.qos.logback.core.rolling.TriggeringPolicyBase:ch.qos.logback.core.sift.AbstractDiscriminator:ch.qos.logback.core.testUtil.TrivialStatusListener].start()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.classic.LoggerContext].addListener(ch.qos.logback.classic.spi.LoggerContextListener)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].popObject()"
    - "[ch.qos.logback.core.spi.LifeCycle].start()"
    functionUses: 3
    ICount: 24
    EdgeCount: 65
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler:63"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler:66"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler:65"
        BranchSideFuncs:
        - "peekObject()"
    - Branch String: "ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler:68"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler:71"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler:70"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler:71"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler:75"
        BranchSideFuncs:
        - "run()"
        - "start()"
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler:74"
        BranchSideFuncs:
        - "addListener(ch.qos.logback.classic.spi.LoggerContextListener)"
        - "popObject()"
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler:66,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekObject()"
    - Src: "ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler:69,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler:72,1"
      Dst: "[ch.qos.logback.core.spi.LifeCycle].start()"
    - Src: "ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler:73,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler:75,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].addListener(ch.qos.logback.classic.spi.LoggerContextListener)"
    - Src: "ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler:76,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].popObject()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekObject()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 122
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].peek()"
    functionUses: 16
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:123,1"
      Dst: "[java.util.Stack].peek()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 96
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].addListener(ch.qos.logback.classic.spi.LoggerContextListener)"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 283
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.LoggerContextListener"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:284,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].popObject()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 130
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].pop()"
    functionUses: 12
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:131,1"
      Dst: "[java.util.Stack].pop()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.Parser].<init>(ch.qos.logback.core.pattern.parser.TokenStream)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Parser"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.pattern.parser.TokenStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - "[ch.qos.logback.core.pattern.parser.TokenStream].tokenize()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Parser:58,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:59,1"
      Dst: "[ch.qos.logback.core.pattern.parser.TokenStream].tokenize()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.Parser].<init>(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Parser"
    linkageType: null
    functionLinenumber: 62
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.Parser].<init>(java.lang.String,ch.qos.logback.core.pattern.util.IEscapeUtil)"
    - "[ch.qos.logback.core.pattern.util.RegularEscapeUtil].<init>()"
    functionUses: 2
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Parser:63,1"
      Dst: "[ch.qos.logback.core.pattern.util.RegularEscapeUtil].<init>()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:63,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Parser].<init>(java.lang.String,ch.qos.logback.core.pattern.util.IEscapeUtil)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.Parser].<init>(java.lang.String,ch.qos.logback.core.pattern.util.IEscapeUtil)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Parser"
    linkageType: null
    functionLinenumber: 65
    functionDepth: 6
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "ch.qos.logback.core.pattern.util.IEscapeUtil"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - "[ch.qos.logback.core.pattern.parser.TokenStream].<init>(java.lang.String,ch.qos.logback.core.pattern.util.IEscapeUtil)"
    - "[ch.qos.logback.core.pattern.parser.TokenStream].tokenize()"
    - "[ch.qos.logback.core.spi.ScanException].<init>(java.lang.String,java.lang.Throwable)"
    functionUses: 2
    ICount: 15
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Parser:66,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:68,1"
      Dst: "[ch.qos.logback.core.pattern.parser.TokenStream].<init>(java.lang.String,ch.qos.logback.core.pattern.util.IEscapeUtil)"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:69,1"
      Dst: "[ch.qos.logback.core.pattern.parser.TokenStream].tokenize()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:71,1"
      Dst: "[ch.qos.logback.core.spi.ScanException].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.Parser].compile(ch.qos.logback.core.pattern.parser.Node,java.util.Map)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Parser"
    linkageType: null
    functionLinenumber: 83
    functionDepth: 6
    returnType: "ch.qos.logback.core.pattern.Converter"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.pattern.parser.Node"
    - "java.util.Map"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.Compiler].<init>(ch.qos.logback.core.pattern.parser.Node,java.util.Map)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.pattern.parser.Compiler].compile()"
    functionUses: 3
    ICount: 9
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Parser:84,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Compiler].<init>(ch.qos.logback.core.pattern.parser.Node,java.util.Map)"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:87,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Compiler].compile()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.Parser].parse()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Parser"
    linkageType: null
    functionLinenumber: 90
    functionDepth: 8
    returnType: "ch.qos.logback.core.pattern.parser.Node"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.Parser].E()"
    functionUses: 3
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Parser:91,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Parser].E()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.Parser].E()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Parser"
    linkageType: null
    functionLinenumber: 95
    functionDepth: 7
    returnType: "ch.qos.logback.core.pattern.parser.Node"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.Parser].T()"
    - "[ch.qos.logback.core.pattern.parser.Parser].Eopt()"
    - "[ch.qos.logback.core.pattern.parser.Node].setNext(ch.qos.logback.core.pattern.parser.Node)"
    functionUses: 3
    ICount: 8
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.Parser:97"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Parser:100"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.Parser:99"
        BranchSideFuncs:
        - "Eopt()"
    - Branch String: "ch.qos.logback.core.pattern.parser.Parser:101"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Parser:104"
        BranchSideFuncs:
        - "setNext(ch.qos.logback.core.pattern.parser.Node)"
      - BranchSide: "ch.qos.logback.core.pattern.parser.Parser:103"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Parser:96,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Parser].T()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:100,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Parser].Eopt()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:102,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Node].setNext(ch.qos.logback.core.pattern.parser.Node)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.pattern.parser.Parser].Eopt()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Parser"
    linkageType: null
    functionLinenumber: 109
    functionDepth: 1
    returnType: "ch.qos.logback.core.pattern.parser.Node"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.Parser].getCurentToken()"
    - "[ch.qos.logback.core.pattern.parser.Parser].E()"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.Parser:112"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Parser:115"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.Parser:114"
        BranchSideFuncs:
        - "E()"
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Parser:110,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Parser].getCurentToken()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:115,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Parser].E()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.Parser].T()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Parser"
    linkageType: null
    functionLinenumber: 120
    functionDepth: 6
    returnType: "ch.qos.logback.core.pattern.parser.Node"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.Parser].getCurentToken()"
    - "[ch.qos.logback.core.pattern.parser.Parser].expectNotNull(ch.qos.logback.core.pattern.parser.Token,java.lang.String)"
    - "[ch.qos.logback.core.pattern.parser.Token].getType()"
    - "[ch.qos.logback.core.pattern.parser.Parser].advanceTokenPointer()"
    - "[ch.qos.logback.core.pattern.parser.Node].<init>(int,java.lang.Object)"
    - "[ch.qos.logback.core.pattern.parser.Token].getValue()"
    - "[ch.qos.logback.core.pattern.FormatInfo].valueOf(java.lang.String)"
    - "[ch.qos.logback.core.pattern.parser.Parser].C()"
    - "[ch.qos.logback.core.pattern.parser.FormattingNode].setFormatInfo(ch.qos.logback.core.pattern.FormatInfo)"
    functionUses: 1
    ICount: 25
    EdgeCount: 16
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.Parser:135"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Parser:141"
        BranchSideFuncs:
        - "setFormatInfo(ch.qos.logback.core.pattern.FormatInfo)"
        - "valueOf(java.lang.String)"
        - "getValue()"
        - "advanceTokenPointer()"
      - BranchSide: "ch.qos.logback.core.pattern.parser.Parser:140"
        BranchSideFuncs:
        - "C()"
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Parser:121,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Parser].getCurentToken()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:122,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Parser].expectNotNull(ch.qos.logback.core.pattern.parser.Token,java.lang.String)"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:124,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Token].getType()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:126,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Parser].advanceTokenPointer()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:127,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Token].getValue()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:127,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Node].<init>(int,java.lang.Object)"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:136,1"
      Dst: "[ch.qos.logback.core.pattern.FormatInfo].valueOf(java.lang.String)"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:138,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Parser].C()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:139,1"
      Dst: "[ch.qos.logback.core.pattern.parser.FormattingNode].setFormatInfo(ch.qos.logback.core.pattern.FormatInfo)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.pattern.parser.Parser].C()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Parser"
    linkageType: null
    functionLinenumber: 152
    functionDepth: 5
    returnType: "ch.qos.logback.core.pattern.parser.FormattingNode"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.Parser].getCurentToken()"
    - "[ch.qos.logback.core.pattern.parser.Parser].expectNotNull(ch.qos.logback.core.pattern.parser.Token,java.lang.String)"
    - "[ch.qos.logback.core.pattern.parser.Token].getType()"
    - "[ch.qos.logback.core.pattern.parser.Parser].SINGLE()"
    - "[ch.qos.logback.core.pattern.parser.Parser].advanceTokenPointer()"
    - "[ch.qos.logback.core.pattern.parser.Parser].COMPOSITE(java.lang.String)"
    - "[ch.qos.logback.core.pattern.parser.Token].getValue()"
    - "[java.lang.String].toString()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.pattern.parser.Token)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 2
    ICount: 16
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Parser:153,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Parser].getCurentToken()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:156,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Parser].expectNotNull(ch.qos.logback.core.pattern.parser.Token,java.lang.String)"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:157,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Token].getType()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:160,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Parser].SINGLE()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:162,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Parser].advanceTokenPointer()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:163,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Token].getValue()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:163,1"
      Dst: "[java.lang.String].toString()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:163,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Parser].COMPOSITE(java.lang.String)"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:165,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.pattern.parser.Token)"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:165,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.Parser].SINGLE()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Parser"
    linkageType: null
    functionLinenumber: 170
    functionDepth: 3
    returnType: "ch.qos.logback.core.pattern.parser.FormattingNode"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.Parser].getNextToken()"
    - "[ch.qos.logback.core.pattern.parser.SimpleKeywordNode].<init>(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.parser.Token].getValue()"
    - "[ch.qos.logback.core.pattern.parser.Parser].getCurentToken()"
    - "[ch.qos.logback.core.pattern.parser.Token].getType()"
    - "[ch.qos.logback.core.pattern.parser.Token].getOptionsList()"
    - "[ch.qos.logback.core.pattern.parser.SimpleKeywordNode].setOptions(java.util.List)"
    - "[ch.qos.logback.core.pattern.parser.Parser].advanceTokenPointer()"
    functionUses: 1
    ICount: 13
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.Parser:176"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Parser:181"
        BranchSideFuncs:
        - "setOptions(java.util.List)"
        - "getOptionsList()"
        - "advanceTokenPointer()"
      - BranchSide: "ch.qos.logback.core.pattern.parser.Parser:180"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.Parser:176"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Parser:181"
        BranchSideFuncs:
        - "setOptions(java.util.List)"
        - "getOptionsList()"
        - "advanceTokenPointer()"
      - BranchSide: "ch.qos.logback.core.pattern.parser.Parser:180"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Parser:171,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Parser].getNextToken()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:173,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Token].getValue()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:173,1"
      Dst: "[ch.qos.logback.core.pattern.parser.SimpleKeywordNode].<init>(java.lang.Object)"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:175,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Parser].getCurentToken()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:176,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Token].getType()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:177,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Token].getOptionsList()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:178,1"
      Dst: "[ch.qos.logback.core.pattern.parser.SimpleKeywordNode].setOptions(java.util.List)"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:179,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Parser].advanceTokenPointer()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.pattern.parser.Parser].COMPOSITE(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Parser"
    linkageType: null
    functionLinenumber: 184
    functionDepth: 4
    returnType: "ch.qos.logback.core.pattern.parser.FormattingNode"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.CompositeNode].<init>(java.lang.String)"
    - "[ch.qos.logback.core.pattern.parser.Parser].E()"
    - "[ch.qos.logback.core.pattern.parser.CompositeNode].setChildNode(ch.qos.logback.core.pattern.parser.Node)"
    - "[ch.qos.logback.core.pattern.parser.Parser].getNextToken()"
    - "[ch.qos.logback.core.pattern.parser.Token].getType()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.spi.ScanException].<init>(java.lang.String)"
    - "[ch.qos.logback.core.pattern.parser.Parser].getCurentToken()"
    - "[ch.qos.logback.core.pattern.parser.Token].getOptionsList()"
    - "[ch.qos.logback.core.pattern.parser.SimpleKeywordNode].setOptions(java.util.List)"
    - "[ch.qos.logback.core.pattern.parser.Parser].advanceTokenPointer()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.pattern.parser.Token)"
    functionUses: 1
    ICount: 24
    EdgeCount: 13
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.Parser:192"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Parser:193"
        BranchSideFuncs:
        - "addError(java.lang.String)"
        - "<init>(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.pattern.parser.Parser:192"
        BranchSideFuncs:
        - "addError(java.lang.String)"
        - "<init>(java.lang.String)"
    - Branch String: "ch.qos.logback.core.pattern.parser.Parser:192"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Parser:198"
        BranchSideFuncs:
        - "addError(java.lang.String)"
        - "<init>(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.pattern.parser.Parser:197"
        BranchSideFuncs:
        - "getType()"
        - "getCurentToken()"
    - Branch String: "ch.qos.logback.core.pattern.parser.Parser:199"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Parser:204"
        BranchSideFuncs:
        - "setOptions(java.util.List)"
        - "getOptionsList()"
        - "advanceTokenPointer()"
      - BranchSide: "ch.qos.logback.core.pattern.parser.Parser:203"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.Parser:199"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Parser:204"
        BranchSideFuncs:
        - "setOptions(java.util.List)"
        - "getOptionsList()"
        - "advanceTokenPointer()"
      - BranchSide: "ch.qos.logback.core.pattern.parser.Parser:203"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Parser:185,1"
      Dst: "[ch.qos.logback.core.pattern.parser.CompositeNode].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:187,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Parser].E()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:188,1"
      Dst: "[ch.qos.logback.core.pattern.parser.CompositeNode].setChildNode(ch.qos.logback.core.pattern.parser.Node)"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:190,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Parser].getNextToken()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:192,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Token].getType()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:193,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.pattern.parser.Token)"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:194,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:196,1"
      Dst: "[ch.qos.logback.core.spi.ScanException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:198,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Parser].getCurentToken()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:200,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Token].getOptionsList()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:201,1"
      Dst: "[ch.qos.logback.core.pattern.parser.SimpleKeywordNode].setOptions(java.util.List)"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:202,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Parser].advanceTokenPointer()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.pattern.parser.Parser].getNextToken()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Parser"
    linkageType: null
    functionLinenumber: 207
    functionDepth: 0
    returnType: "ch.qos.logback.core.pattern.parser.Token"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.util.COWArrayList].get(int)"
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    functionUses: 2
    ICount: 13
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.Parser:208"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Parser:211"
        BranchSideFuncs:
        - "get(int)"
      - BranchSide: "ch.qos.logback.core.pattern.parser.Parser:210"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Parser:208,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:209,1"
      Dst: "[java.util.List].get(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.Parser].getCurentToken()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Parser"
    linkageType: null
    functionLinenumber: 214
    functionDepth: 0
    returnType: "ch.qos.logback.core.pattern.parser.Token"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.util.COWArrayList].get(int)"
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    functionUses: 6
    ICount: 11
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.Parser:215"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Parser:218"
        BranchSideFuncs:
        - "get(int)"
      - BranchSide: "ch.qos.logback.core.pattern.parser.Parser:217"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Parser:215,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:216,1"
      Dst: "[java.util.List].get(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.Parser].advanceTokenPointer()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Parser"
    linkageType: null
    functionLinenumber: 221
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 6
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.Parser].expectNotNull(ch.qos.logback.core.pattern.parser.Token,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Parser"
    linkageType: null
    functionLinenumber: 225
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.pattern.parser.Token"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 3
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.Parser:226"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Parser:229"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.Parser:228"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Parser:227,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.pattern.parser.Parser:227,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.FileStoreUtil].<init>()"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileStoreUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileStoreUtil:29,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.FileStoreUtil].areOnSameFileStore(java.io.File,java.io.File)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileStoreUtil"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 2
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.io.File"
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.RolloverFailure].<init>(java.lang.String,java.lang.Throwable)"
    - "[java.io.File].exists()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.io.File].toPath()"
    - "[java.nio.file.Files].getFileStore(java.nio.file.Path)"
    - "[java.lang.Object].equals(java.lang.Object)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File,java.io.File)"
    functionUses: 1
    ICount: 25
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.FileStoreUtil:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileStoreUtil:46"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileStoreUtil:45"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileStoreUtil:46"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileStoreUtil:53"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileStoreUtil:52"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileStoreUtil:43,1"
      Dst: "[java.io.File].exists()"
    - Src: "ch.qos.logback.core.rolling.helper.FileStoreUtil:44,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File)"
    - Src: "ch.qos.logback.core.rolling.helper.FileStoreUtil:44,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.FileStoreUtil:53,1"
      Dst: "[java.io.File].toPath()"
    - Src: "ch.qos.logback.core.rolling.helper.FileStoreUtil:56,1"
      Dst: "[java.nio.file.Files].getFileStore(java.nio.file.Path)"
    - Src: "ch.qos.logback.core.rolling.helper.FileStoreUtil:59,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.rolling.helper.FileStoreUtil:61,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File,java.io.File)"
    - Src: "ch.qos.logback.core.rolling.helper.FileStoreUtil:61,1"
      Dst: "[ch.qos.logback.core.rolling.RolloverFailure].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.RolloverFailure].<init>(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.rolling.RolloverFailure"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.LogbackException].<init>(java.lang.String,java.lang.Throwable)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.RolloverFailure:32,1"
      Dst: "[ch.qos.logback.core.LogbackException].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.LogbackException].<init>(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.LogbackException"
    linkageType: null
    functionLinenumber: 24
    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: 2
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.LogbackException:25,1"
      Dst: "[java.lang.RuntimeException].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__56].bootstrap$()"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__56"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__56].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__56:-1,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__56].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__56].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__56"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__56:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__56].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__56"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__56:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__56].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__56"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.model.processor.ContextNameModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__56:-1,1"
      Dst: "[ch.qos.logback.classic.model.processor.ContextNameModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.ContextNameModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.classic.model.processor.ContextNameModelHandler"
    linkageType: null
    functionLinenumber: 16
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.model.processor.ContextNameModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.ContextNameModelHandler:17,1"
      Dst: "[ch.qos.logback.classic.model.processor.ContextNameModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.ContextNameModelHandler].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.classic.model.processor.ContextNameModelHandler"
    linkageType: null
    functionLinenumber: 12
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.ContextNameModelHandler:13,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.DateConverter].<init>()"
    functionSourceFile: "ch.qos.logback.classic.pattern.DateConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.ClassicConverter].<init>()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.DateConverter:24,1"
      Dst: "[ch.qos.logback.classic.pattern.ClassicConverter].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.DateConverter].start()"
    functionSourceFile: "ch.qos.logback.classic.pattern.DateConverter"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 3
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.DynamicConverter].getFirstOption()"
    - "[ch.qos.logback.core.pattern.DynamicConverter].getOptionList()"
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.util.COWArrayList].get(int)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.util.CachingDateFormatter].<init>(java.lang.String,java.time.ZoneId,java.util.Locale)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].addWarn(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.util.CachingDateFormatter].<init>(java.lang.String,java.time.ZoneId)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].start()"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    - "[java.time.ZoneId].of(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.time.ZoneId)"
    - "[java.util.Locale].forLanguageTag(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.util.Locale)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 6
    ICount: 41
    EdgeCount: 12
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.DateConverter:33"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.DateConverter:37"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.DateConverter:36"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.DateConverter:37"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.DateConverter:41"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.DateConverter:40"
        BranchSideFuncs:
        - "getOptionList()"
    - Branch String: "ch.qos.logback.classic.pattern.DateConverter:44"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.DateConverter:50"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.DateConverter:49"
        BranchSideFuncs:
        - "size()"
    - Branch String: "ch.qos.logback.classic.pattern.DateConverter:44"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.DateConverter:50"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.DateConverter:49"
        BranchSideFuncs:
        - "size()"
    - Branch String: "ch.qos.logback.classic.pattern.DateConverter:51"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.DateConverter:58"
        BranchSideFuncs:
        - "get(int)"
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.pattern.DateConverter:57"
        BranchSideFuncs:
        - "<init>(java.lang.String,java.time.ZoneId,java.util.Locale)"
        - "<init>(java.lang.String,java.time.ZoneId)"
        - "addWarn(java.lang.String,java.lang.Throwable)"
    - Branch String: "ch.qos.logback.classic.pattern.DateConverter:51"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.DateConverter:58"
        BranchSideFuncs:
        - "get(int)"
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.pattern.DateConverter:57"
        BranchSideFuncs:
        - "<init>(java.lang.String,java.time.ZoneId,java.util.Locale)"
        - "<init>(java.lang.String,java.time.ZoneId)"
        - "addWarn(java.lang.String,java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.DateConverter:32,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].getFirstOption()"
    - Src: "ch.qos.logback.classic.pattern.DateConverter:37,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "ch.qos.logback.classic.pattern.DateConverter:41,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].getOptionList()"
    - Src: "ch.qos.logback.classic.pattern.DateConverter:44,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.classic.pattern.DateConverter:45,1"
      Dst: "[java.util.List].get(int)"
    - Src: "ch.qos.logback.classic.pattern.DateConverter:46,1"
      Dst: "[java.time.ZoneId].of(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.DateConverter:47,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.time.ZoneId)"
    - Src: "ch.qos.logback.classic.pattern.DateConverter:47,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.DateConverter:53,1"
      Dst: "[java.util.Locale].forLanguageTag(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.DateConverter:54,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.util.Locale)"
    - Src: "ch.qos.logback.classic.pattern.DateConverter:58,1"
      Dst: "[ch.qos.logback.core.util.CachingDateFormatter].<init>(java.lang.String,java.time.ZoneId,java.util.Locale)"
    - Src: "ch.qos.logback.classic.pattern.DateConverter:60,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.DateConverter:60,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].addWarn(java.lang.String,java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.pattern.DateConverter:62,1"
      Dst: "[ch.qos.logback.core.util.CachingDateFormatter].<init>(java.lang.String,java.time.ZoneId)"
    - Src: "ch.qos.logback.classic.pattern.DateConverter:65,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 13
    CyclomaticComplexity: 7
  - functionName: "[ch.qos.logback.core.util.CachingDateFormatter].<init>(java.lang.String,java.time.ZoneId,java.util.Locale)"
    functionSourceFile: "ch.qos.logback.core.util.CachingDateFormatter"
    linkageType: null
    functionLinenumber: 54
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.time.ZoneId"
    - "java.util.Locale"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.CachingDateFormatter$CacheTuple].<init>(long,java.lang.String)"
    - "[java.lang.Object].<init>()"
    - "[java.time.ZoneId].systemDefault()"
    - "[java.util.Locale].getDefault()"
    - "[java.time.format.DateTimeFormatter].ofPattern(java.lang.String)"
    - "[java.time.format.DateTimeFormatter].withZone(java.time.ZoneId)"
    - "[java.time.format.DateTimeFormatter].withLocale(java.util.Locale)"
    - "[java.util.concurrent.atomic.AtomicReference].<init>(java.lang.Object)"
    functionUses: 2
    ICount: 25
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.CachingDateFormatter:56"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.CachingDateFormatter:59"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.CachingDateFormatter:58"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.CachingDateFormatter:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.CachingDateFormatter:60"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:55,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:57,1"
      Dst: "[java.time.ZoneId].systemDefault()"
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:61,1"
      Dst: "[java.util.Locale].getDefault()"
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:63,1"
      Dst: "[java.time.format.DateTimeFormatter].ofPattern(java.lang.String)"
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:63,1"
      Dst: "[java.time.format.DateTimeFormatter].withZone(java.time.ZoneId)"
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:63,1"
      Dst: "[java.time.format.DateTimeFormatter].withLocale(java.util.Locale)"
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:64,1"
      Dst: "[ch.qos.logback.core.util.CachingDateFormatter$CacheTuple].<init>(long,java.lang.String)"
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:65,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].<init>(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.util.CachingDateFormatter].<init>(java.lang.String,java.time.ZoneId)"
    functionSourceFile: "ch.qos.logback.core.util.CachingDateFormatter"
    linkageType: null
    functionLinenumber: 51
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.time.ZoneId"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.CachingDateFormatter].<init>(java.lang.String,java.time.ZoneId,java.util.Locale)"
    functionUses: 3
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:52,1"
      Dst: "[ch.qos.logback.core.util.CachingDateFormatter].<init>(java.lang.String,java.time.ZoneId,java.util.Locale)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.DateConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.pattern.DateConverter"
    linkageType: null
    functionLinenumber: 68
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getTimeStamp()"
    - "[ch.qos.logback.core.util.CachingDateFormatter].format(long)"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getTimeStamp()"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.DateConverter:69,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getTimeStamp()"
    - Src: "ch.qos.logback.classic.pattern.DateConverter:70,1"
      Dst: "[ch.qos.logback.core.util.CachingDateFormatter].format(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.CachingDateFormatter].format(long)"
    functionSourceFile: "ch.qos.logback.core.util.CachingDateFormatter"
    linkageType: null
    functionLinenumber: 68
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.CachingDateFormatter$CacheTuple].<init>(long,java.lang.String)"
    - "[java.util.concurrent.atomic.AtomicReference].get()"
    - "[java.time.Instant].ofEpochMilli(long)"
    - "[java.time.format.DateTimeFormatter].format(java.time.temporal.TemporalAccessor)"
    - "[java.util.concurrent.atomic.AtomicReference].compareAndSet(java.lang.Object,java.lang.Object)"
    functionUses: 6
    ICount: 19
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.CachingDateFormatter:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.CachingDateFormatter:79"
        BranchSideFuncs:
        - "<init>(long,java.lang.String)"
      - BranchSide: "ch.qos.logback.core.util.CachingDateFormatter:78"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:69,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].get()"
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:73,1"
      Dst: "[java.time.Instant].ofEpochMilli(long)"
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:74,1"
      Dst: "[java.time.format.DateTimeFormatter].format(java.time.temporal.TemporalAccessor)"
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:75,1"
      Dst: "[ch.qos.logback.core.util.CachingDateFormatter$CacheTuple].<init>(long,java.lang.String)"
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:77,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].compareAndSet(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.pattern.DateConverter].convert(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.pattern.DateConverter"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.DateConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 11
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.DateConverter:24,1"
      Dst: "[ch.qos.logback.classic.pattern.DateConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.DateConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.pattern.DateConverter"
    linkageType: null
    functionLinenumber: 68
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getTimeStamp()"
    - "[ch.qos.logback.core.util.CachingDateFormatter].format(long)"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getTimeStamp()"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.DateConverter:69,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getTimeStamp()"
    - Src: "ch.qos.logback.classic.pattern.DateConverter:70,1"
      Dst: "[ch.qos.logback.core.util.CachingDateFormatter].format(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.CoreTestConstants].<init>()"
    functionSourceFile: "ch.qos.logback.core.testUtil.CoreTestConstants"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.CoreTestConstants:16,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__47].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__47"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__47].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__47:-1,1"
      Dst: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__47].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__47].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__47"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__47:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__47].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__47"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__47:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__47].get()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__47"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.AppenderRefAction].<init>()"
    functionUses: 3
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__47:-1,1"
      Dst: "[ch.qos.logback.core.joran.action.AppenderRefAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.AppenderRefAction].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.action.AppenderRefAction"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 3
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.AppenderRefAction:23,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.Duration].<init>(long)"
    functionSourceFile: "ch.qos.logback.core.util.Duration"
    linkageType: null
    functionLinenumber: 55
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 7
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.Duration:56,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.Duration].buildByMilliseconds(double)"
    functionSourceFile: "ch.qos.logback.core.util.Duration"
    linkageType: null
    functionLinenumber: 60
    functionDepth: 1
    returnType: "ch.qos.logback.core.util.Duration"
    argCount: 1
    argTypes:
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Duration].<init>(long)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.Duration:61,1"
      Dst: "[ch.qos.logback.core.util.Duration].<init>(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.Duration].buildBySeconds(double)"
    functionSourceFile: "ch.qos.logback.core.util.Duration"
    linkageType: null
    functionLinenumber: 64
    functionDepth: 1
    returnType: "ch.qos.logback.core.util.Duration"
    argCount: 1
    argTypes:
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Duration].<init>(long)"
    functionUses: 2
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.Duration:65,1"
      Dst: "[ch.qos.logback.core.util.Duration].<init>(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.Duration].buildByMinutes(double)"
    functionSourceFile: "ch.qos.logback.core.util.Duration"
    linkageType: null
    functionLinenumber: 68
    functionDepth: 1
    returnType: "ch.qos.logback.core.util.Duration"
    argCount: 1
    argTypes:
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Duration].<init>(long)"
    functionUses: 2
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.Duration:69,1"
      Dst: "[ch.qos.logback.core.util.Duration].<init>(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.Duration].buildByHours(double)"
    functionSourceFile: "ch.qos.logback.core.util.Duration"
    linkageType: null
    functionLinenumber: 72
    functionDepth: 1
    returnType: "ch.qos.logback.core.util.Duration"
    argCount: 1
    argTypes:
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Duration].<init>(long)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.Duration:73,1"
      Dst: "[ch.qos.logback.core.util.Duration].<init>(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.Duration].buildByDays(double)"
    functionSourceFile: "ch.qos.logback.core.util.Duration"
    linkageType: null
    functionLinenumber: 76
    functionDepth: 1
    returnType: "ch.qos.logback.core.util.Duration"
    argCount: 1
    argTypes:
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Duration].<init>(long)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.Duration:77,1"
      Dst: "[ch.qos.logback.core.util.Duration].<init>(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.Duration].buildUnbounded()"
    functionSourceFile: "ch.qos.logback.core.util.Duration"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.util.Duration"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Duration].<init>(long)"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.Duration:81,1"
      Dst: "[ch.qos.logback.core.util.Duration].<init>(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.Duration].<init>(long)"
    functionSourceFile: "ch.qos.logback.core.util.Duration"
    linkageType: null
    functionLinenumber: 55
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 7
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.Duration:56,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.Duration].getMilliseconds()"
    functionSourceFile: "ch.qos.logback.core.util.Duration"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 8
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.Duration].valueOf(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.Duration"
    linkageType: null
    functionLinenumber: 88
    functionDepth: 2
    returnType: "ch.qos.logback.core.util.Duration"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Duration].buildByMilliseconds(double)"
    - "[ch.qos.logback.core.util.Duration].buildBySeconds(double)"
    - "[ch.qos.logback.core.util.Duration].buildByMinutes(double)"
    - "[ch.qos.logback.core.util.Duration].buildByHours(double)"
    - "[ch.qos.logback.core.util.Duration].buildByDays(double)"
    - "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - "[java.util.regex.Matcher].matches()"
    - "[java.util.regex.Matcher].group(int)"
    - "[java.lang.Double].valueOf(java.lang.String)"
    - "[java.lang.Double].doubleValue()"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - "[java.lang.String].length()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 43
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.Duration:91"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.Duration:110"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.Duration:109"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.Duration:96"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.Duration:97"
        BranchSideFuncs:
        - "buildByMilliseconds(double)"
      - BranchSide: "ch.qos.logback.core.util.Duration:96"
        BranchSideFuncs:
        - "buildByMilliseconds(double)"
    - Branch String: "ch.qos.logback.core.util.Duration:96"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.Duration:97"
        BranchSideFuncs:
        - "buildByMilliseconds(double)"
      - BranchSide: "ch.qos.logback.core.util.Duration:96"
        BranchSideFuncs:
        - "buildByMilliseconds(double)"
    - Branch String: "ch.qos.logback.core.util.Duration:96"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.Duration:98"
        BranchSideFuncs:
        - "buildByMilliseconds(double)"
      - BranchSide: "ch.qos.logback.core.util.Duration:97"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.Duration:98"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.Duration:99"
        BranchSideFuncs:
        - "buildBySeconds(double)"
      - BranchSide: "ch.qos.logback.core.util.Duration:98"
        BranchSideFuncs:
        - "buildBySeconds(double)"
    - Branch String: "ch.qos.logback.core.util.Duration:98"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.Duration:100"
        BranchSideFuncs:
        - "buildBySeconds(double)"
      - BranchSide: "ch.qos.logback.core.util.Duration:99"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.Duration:100"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.Duration:102"
        BranchSideFuncs:
        - "buildByMinutes(double)"
      - BranchSide: "ch.qos.logback.core.util.Duration:101"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.Duration:102"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.Duration:104"
        BranchSideFuncs:
        - "buildByHours(double)"
      - BranchSide: "ch.qos.logback.core.util.Duration:103"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.Duration:104"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.Duration:107"
        BranchSideFuncs:
        - "buildByDays(double)"
      - BranchSide: "ch.qos.logback.core.util.Duration:106"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.Duration:89,1"
      Dst: "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - Src: "ch.qos.logback.core.util.Duration:91,1"
      Dst: "[java.util.regex.Matcher].matches()"
    - Src: "ch.qos.logback.core.util.Duration:92,1"
      Dst: "[java.util.regex.Matcher].group(int)"
    - Src: "ch.qos.logback.core.util.Duration:95,1"
      Dst: "[java.lang.Double].valueOf(java.lang.String)"
    - Src: "ch.qos.logback.core.util.Duration:95,1"
      Dst: "[java.lang.Double].doubleValue()"
    - Src: "ch.qos.logback.core.util.Duration:96,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - Src: "ch.qos.logback.core.util.Duration:96,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.core.util.Duration:97,1"
      Dst: "[ch.qos.logback.core.util.Duration].buildByMilliseconds(double)"
    - Src: "ch.qos.logback.core.util.Duration:99,1"
      Dst: "[ch.qos.logback.core.util.Duration].buildBySeconds(double)"
    - Src: "ch.qos.logback.core.util.Duration:101,1"
      Dst: "[ch.qos.logback.core.util.Duration].buildByMinutes(double)"
    - Src: "ch.qos.logback.core.util.Duration:103,1"
      Dst: "[ch.qos.logback.core.util.Duration].buildByHours(double)"
    - Src: "ch.qos.logback.core.util.Duration:105,1"
      Dst: "[ch.qos.logback.core.util.Duration].buildByDays(double)"
    - Src: "ch.qos.logback.core.util.Duration:107,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.util.Duration:107,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.util.Duration:110,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 16
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.util.Duration].toString()"
    functionSourceFile: "ch.qos.logback.core.util.Duration"
    linkageType: null
    functionLinenumber: 115
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(long)"
    functionUses: 4
    ICount: 28
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.Duration:116"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.Duration:118"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.Duration:117"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.Duration:118"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.Duration:120"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.Duration:119"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.Duration:120"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.Duration:123"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.Duration:122"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.Duration:117,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.IntegerTokenConverter].<init>()"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.IntegerTokenConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.DynamicConverter].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.IntegerTokenConverter:25,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.IntegerTokenConverter].convert(int)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.IntegerTokenConverter"
    linkageType: null
    functionLinenumber: 29
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.FormattingConverter].getFormattingInfo()"
    - "[ch.qos.logback.core.pattern.FormatInfo].getMin()"
    - "[java.lang.Integer].toString(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.String].length()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 17
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.IntegerTokenConverter:32"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.IntegerTokenConverter:35"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.IntegerTokenConverter:34"
        BranchSideFuncs:
        - "getMin()"
    - Branch String: "ch.qos.logback.core.rolling.helper.IntegerTokenConverter:37"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.IntegerTokenConverter:39"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.IntegerTokenConverter:30,1"
      Dst: "[java.lang.Integer].toString(int)"
    - Src: "ch.qos.logback.core.rolling.helper.IntegerTokenConverter:31,1"
      Dst: "[ch.qos.logback.core.pattern.FormattingConverter].getFormattingInfo()"
    - Src: "ch.qos.logback.core.rolling.helper.IntegerTokenConverter:35,1"
      Dst: "[ch.qos.logback.core.pattern.FormatInfo].getMin()"
    - Src: "ch.qos.logback.core.rolling.helper.IntegerTokenConverter:36,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.core.rolling.helper.IntegerTokenConverter:37,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.core.rolling.helper.IntegerTokenConverter:38,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.core.rolling.helper.IntegerTokenConverter:40,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.IntegerTokenConverter:40,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.pattern.FormatInfo].getMin()"
    functionSourceFile: "ch.qos.logback.core.pattern.FormatInfo"
    linkageType: null
    functionLinenumber: 112
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.IntegerTokenConverter].convert(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.IntegerTokenConverter"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.IntegerTokenConverter].convert(int)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.Integer].intValue()"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Object,java.lang.String)"
    functionUses: 11
    ICount: 18
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.IntegerTokenConverter:44"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.IntegerTokenConverter:47"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.IntegerTokenConverter:46"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.IntegerTokenConverter:47"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.IntegerTokenConverter:51"
        BranchSideFuncs:
        - "convert(int)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.IntegerTokenConverter:50"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.IntegerTokenConverter:45,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.IntegerTokenConverter:49,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "ch.qos.logback.core.rolling.helper.IntegerTokenConverter:49,1"
      Dst: "[ch.qos.logback.core.rolling.helper.IntegerTokenConverter].convert(int)"
    - Src: "ch.qos.logback.core.rolling.helper.IntegerTokenConverter:51,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.rolling.helper.IntegerTokenConverter:51,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.core.rolling.helper.IntegerTokenConverter:51,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Object,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.IntegerTokenConverter].convert(int)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.IntegerTokenConverter"
    linkageType: null
    functionLinenumber: 29
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.FormattingConverter].getFormattingInfo()"
    - "[ch.qos.logback.core.pattern.FormatInfo].getMin()"
    - "[java.lang.Integer].toString(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.String].length()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 17
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.IntegerTokenConverter:32"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.IntegerTokenConverter:35"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.IntegerTokenConverter:34"
        BranchSideFuncs:
        - "getMin()"
    - Branch String: "ch.qos.logback.core.rolling.helper.IntegerTokenConverter:37"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.IntegerTokenConverter:39"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.IntegerTokenConverter:30,1"
      Dst: "[java.lang.Integer].toString(int)"
    - Src: "ch.qos.logback.core.rolling.helper.IntegerTokenConverter:31,1"
      Dst: "[ch.qos.logback.core.pattern.FormattingConverter].getFormattingInfo()"
    - Src: "ch.qos.logback.core.rolling.helper.IntegerTokenConverter:35,1"
      Dst: "[ch.qos.logback.core.pattern.FormatInfo].getMin()"
    - Src: "ch.qos.logback.core.rolling.helper.IntegerTokenConverter:36,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.core.rolling.helper.IntegerTokenConverter:37,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.core.rolling.helper.IntegerTokenConverter:38,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.core.rolling.helper.IntegerTokenConverter:40,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.IntegerTokenConverter:40,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.rolling.helper.IntegerTokenConverter].isApplicable(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.IntegerTokenConverter"
    linkageType: null
    functionLinenumber: 54
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.html.HTMLLayout].<init>()"
    functionSourceFile: "ch.qos.logback.classic.html.HTMLLayout"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.html.HTMLLayoutBase].<init>()"
    - "[ch.qos.logback.classic.html.DefaultThrowableRenderer].<init>()"
    - "[ch.qos.logback.classic.html.DefaultCssBuilder].<init>()"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.html.HTMLLayout:55,1"
      Dst: "[ch.qos.logback.core.html.HTMLLayoutBase].<init>()"
    - Src: "ch.qos.logback.classic.html.HTMLLayout:57,1"
      Dst: "[ch.qos.logback.classic.html.DefaultThrowableRenderer].<init>()"
    - Src: "ch.qos.logback.classic.html.HTMLLayout:58,1"
      Dst: "[ch.qos.logback.classic.html.DefaultCssBuilder].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.html.HTMLLayout].start()"
    functionSourceFile: "ch.qos.logback.classic.html.HTMLLayout"
    linkageType: null
    functionLinenumber: 62
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.html.HTMLLayoutBase].start()"
    functionUses: 5
    ICount: 9
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.html.HTMLLayout:64"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.html.HTMLLayout:68"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.html.HTMLLayout:67"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.html.HTMLLayout:68"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.html.HTMLLayout:71"
        BranchSideFuncs:
        - "start()"
      - BranchSide: "ch.qos.logback.classic.html.HTMLLayout:70"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.html.HTMLLayout:65,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.classic.html.HTMLLayout:69,1"
      Dst: "[ch.qos.logback.core.html.HTMLLayoutBase].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.html.HTMLLayout].getDefaultConverterMap()"
    functionSourceFile: "ch.qos.logback.classic.html.HTMLLayout"
    linkageType: null
    functionLinenumber: 73
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.html.HTMLLayout].doLayout(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.html.HTMLLayout"
    linkageType: null
    functionLinenumber: 77
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.html.HTMLLayoutBase].startNewTableIfLimitReached(java.lang.StringBuilder)"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getLevel()"
    - "[ch.qos.logback.classic.Level].toString()"
    - "[ch.qos.logback.classic.html.HTMLLayout].appendEventToBuffer(java.lang.StringBuilder,ch.qos.logback.core.pattern.Converter,ch.qos.logback.classic.spi.ILoggingEvent)"
    - "[ch.qos.logback.core.pattern.Converter].getNext()"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO:ch.qos.logback.core.html.NOPThrowableRenderer].getThrowableProxy()"
    - "[ch.qos.logback.classic.html.DefaultThrowableRenderer].render(java.lang.StringBuilder,java.lang.Object)"
    - "[java.lang.StringBuilder].<init>()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    - "[java.lang.String].toLowerCase()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getThrowableProxy()"
    - "[ch.qos.logback.core.html.IThrowableRenderer].render(java.lang.StringBuilder,java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 40
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.html.HTMLLayout:82"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.html.HTMLLayout:86"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.html.HTMLLayout:85"
        BranchSideFuncs:
        - "toString()"
        - "getLevel()"
    - Branch String: "ch.qos.logback.classic.html.HTMLLayout:91"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.html.HTMLLayout:94"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.html.HTMLLayout:93"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.html.HTMLLayout:99"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.html.HTMLLayout:103"
        BranchSideFuncs:
        - "appendEventToBuffer(java.lang.StringBuilder,ch.qos.logback.core.pattern.Converter,ch.qos.logback.classic.spi.ILoggingEvent)"
        - "getNext()"
      - BranchSide: "ch.qos.logback.classic.html.HTMLLayout:102"
        BranchSideFuncs:
        - "getThrowableProxy()"
    - Branch String: "ch.qos.logback.classic.html.HTMLLayout:106"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.html.HTMLLayout:109"
        BranchSideFuncs:
        - "render(java.lang.StringBuilder,java.lang.Object)"
      - BranchSide: "ch.qos.logback.classic.html.HTMLLayout:108"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.html.HTMLLayout:78,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.classic.html.HTMLLayout:79,1"
      Dst: "[ch.qos.logback.core.html.HTMLLayoutBase].startNewTableIfLimitReached(java.lang.StringBuilder)"
    - Src: "ch.qos.logback.classic.html.HTMLLayout:86,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    - Src: "ch.qos.logback.classic.html.HTMLLayout:86,1"
      Dst: "[ch.qos.logback.classic.Level].toString()"
    - Src: "ch.qos.logback.classic.html.HTMLLayout:86,1"
      Dst: "[java.lang.String].toLowerCase()"
    - Src: "ch.qos.logback.classic.html.HTMLLayout:88,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.html.HTMLLayout:100,1"
      Dst: "[ch.qos.logback.classic.html.HTMLLayout].appendEventToBuffer(java.lang.StringBuilder,ch.qos.logback.core.pattern.Converter,ch.qos.logback.classic.spi.ILoggingEvent)"
    - Src: "ch.qos.logback.classic.html.HTMLLayout:101,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].getNext()"
    - Src: "ch.qos.logback.classic.html.HTMLLayout:106,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getThrowableProxy()"
    - Src: "ch.qos.logback.classic.html.HTMLLayout:107,1"
      Dst: "[ch.qos.logback.core.html.IThrowableRenderer].render(java.lang.StringBuilder,java.lang.Object)"
    - Src: "ch.qos.logback.classic.html.HTMLLayout:109,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 11
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.classic.Level].toString()"
    functionSourceFile: "ch.qos.logback.classic.Level"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 6
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.html.HTMLLayout].appendEventToBuffer(java.lang.StringBuilder,ch.qos.logback.core.pattern.Converter,ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.html.HTMLLayout"
    linkageType: null
    functionLinenumber: 112
    functionDepth: 2
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.StringBuilder"
    - "ch.qos.logback.core.pattern.Converter"
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.html.HTMLLayout].computeConverterName(ch.qos.logback.core.pattern.Converter)"
    - "[ch.qos.logback.classic.pattern.FileOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LocalSequenceNumberConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.SyslogStartConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.DateTokenConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.NopThrowableInformationConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.PrefixCompositeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.DateConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.RelativeTimeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.IntegerTokenConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.KeyValuePairConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LineSeparatorConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LineOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.PropertyConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LevelConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MDCConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MessageConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ThreadConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.NamedConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MethodOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MicrosecondConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ContextNameConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MarkerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.CompositeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.SequenceNumberConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.CallerDataConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.LiteralConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.helpers.Transform].escapeTags(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[ch.qos.logback.core.pattern.Converter].convert(java.lang.Object)"
    functionUses: 1
    ICount: 15
    EdgeCount: 29
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.html.HTMLLayout:113,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.html.HTMLLayout:114,1"
      Dst: "[ch.qos.logback.classic.html.HTMLLayout].computeConverterName(ch.qos.logback.core.pattern.Converter)"
    - Src: "ch.qos.logback.classic.html.HTMLLayout:116,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].convert(java.lang.Object)"
    - Src: "ch.qos.logback.classic.html.HTMLLayout:116,1"
      Dst: "[ch.qos.logback.core.helpers.Transform].escapeTags(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.html.HTMLLayout].computeConverterName(ch.qos.logback.core.pattern.Converter)"
    functionSourceFile: "ch.qos.logback.classic.html.HTMLLayout"
    linkageType: null
    functionLinenumber: 130
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.pattern.Converter"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.DynamicConverter].getFirstOption()"
    - "[ch.qos.logback.core.html.HTMLLayoutBase].computeConverterName(ch.qos.logback.core.pattern.Converter)"
    functionUses: 4
    ICount: 11
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.html.HTMLLayout:131"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.html.HTMLLayout:140"
        BranchSideFuncs:
        - "getFirstOption()"
      - BranchSide: "ch.qos.logback.classic.html.HTMLLayout:139"
        BranchSideFuncs:
        - "computeConverterName(ch.qos.logback.core.pattern.Converter)"
    - Branch String: "ch.qos.logback.classic.html.HTMLLayout:134"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.html.HTMLLayout:137"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.html.HTMLLayout:136"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.html.HTMLLayout:133,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].getFirstOption()"
    - Src: "ch.qos.logback.classic.html.HTMLLayout:140,1"
      Dst: "[ch.qos.logback.core.html.HTMLLayoutBase].computeConverterName(ch.qos.logback.core.pattern.Converter)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.helpers.Transform].escapeTags(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.helpers.Transform"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.helpers.Transform].escapeTags(java.lang.StringBuffer)"
    - "[java.lang.String].length()"
    - "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - "[java.util.regex.Matcher].find()"
    - "[java.lang.StringBuffer].<init>(java.lang.String)"
    functionUses: 10
    ICount: 13
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.helpers.Transform:40"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.Transform:41"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.Transform:40"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.helpers.Transform:40"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.Transform:41"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.Transform:40"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.helpers.Transform:40"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.Transform:43"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.Transform:42"
        BranchSideFuncs:
        - "escapeTags(java.lang.StringBuffer)"
    Callsites:
    - Src: "ch.qos.logback.core.helpers.Transform:40,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.core.helpers.Transform:40,1"
      Dst: "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - Src: "ch.qos.logback.core.helpers.Transform:40,1"
      Dst: "[java.util.regex.Matcher].find()"
    - Src: "ch.qos.logback.core.helpers.Transform:43,1"
      Dst: "[java.lang.StringBuffer].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.helpers.Transform:44,1"
      Dst: "[ch.qos.logback.core.helpers.Transform].escapeTags(java.lang.StringBuffer)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.helpers.Transform].escapeTags(java.lang.StringBuffer)"
    functionSourceFile: "ch.qos.logback.core.helpers.Transform"
    linkageType: null
    functionLinenumber: 55
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.StringBuffer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuffer].length()"
    - "[java.lang.StringBuffer].charAt(int)"
    - "[java.lang.StringBuffer].replace(int,int,java.lang.String)"
    - "[java.lang.StringBuffer].toString()"
    functionUses: 1
    ICount: 31
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.helpers.Transform:56"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.Transform:88"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.Transform:87"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.helpers.Transform:80"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.Transform:55"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.helpers.Transform:56,1"
      Dst: "[java.lang.StringBuffer].length()"
    - Src: "ch.qos.logback.core.helpers.Transform:57,1"
      Dst: "[java.lang.StringBuffer].charAt(int)"
    - Src: "ch.qos.logback.core.helpers.Transform:65,1"
      Dst: "[java.lang.StringBuffer].replace(int,int,java.lang.String)"
    - Src: "ch.qos.logback.core.helpers.Transform:88,1"
      Dst: "[java.lang.StringBuffer].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 13
    CyclomaticComplexity: 9
  - functionName: "[ch.qos.logback.classic.html.HTMLLayout].appendEventToBuffer(java.lang.StringBuilder,ch.qos.logback.core.pattern.Converter,ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.html.HTMLLayout"
    linkageType: null
    functionLinenumber: 112
    functionDepth: 2
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.StringBuilder"
    - "ch.qos.logback.core.pattern.Converter"
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.html.HTMLLayout].computeConverterName(ch.qos.logback.core.pattern.Converter)"
    - "[ch.qos.logback.classic.pattern.FileOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LocalSequenceNumberConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.SyslogStartConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.DateTokenConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.NopThrowableInformationConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.PrefixCompositeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.DateConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.RelativeTimeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.IntegerTokenConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.KeyValuePairConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LineSeparatorConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LineOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.PropertyConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LevelConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MDCConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MessageConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ThreadConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.NamedConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MethodOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MicrosecondConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ContextNameConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MarkerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.CompositeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.SequenceNumberConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.CallerDataConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.LiteralConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.helpers.Transform].escapeTags(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[ch.qos.logback.core.pattern.Converter].convert(java.lang.Object)"
    functionUses: 1
    ICount: 15
    EdgeCount: 29
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.html.HTMLLayout:113,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.html.HTMLLayout:114,1"
      Dst: "[ch.qos.logback.classic.html.HTMLLayout].computeConverterName(ch.qos.logback.core.pattern.Converter)"
    - Src: "ch.qos.logback.classic.html.HTMLLayout:116,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].convert(java.lang.Object)"
    - Src: "ch.qos.logback.classic.html.HTMLLayout:116,1"
      Dst: "[ch.qos.logback.core.helpers.Transform].escapeTags(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.html.HTMLLayout].getThrowableRenderer()"
    functionSourceFile: "ch.qos.logback.classic.html.HTMLLayout"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.core.html.IThrowableRenderer"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.html.HTMLLayout].setThrowableRenderer(ch.qos.logback.core.html.IThrowableRenderer)"
    functionSourceFile: "ch.qos.logback.classic.html.HTMLLayout"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.html.IThrowableRenderer"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.html.HTMLLayout].computeConverterName(ch.qos.logback.core.pattern.Converter)"
    functionSourceFile: "ch.qos.logback.classic.html.HTMLLayout"
    linkageType: null
    functionLinenumber: 130
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.pattern.Converter"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.DynamicConverter].getFirstOption()"
    - "[ch.qos.logback.core.html.HTMLLayoutBase].computeConverterName(ch.qos.logback.core.pattern.Converter)"
    functionUses: 4
    ICount: 11
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.html.HTMLLayout:131"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.html.HTMLLayout:140"
        BranchSideFuncs:
        - "getFirstOption()"
      - BranchSide: "ch.qos.logback.classic.html.HTMLLayout:139"
        BranchSideFuncs:
        - "computeConverterName(ch.qos.logback.core.pattern.Converter)"
    - Branch String: "ch.qos.logback.classic.html.HTMLLayout:134"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.html.HTMLLayout:137"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.html.HTMLLayout:136"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.html.HTMLLayout:133,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].getFirstOption()"
    - Src: "ch.qos.logback.classic.html.HTMLLayout:140,1"
      Dst: "[ch.qos.logback.core.html.HTMLLayoutBase].computeConverterName(ch.qos.logback.core.pattern.Converter)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.html.HTMLLayout].doLayout(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.html.HTMLLayout"
    linkageType: null
    functionLinenumber: 40
    functionDepth: 4
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.html.HTMLLayout].doLayout(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 5
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.html.HTMLLayout:41,1"
      Dst: "[ch.qos.logback.classic.html.HTMLLayout].doLayout(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.html.HTMLLayout].doLayout(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.html.HTMLLayout"
    linkageType: null
    functionLinenumber: 77
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.html.HTMLLayoutBase].startNewTableIfLimitReached(java.lang.StringBuilder)"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getLevel()"
    - "[ch.qos.logback.classic.Level].toString()"
    - "[ch.qos.logback.classic.html.HTMLLayout].appendEventToBuffer(java.lang.StringBuilder,ch.qos.logback.core.pattern.Converter,ch.qos.logback.classic.spi.ILoggingEvent)"
    - "[ch.qos.logback.core.pattern.Converter].getNext()"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO:ch.qos.logback.core.html.NOPThrowableRenderer].getThrowableProxy()"
    - "[ch.qos.logback.classic.html.DefaultThrowableRenderer].render(java.lang.StringBuilder,java.lang.Object)"
    - "[java.lang.StringBuilder].<init>()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    - "[java.lang.String].toLowerCase()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getThrowableProxy()"
    - "[ch.qos.logback.core.html.IThrowableRenderer].render(java.lang.StringBuilder,java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 40
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.html.HTMLLayout:82"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.html.HTMLLayout:86"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.html.HTMLLayout:85"
        BranchSideFuncs:
        - "toString()"
        - "getLevel()"
    - Branch String: "ch.qos.logback.classic.html.HTMLLayout:91"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.html.HTMLLayout:94"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.html.HTMLLayout:93"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.html.HTMLLayout:99"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.html.HTMLLayout:103"
        BranchSideFuncs:
        - "appendEventToBuffer(java.lang.StringBuilder,ch.qos.logback.core.pattern.Converter,ch.qos.logback.classic.spi.ILoggingEvent)"
        - "getNext()"
      - BranchSide: "ch.qos.logback.classic.html.HTMLLayout:102"
        BranchSideFuncs:
        - "getThrowableProxy()"
    - Branch String: "ch.qos.logback.classic.html.HTMLLayout:106"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.html.HTMLLayout:109"
        BranchSideFuncs:
        - "render(java.lang.StringBuilder,java.lang.Object)"
      - BranchSide: "ch.qos.logback.classic.html.HTMLLayout:108"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.html.HTMLLayout:78,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.classic.html.HTMLLayout:79,1"
      Dst: "[ch.qos.logback.core.html.HTMLLayoutBase].startNewTableIfLimitReached(java.lang.StringBuilder)"
    - Src: "ch.qos.logback.classic.html.HTMLLayout:86,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    - Src: "ch.qos.logback.classic.html.HTMLLayout:86,1"
      Dst: "[ch.qos.logback.classic.Level].toString()"
    - Src: "ch.qos.logback.classic.html.HTMLLayout:86,1"
      Dst: "[java.lang.String].toLowerCase()"
    - Src: "ch.qos.logback.classic.html.HTMLLayout:88,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.html.HTMLLayout:100,1"
      Dst: "[ch.qos.logback.classic.html.HTMLLayout].appendEventToBuffer(java.lang.StringBuilder,ch.qos.logback.core.pattern.Converter,ch.qos.logback.classic.spi.ILoggingEvent)"
    - Src: "ch.qos.logback.classic.html.HTMLLayout:101,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].getNext()"
    - Src: "ch.qos.logback.classic.html.HTMLLayout:106,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getThrowableProxy()"
    - Src: "ch.qos.logback.classic.html.HTMLLayout:107,1"
      Dst: "[ch.qos.logback.core.html.IThrowableRenderer].render(java.lang.StringBuilder,java.lang.Object)"
    - Src: "ch.qos.logback.classic.html.HTMLLayout:109,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 11
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.sift.SiftModelHandler$lambda_computeAppenderModelCount_0__93].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.sift.SiftModelHandler$lambda_computeAppenderModelCount_0__93"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Predicate"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.sift.SiftModelHandler$lambda_computeAppenderModelCount_0__93].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.SiftModelHandler$lambda_computeAppenderModelCount_0__93:-1,1"
      Dst: "[ch.qos.logback.core.sift.SiftModelHandler$lambda_computeAppenderModelCount_0__93].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.SiftModelHandler$lambda_computeAppenderModelCount_0__93].<init>()"
    functionSourceFile: "ch.qos.logback.core.sift.SiftModelHandler$lambda_computeAppenderModelCount_0__93"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.SiftModelHandler$lambda_computeAppenderModelCount_0__93:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.SiftModelHandler$lambda_computeAppenderModelCount_0__93].<init>()"
    functionSourceFile: "ch.qos.logback.core.sift.SiftModelHandler$lambda_computeAppenderModelCount_0__93"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.SiftModelHandler$lambda_computeAppenderModelCount_0__93:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.SiftModelHandler$lambda_computeAppenderModelCount_0__93].test(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.sift.SiftModelHandler$lambda_computeAppenderModelCount_0__93"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.sift.SiftModelHandler].lambda$computeAppenderModelCount$0(ch.qos.logback.core.model.Model)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.SiftModelHandler$lambda_computeAppenderModelCount_0__93:-1,1"
      Dst: "[ch.qos.logback.core.sift.SiftModelHandler].lambda$computeAppenderModelCount$0(ch.qos.logback.core.model.Model)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.SiftModelHandler].lambda$computeAppenderModelCount$0(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.sift.SiftModelHandler"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.LoggerContextListenerModel].<init>()"
    functionSourceFile: "ch.qos.logback.classic.model.LoggerContextListenerModel"
    linkageType: null
    functionLinenumber: 17
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.ComponentModel].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.LoggerContextListenerModel:18,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.LoggerContextListenerModel].makeNewInstance()"
    functionSourceFile: "ch.qos.logback.classic.model.LoggerContextListenerModel"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 3
    returnType: "ch.qos.logback.classic.model.LoggerContextListenerModel"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.model.LoggerContextListenerModel].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.LoggerContextListenerModel:24,1"
      Dst: "[ch.qos.logback.classic.model.LoggerContextListenerModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.LoggerContextListenerModel].<init>()"
    functionSourceFile: "ch.qos.logback.classic.model.LoggerContextListenerModel"
    linkageType: null
    functionLinenumber: 17
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.ComponentModel].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.LoggerContextListenerModel:18,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ComponentModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.ComponentModel"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 8
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.ComponentModel:24,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.recovery.ResilientOutputStreamBase$lambda_postIOFailure_1__96].bootstrap$(java.io.IOException)"
    functionSourceFile: "ch.qos.logback.core.recovery.ResilientOutputStreamBase$lambda_postIOFailure_1__96"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Consumer"
    argCount: 1
    argTypes:
    - "java.io.IOException"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.recovery.ResilientOutputStreamBase$lambda_postIOFailure_1__96].<init>(java.io.IOException)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.recovery.ResilientOutputStreamBase$lambda_postIOFailure_1__96:-1,1"
      Dst: "[ch.qos.logback.core.recovery.ResilientOutputStreamBase$lambda_postIOFailure_1__96].<init>(java.io.IOException)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.recovery.ResilientOutputStreamBase$lambda_postIOFailure_1__96].<init>(java.io.IOException)"
    functionSourceFile: "ch.qos.logback.core.recovery.ResilientOutputStreamBase$lambda_postIOFailure_1__96"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.IOException"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.recovery.ResilientOutputStreamBase$lambda_postIOFailure_1__96:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.recovery.ResilientOutputStreamBase$lambda_postIOFailure_1__96].<init>(java.io.IOException)"
    functionSourceFile: "ch.qos.logback.core.recovery.ResilientOutputStreamBase$lambda_postIOFailure_1__96"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.IOException"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.recovery.ResilientOutputStreamBase$lambda_postIOFailure_1__96:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.recovery.ResilientOutputStreamBase$lambda_postIOFailure_1__96].accept(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.recovery.ResilientOutputStreamBase$lambda_postIOFailure_1__96"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.recovery.ResilientOutputStreamBase].lambda$postIOFailure$1(java.io.IOException,ch.qos.logback.core.recovery.RecoveryListener)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.recovery.ResilientOutputStreamBase$lambda_postIOFailure_1__96:-1,1"
      Dst: "[ch.qos.logback.core.recovery.ResilientOutputStreamBase].lambda$postIOFailure$1(java.io.IOException,ch.qos.logback.core.recovery.RecoveryListener)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__4].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__4"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__4].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__4:-1,1"
      Dst: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__4].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__4].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__4"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__4:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__4].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__4"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__4:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__4].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__4"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ImportModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__4:-1,1"
      Dst: "[ch.qos.logback.core.model.processor.ImportModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ImportModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ImportModelHandler"
    linkageType: null
    functionLinenumber: 15
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ImportModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ImportModelHandler:16,1"
      Dst: "[ch.qos.logback.core.model.processor.ImportModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.server.AbstractServerSocketAppender$1].<init>(ch.qos.logback.core.net.server.AbstractServerSocketAppender,java.io.Serializable)"
    functionSourceFile: "ch.qos.logback.core.net.server.AbstractServerSocketAppender$1"
    linkageType: null
    functionLinenumber: 101
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.net.server.AbstractServerSocketAppender"
    - "java.io.Serializable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.server.AbstractServerSocketAppender$1:102,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.server.AbstractServerSocketAppender$1].visit(ch.qos.logback.core.net.server.RemoteReceiverClient)"
    functionSourceFile: "ch.qos.logback.core.net.server.AbstractServerSocketAppender$1"
    linkageType: null
    functionLinenumber: 103
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.net.server.RemoteReceiverClient"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.server.RemoteReceiverStreamClient].offer(java.io.Serializable)"
    - "[ch.qos.logback.core.net.server.RemoteReceiverClient].offer(java.io.Serializable)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.server.AbstractServerSocketAppender$1:104,1"
      Dst: "[ch.qos.logback.core.net.server.RemoteReceiverClient].offer(java.io.Serializable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.server.AbstractServerSocketAppender$1].visit(ch.qos.logback.core.net.server.Client)"
    functionSourceFile: "ch.qos.logback.core.net.server.AbstractServerSocketAppender$1"
    linkageType: null
    functionLinenumber: 101
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.net.server.Client"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.server.AbstractServerSocketAppender$1].visit(ch.qos.logback.core.net.server.RemoteReceiverClient)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.server.AbstractServerSocketAppender$1:102,1"
      Dst: "[ch.qos.logback.core.net.server.AbstractServerSocketAppender$1].visit(ch.qos.logback.core.net.server.RemoteReceiverClient)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.server.AbstractServerSocketAppender$1].visit(ch.qos.logback.core.net.server.RemoteReceiverClient)"
    functionSourceFile: "ch.qos.logback.core.net.server.AbstractServerSocketAppender$1"
    linkageType: null
    functionLinenumber: 103
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.net.server.RemoteReceiverClient"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.server.RemoteReceiverStreamClient].offer(java.io.Serializable)"
    - "[ch.qos.logback.core.net.server.RemoteReceiverClient].offer(java.io.Serializable)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.server.AbstractServerSocketAppender$1:104,1"
      Dst: "[ch.qos.logback.core.net.server.RemoteReceiverClient].offer(java.io.Serializable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.FileAppender].<init>()"
    functionSourceFile: "ch.qos.logback.core.FileAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.OutputStreamAppender].<init>()"
    - "[ch.qos.logback.core.util.FileSize].<init>(long)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.FileAppender:39,1"
      Dst: "[ch.qos.logback.core.OutputStreamAppender].<init>()"
    - Src: "ch.qos.logback.core.FileAppender:59,1"
      Dst: "[ch.qos.logback.core.util.FileSize].<init>(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.FileAppender].setFile(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.FileAppender"
    linkageType: null
    functionLinenumber: 65
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    functionUses: 1
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.FileAppender:66"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.FileAppender:71"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.FileAppender:70"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.FileAppender:71,1"
      Dst: "[java.lang.String].trim()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.FileAppender].isAppend()"
    functionSourceFile: "ch.qos.logback.core.FileAppender"
    linkageType: null
    functionLinenumber: 78
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.FileAppender].rawFileProperty()"
    functionSourceFile: "ch.qos.logback.core.FileAppender"
    linkageType: null
    functionLinenumber: 88
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.FileAppender].getFile()"
    functionSourceFile: "ch.qos.logback.core.FileAppender"
    linkageType: null
    functionLinenumber: 99
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.FileAppender].start()"
    functionSourceFile: "ch.qos.logback.core.FileAppender"
    linkageType: null
    functionLinenumber: 107
    functionDepth: 6
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.RollingFileAppender].getFile()"
    - "[ch.qos.logback.core.FileAppender].getFile()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.FileAppender].isAppend()"
    - "[ch.qos.logback.core.FileAppender].setAppend(boolean)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.FileAppender].checkForFileCollisionInPreviousFileAppenders()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.FileAppender].openFile(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.OutputStreamAppender].start()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,boolean)"
    functionUses: 7
    ICount: 38
    EdgeCount: 14
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.FileAppender:109"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.FileAppender:133"
        BranchSideFuncs:
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.FileAppender:132"
        BranchSideFuncs:
        - "addError(java.lang.String)"
    - Branch String: "ch.qos.logback.core.FileAppender:112"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.FileAppender:119"
        BranchSideFuncs:
        - "isAppend()"
      - BranchSide: "ch.qos.logback.core.FileAppender:118"
        BranchSideFuncs:
        - "checkForFileCollisionInPreviousFileAppenders()"
    - Branch String: "ch.qos.logback.core.FileAppender:113"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.FileAppender:119"
        BranchSideFuncs:
        - "setAppend(boolean)"
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.FileAppender:118"
        BranchSideFuncs:
        - "checkForFileCollisionInPreviousFileAppenders()"
    - Branch String: "ch.qos.logback.core.FileAppender:119"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.FileAppender:126"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.FileAppender:125"
        BranchSideFuncs:
        - "openFile(java.lang.String)"
        - "addError(java.lang.String,java.lang.Throwable)"
        - "getFile()"
    - Branch String: "ch.qos.logback.core.FileAppender:136"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.FileAppender:139"
        BranchSideFuncs:
        - "start()"
      - BranchSide: "ch.qos.logback.core.FileAppender:138"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.FileAppender:109,1"
      Dst: "[ch.qos.logback.core.FileAppender].getFile()"
    - Src: "ch.qos.logback.core.FileAppender:110,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.FileAppender:110,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.FileAppender:113,1"
      Dst: "[ch.qos.logback.core.FileAppender].isAppend()"
    - Src: "ch.qos.logback.core.FileAppender:114,1"
      Dst: "[ch.qos.logback.core.FileAppender].setAppend(boolean)"
    - Src: "ch.qos.logback.core.FileAppender:115,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.core.FileAppender:119,1"
      Dst: "[ch.qos.logback.core.FileAppender].checkForFileCollisionInPreviousFileAppenders()"
    - Src: "ch.qos.logback.core.FileAppender:120,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.FileAppender:126,1"
      Dst: "[ch.qos.logback.core.FileAppender].openFile(java.lang.String)"
    - Src: "ch.qos.logback.core.FileAppender:129,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,boolean)"
    - Src: "ch.qos.logback.core.FileAppender:129,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.FileAppender:137,1"
      Dst: "[ch.qos.logback.core.OutputStreamAppender].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 12
    CyclomaticComplexity: 6
  - functionName: "[ch.qos.logback.core.FileAppender].stop()"
    functionSourceFile: "ch.qos.logback.core.FileAppender"
    linkageType: null
    functionLinenumber: 142
    functionDepth: 5
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.UnsynchronizedAppenderBase].isStarted()"
    - "[ch.qos.logback.core.OutputStreamAppender].stop()"
    - "[ch.qos.logback.core.util.ContextUtil].getFilenameCollisionMap(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.UnsynchronizedAppenderBase].getName()"
    - "[java.util.Map].remove(java.lang.Object)"
    functionUses: 5
    ICount: 14
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.FileAppender:143"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.FileAppender:146"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.FileAppender:145"
        BranchSideFuncs:
        - "getFilenameCollisionMap(ch.qos.logback.core.Context)"
        - "stop()"
    - Branch String: "ch.qos.logback.core.FileAppender:149"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.FileAppender:150"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.FileAppender:149"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.FileAppender:149"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.FileAppender:152"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.FileAppender:151"
        BranchSideFuncs:
        - "getName()"
    Callsites:
    - Src: "ch.qos.logback.core.FileAppender:143,1"
      Dst: "[ch.qos.logback.core.UnsynchronizedAppenderBase].isStarted()"
    - Src: "ch.qos.logback.core.FileAppender:146,1"
      Dst: "[ch.qos.logback.core.OutputStreamAppender].stop()"
    - Src: "ch.qos.logback.core.FileAppender:148,1"
      Dst: "[ch.qos.logback.core.util.ContextUtil].getFilenameCollisionMap(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.FileAppender:149,1"
      Dst: "[ch.qos.logback.core.UnsynchronizedAppenderBase].getName()"
    - Src: "ch.qos.logback.core.FileAppender:152,1"
      Dst: "[java.util.Map].remove(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.FileAppender].checkForFileCollisionInPreviousFileAppenders()"
    functionSourceFile: "ch.qos.logback.core.FileAppender"
    linkageType: null
    functionLinenumber: 155
    functionDepth: 3
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getObject(java.lang.String)"
    - "[ch.qos.logback.core.FileAppender].addErrorForCollision(java.lang.String,java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.UnsynchronizedAppenderBase].getName()"
    - "[ch.qos.logback.core.Context].getObject(java.lang.String)"
    - "[java.util.Map].entrySet()"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.Map$Entry].getValue()"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.util.Map$Entry].getKey()"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 1
    ICount: 33
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.FileAppender:157"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.FileAppender:162"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.FileAppender:161"
        BranchSideFuncs:
        - "getObject(java.lang.String)"
    - Branch String: "ch.qos.logback.core.FileAppender:163"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.FileAppender:166"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.FileAppender:165"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.FileAppender:166"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.FileAppender:172"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.FileAppender:171"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.FileAppender:167"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.FileAppender:171"
        BranchSideFuncs:
        - "addErrorForCollision(java.lang.String,java.lang.String,java.lang.String)"
      - BranchSide: "ch.qos.logback.core.FileAppender:170"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.FileAppender:172"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.FileAppender:175"
        BranchSideFuncs:
        - "getName()"
      - BranchSide: "ch.qos.logback.core.FileAppender:174"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.FileAppender:162,1"
      Dst: "[ch.qos.logback.core.Context].getObject(java.lang.String)"
    - Src: "ch.qos.logback.core.FileAppender:166,1"
      Dst: "[java.util.Map].entrySet()"
    - Src: "ch.qos.logback.core.FileAppender:166,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "ch.qos.logback.core.FileAppender:166,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.FileAppender:166,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.FileAppender:167,1"
      Dst: "[java.util.Map$Entry].getValue()"
    - Src: "ch.qos.logback.core.FileAppender:167,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.FileAppender:168,1"
      Dst: "[java.util.Map$Entry].getKey()"
    - Src: "ch.qos.logback.core.FileAppender:168,1"
      Dst: "[ch.qos.logback.core.FileAppender].addErrorForCollision(java.lang.String,java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.FileAppender:173,1"
      Dst: "[ch.qos.logback.core.UnsynchronizedAppenderBase].getName()"
    - Src: "ch.qos.logback.core.FileAppender:173,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 12
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.FileAppender].addErrorForCollision(java.lang.String,java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.FileAppender"
    linkageType: null
    functionLinenumber: 178
    functionDepth: 2
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,java.lang.String)"
    functionUses: 2
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.FileAppender:179,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.FileAppender:179,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.FileAppender].openFile(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.FileAppender"
    linkageType: null
    functionLinenumber: 197
    functionDepth: 5
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.FileUtil].createMissingParentDirectories(java.io.File)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.recovery.ResilientFileOutputStream].<init>(java.io.File,boolean,long)"
    - "[ch.qos.logback.core.util.FileSize].getSize()"
    - "[ch.qos.logback.core.recovery.ResilientOutputStreamBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.OutputStreamAppender].setOutputStream(java.io.OutputStream)"
    - "[java.util.concurrent.locks.ReentrantLock].lock()"
    - "[java.io.File].<init>(java.lang.String)"
    - "[java.io.File].getAbsolutePath()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.util.concurrent.locks.ReentrantLock].unlock()"
    functionUses: 2
    ICount: 27
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.FileAppender:202"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.FileAppender:206"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.FileAppender:205"
        BranchSideFuncs:
        - "setOutputStream(java.io.OutputStream)"
        - "setContext(ch.qos.logback.core.Context)"
        - "<init>(java.io.File,boolean,long)"
        - "getSize()"
    Callsites:
    - Src: "ch.qos.logback.core.FileAppender:198,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].lock()"
    - Src: "ch.qos.logback.core.FileAppender:200,1"
      Dst: "[java.io.File].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.FileAppender:201,1"
      Dst: "[ch.qos.logback.core.util.FileUtil].createMissingParentDirectories(java.io.File)"
    - Src: "ch.qos.logback.core.FileAppender:203,1"
      Dst: "[java.io.File].getAbsolutePath()"
    - Src: "ch.qos.logback.core.FileAppender:203,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.FileAppender:203,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.FileAppender:206,1"
      Dst: "[ch.qos.logback.core.util.FileSize].getSize()"
    - Src: "ch.qos.logback.core.FileAppender:206,1"
      Dst: "[ch.qos.logback.core.recovery.ResilientFileOutputStream].<init>(java.io.File,boolean,long)"
    - Src: "ch.qos.logback.core.FileAppender:207,1"
      Dst: "[ch.qos.logback.core.recovery.ResilientOutputStreamBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.FileAppender:208,1"
      Dst: "[ch.qos.logback.core.OutputStreamAppender].setOutputStream(java.io.OutputStream)"
    - Src: "ch.qos.logback.core.FileAppender:210,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].unlock()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.FileAppender].isPrudent()"
    functionSourceFile: "ch.qos.logback.core.FileAppender"
    linkageType: null
    functionLinenumber: 219
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.FileAppender].setPrudent(boolean)"
    functionSourceFile: "ch.qos.logback.core.FileAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.FileAppender].setAppend(boolean)"
    functionSourceFile: "ch.qos.logback.core.FileAppender"
    linkageType: null
    functionLinenumber: 233
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.FileAppender].setBufferSize(ch.qos.logback.core.util.FileSize)"
    functionSourceFile: "ch.qos.logback.core.FileAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.util.FileSize"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.FileSize].toString()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.FileAppender:238,1"
      Dst: "[ch.qos.logback.core.util.FileSize].toString()"
    - Src: "ch.qos.logback.core.FileAppender:238,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.FileAppender:238,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.FileSize].toString()"
    functionSourceFile: "ch.qos.logback.core.util.FileSize"
    linkageType: null
    functionLinenumber: 85
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(long)"
    functionUses: 3
    ICount: 22
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.FileSize:88"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.FileSize:91"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.FileSize:90"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.FileSize:92"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.FileSize:96"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.FileSize:95"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.FileSize:97"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.FileSize:101"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.FileSize:100"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.FileSize:89,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.FileAppender].writeOut(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.FileAppender"
    linkageType: null
    functionLinenumber: 243
    functionDepth: 5
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.FileAppender].safeWriteOut(java.lang.Object)"
    - "[ch.qos.logback.core.OutputStreamAppender].writeOut(java.lang.Object)"
    functionUses: 1
    ICount: 8
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.FileAppender:244"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.FileAppender:247"
        BranchSideFuncs:
        - "safeWriteOut(java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.FileAppender:246"
        BranchSideFuncs:
        - "writeOut(java.lang.Object)"
    Callsites:
    - Src: "ch.qos.logback.core.FileAppender:245,1"
      Dst: "[ch.qos.logback.core.FileAppender].safeWriteOut(java.lang.Object)"
    - Src: "ch.qos.logback.core.FileAppender:247,1"
      Dst: "[ch.qos.logback.core.OutputStreamAppender].writeOut(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.FileAppender].safeWriteOut(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.FileAppender"
    linkageType: null
    functionLinenumber: 251
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.testUtil.DummyEncoder].encode(java.lang.Object)"
    - "[ch.qos.logback.core.encoder.EchoEncoder].encode(java.lang.Object)"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].encode(java.lang.Object)"
    - "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].encode(java.lang.Object)"
    - "[ch.qos.logback.core.FileAppender].safeWriteBytes(byte[])"
    - "[ch.qos.logback.core.encoder.Encoder].encode(java.lang.Object)"
    - "[java.util.concurrent.locks.ReentrantLock].lock()"
    - "[java.util.concurrent.locks.ReentrantLock].unlock()"
    functionUses: 1
    ICount: 19
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.FileAppender:253"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.FileAppender:254"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.FileAppender:253"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.FileAppender:253"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.FileAppender:256"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.FileAppender:255"
        BranchSideFuncs:
        - "safeWriteBytes(byte[])"
    Callsites:
    - Src: "ch.qos.logback.core.FileAppender:252,1"
      Dst: "[ch.qos.logback.core.encoder.Encoder].encode(java.lang.Object)"
    - Src: "ch.qos.logback.core.FileAppender:256,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].lock()"
    - Src: "ch.qos.logback.core.FileAppender:258,1"
      Dst: "[ch.qos.logback.core.FileAppender].safeWriteBytes(byte[])"
    - Src: "ch.qos.logback.core.FileAppender:260,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].unlock()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.FileAppender].safeWriteBytes(byte[])"
    functionSourceFile: "ch.qos.logback.core.FileAppender"
    linkageType: null
    functionLinenumber: 264
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.OutputStreamAppender].getOutputStream()"
    - "[ch.qos.logback.core.recovery.ResilientFileOutputStream].getChannel()"
    - "[ch.qos.logback.core.OutputStreamAppender].writeByteArrayToOutputStreamWithPossibleFlush(byte[])"
    - "[ch.qos.logback.core.recovery.ResilientOutputStreamBase].postIOFailure(java.io.IOException)"
    - "[ch.qos.logback.core.FileAppender].releaseFileLock(java.nio.channels.FileLock)"
    - "[java.lang.Thread].interrupted()"
    - "[java.nio.channels.FileChannel].lock()"
    - "[java.nio.channels.FileChannel].position()"
    - "[java.nio.channels.FileChannel].size()"
    - "[java.nio.channels.FileChannel].position(long)"
    - "[java.lang.Thread].currentThread()"
    - "[java.lang.Thread].interrupt()"
    functionUses: 1
    ICount: 37
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.FileAppender:267"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.FileAppender:272"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.FileAppender:271"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.FileAppender:279"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.FileAppender:282"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.FileAppender:281"
        BranchSideFuncs:
        - "postIOFailure(java.io.IOException)"
        - "writeByteArrayToOutputStreamWithPossibleFlush(byte[])"
        - "releaseFileLock(java.nio.channels.FileLock)"
    - Branch String: "ch.qos.logback.core.FileAppender:290"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.FileAppender:294"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.FileAppender:293"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.FileAppender:290"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.FileAppender:294"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.FileAppender:293"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.FileAppender:290"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.FileAppender:293"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.FileAppender:292"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.FileAppender:265,1"
      Dst: "[ch.qos.logback.core.OutputStreamAppender].getOutputStream()"
    - Src: "ch.qos.logback.core.FileAppender:266,1"
      Dst: "[ch.qos.logback.core.recovery.ResilientFileOutputStream].getChannel()"
    - Src: "ch.qos.logback.core.FileAppender:272,1"
      Dst: "[java.lang.Thread].interrupted()"
    - Src: "ch.qos.logback.core.FileAppender:276,1"
      Dst: "[java.nio.channels.FileChannel].lock()"
    - Src: "ch.qos.logback.core.FileAppender:277,1"
      Dst: "[java.nio.channels.FileChannel].position()"
    - Src: "ch.qos.logback.core.FileAppender:278,1"
      Dst: "[java.nio.channels.FileChannel].size()"
    - Src: "ch.qos.logback.core.FileAppender:280,1"
      Dst: "[java.nio.channels.FileChannel].position(long)"
    - Src: "ch.qos.logback.core.FileAppender:282,1"
      Dst: "[ch.qos.logback.core.OutputStreamAppender].writeByteArrayToOutputStreamWithPossibleFlush(byte[])"
    - Src: "ch.qos.logback.core.FileAppender:287,1"
      Dst: "[ch.qos.logback.core.FileAppender].releaseFileLock(java.nio.channels.FileLock)"
    - Src: "ch.qos.logback.core.FileAppender:291,1"
      Dst: "[java.lang.Thread].currentThread()"
    - Src: "ch.qos.logback.core.FileAppender:291,1"
      Dst: "[java.lang.Thread].interrupt()"
    - Src: "ch.qos.logback.core.FileAppender:285,1"
      Dst: "[ch.qos.logback.core.recovery.ResilientOutputStreamBase].postIOFailure(java.io.IOException)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 12
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.OutputStreamAppender].getOutputStream()"
    functionSourceFile: "ch.qos.logback.core.OutputStreamAppender"
    linkageType: null
    functionLinenumber: 61
    functionDepth: 0
    returnType: "java.io.OutputStream"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.recovery.ResilientFileOutputStream].getChannel()"
    functionSourceFile: "ch.qos.logback.core.recovery.ResilientFileOutputStream"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 0
    returnType: "java.nio.channels.FileChannel"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.FileOutputStream].getChannel()"
    functionUses: 1
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.recovery.ResilientFileOutputStream:32"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.recovery.ResilientFileOutputStream:35"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.recovery.ResilientFileOutputStream:34"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.recovery.ResilientFileOutputStream:35,1"
      Dst: "[java.io.FileOutputStream].getChannel()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.OutputStreamAppender].writeByteArrayToOutputStreamWithPossibleFlush(byte[])"
    functionSourceFile: "ch.qos.logback.core.OutputStreamAppender"
    linkageType: null
    functionLinenumber: 213
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ConsoleTarget$2].write(byte[])"
    - "[ch.qos.logback.core.joran.spi.ConsoleTarget$1].write(byte[])"
    - "[ch.qos.logback.core.joran.spi.ConsoleTarget$2].flush()"
    - "[ch.qos.logback.core.recovery.ResilientOutputStreamBase].flush()"
    - "[ch.qos.logback.core.joran.spi.ConsoleTarget$1].flush()"
    - "[ch.qos.logback.core.net.SyslogOutputStream].flush()"
    - "[java.io.OutputStream].write(byte[])"
    - "[java.io.OutputStream].flush()"
    functionUses: 2
    ICount: 9
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.OutputStreamAppender:215"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:218"
        BranchSideFuncs:
        - "flush()"
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:217"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.OutputStreamAppender:214,1"
      Dst: "[java.io.OutputStream].write(byte[])"
    - Src: "ch.qos.logback.core.OutputStreamAppender:216,1"
      Dst: "[java.io.OutputStream].flush()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.FileAppender].releaseFileLock(java.nio.channels.FileLock)"
    functionSourceFile: "ch.qos.logback.core.FileAppender"
    linkageType: null
    functionLinenumber: 296
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.nio.channels.FileLock"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[java.nio.channels.FileLock].isValid()"
    - "[java.nio.channels.FileLock].release()"
    functionUses: 3
    ICount: 10
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.FileAppender:297"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.FileAppender:303"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.FileAppender:297"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.FileAppender:303"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.FileAppender:297,1"
      Dst: "[java.nio.channels.FileLock].isValid()"
    - Src: "ch.qos.logback.core.FileAppender:299,1"
      Dst: "[java.nio.channels.FileLock].release()"
    - Src: "ch.qos.logback.core.FileAppender:301,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 74
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.OutputStreamAppender].writeOut(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.OutputStreamAppender"
    linkageType: null
    functionLinenumber: 191
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.testUtil.DummyEncoder].encode(java.lang.Object)"
    - "[ch.qos.logback.core.encoder.EchoEncoder].encode(java.lang.Object)"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].encode(java.lang.Object)"
    - "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].encode(java.lang.Object)"
    - "[ch.qos.logback.core.OutputStreamAppender].writeBytes(byte[])"
    - "[ch.qos.logback.core.encoder.Encoder].encode(java.lang.Object)"
    functionUses: 2
    ICount: 6
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.OutputStreamAppender:192,1"
      Dst: "[ch.qos.logback.core.encoder.Encoder].encode(java.lang.Object)"
    - Src: "ch.qos.logback.core.OutputStreamAppender:193,1"
      Dst: "[ch.qos.logback.core.OutputStreamAppender].writeBytes(byte[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.FileAppender].safeWriteOut(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.FileAppender"
    linkageType: null
    functionLinenumber: 251
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.testUtil.DummyEncoder].encode(java.lang.Object)"
    - "[ch.qos.logback.core.encoder.EchoEncoder].encode(java.lang.Object)"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].encode(java.lang.Object)"
    - "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].encode(java.lang.Object)"
    - "[ch.qos.logback.core.FileAppender].safeWriteBytes(byte[])"
    - "[ch.qos.logback.core.encoder.Encoder].encode(java.lang.Object)"
    - "[java.util.concurrent.locks.ReentrantLock].lock()"
    - "[java.util.concurrent.locks.ReentrantLock].unlock()"
    functionUses: 1
    ICount: 19
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.FileAppender:253"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.FileAppender:254"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.FileAppender:253"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.FileAppender:253"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.FileAppender:256"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.FileAppender:255"
        BranchSideFuncs:
        - "safeWriteBytes(byte[])"
    Callsites:
    - Src: "ch.qos.logback.core.FileAppender:252,1"
      Dst: "[ch.qos.logback.core.encoder.Encoder].encode(java.lang.Object)"
    - Src: "ch.qos.logback.core.FileAppender:256,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].lock()"
    - Src: "ch.qos.logback.core.FileAppender:258,1"
      Dst: "[ch.qos.logback.core.FileAppender].safeWriteBytes(byte[])"
    - Src: "ch.qos.logback.core.FileAppender:260,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].unlock()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.FileAppender].safeWriteBytes(byte[])"
    functionSourceFile: "ch.qos.logback.core.FileAppender"
    linkageType: null
    functionLinenumber: 264
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.OutputStreamAppender].getOutputStream()"
    - "[ch.qos.logback.core.recovery.ResilientFileOutputStream].getChannel()"
    - "[ch.qos.logback.core.OutputStreamAppender].writeByteArrayToOutputStreamWithPossibleFlush(byte[])"
    - "[ch.qos.logback.core.recovery.ResilientOutputStreamBase].postIOFailure(java.io.IOException)"
    - "[ch.qos.logback.core.FileAppender].releaseFileLock(java.nio.channels.FileLock)"
    - "[java.lang.Thread].interrupted()"
    - "[java.nio.channels.FileChannel].lock()"
    - "[java.nio.channels.FileChannel].position()"
    - "[java.nio.channels.FileChannel].size()"
    - "[java.nio.channels.FileChannel].position(long)"
    - "[java.lang.Thread].currentThread()"
    - "[java.lang.Thread].interrupt()"
    functionUses: 1
    ICount: 37
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.FileAppender:267"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.FileAppender:272"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.FileAppender:271"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.FileAppender:279"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.FileAppender:282"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.FileAppender:281"
        BranchSideFuncs:
        - "postIOFailure(java.io.IOException)"
        - "writeByteArrayToOutputStreamWithPossibleFlush(byte[])"
        - "releaseFileLock(java.nio.channels.FileLock)"
    - Branch String: "ch.qos.logback.core.FileAppender:290"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.FileAppender:294"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.FileAppender:293"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.FileAppender:290"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.FileAppender:294"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.FileAppender:293"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.FileAppender:290"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.FileAppender:293"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.FileAppender:292"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.FileAppender:265,1"
      Dst: "[ch.qos.logback.core.OutputStreamAppender].getOutputStream()"
    - Src: "ch.qos.logback.core.FileAppender:266,1"
      Dst: "[ch.qos.logback.core.recovery.ResilientFileOutputStream].getChannel()"
    - Src: "ch.qos.logback.core.FileAppender:272,1"
      Dst: "[java.lang.Thread].interrupted()"
    - Src: "ch.qos.logback.core.FileAppender:276,1"
      Dst: "[java.nio.channels.FileChannel].lock()"
    - Src: "ch.qos.logback.core.FileAppender:277,1"
      Dst: "[java.nio.channels.FileChannel].position()"
    - Src: "ch.qos.logback.core.FileAppender:278,1"
      Dst: "[java.nio.channels.FileChannel].size()"
    - Src: "ch.qos.logback.core.FileAppender:280,1"
      Dst: "[java.nio.channels.FileChannel].position(long)"
    - Src: "ch.qos.logback.core.FileAppender:282,1"
      Dst: "[ch.qos.logback.core.OutputStreamAppender].writeByteArrayToOutputStreamWithPossibleFlush(byte[])"
    - Src: "ch.qos.logback.core.FileAppender:287,1"
      Dst: "[ch.qos.logback.core.FileAppender].releaseFileLock(java.nio.channels.FileLock)"
    - Src: "ch.qos.logback.core.FileAppender:291,1"
      Dst: "[java.lang.Thread].currentThread()"
    - Src: "ch.qos.logback.core.FileAppender:291,1"
      Dst: "[java.lang.Thread].interrupt()"
    - Src: "ch.qos.logback.core.FileAppender:285,1"
      Dst: "[ch.qos.logback.core.recovery.ResilientOutputStreamBase].postIOFailure(java.io.IOException)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 12
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.FileAppender].releaseFileLock(java.nio.channels.FileLock)"
    functionSourceFile: "ch.qos.logback.core.FileAppender"
    linkageType: null
    functionLinenumber: 296
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.nio.channels.FileLock"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[java.nio.channels.FileLock].isValid()"
    - "[java.nio.channels.FileLock].release()"
    functionUses: 3
    ICount: 10
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.FileAppender:297"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.FileAppender:303"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.FileAppender:297"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.FileAppender:303"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.FileAppender:297,1"
      Dst: "[java.nio.channels.FileLock].isValid()"
    - Src: "ch.qos.logback.core.FileAppender:299,1"
      Dst: "[java.nio.channels.FileLock].release()"
    - Src: "ch.qos.logback.core.FileAppender:301,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_0__20].bootstrap$()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_0__20"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_0__20].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_0__20:-1,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_0__20].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_0__20].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_0__20"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_0__20:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_0__20].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_0__20"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_0__20:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_0__20].get()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_0__20"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator].lambda$addElementSelectorAndActionAssociations$0()"
    functionUses: 3
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_0__20:-1,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator].lambda$addElementSelectorAndActionAssociations$0()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator].lambda$addElementSelectorAndActionAssociations$0()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator"
    linkageType: null
    functionLinenumber: 49
    functionDepth: 1
    returnType: "ch.qos.logback.core.joran.action.Action"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.action.ConfigurationAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:50,1"
      Dst: "[ch.qos.logback.classic.joran.action.ConfigurationAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.action.ConfigurationAction].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.action.ConfigurationAction"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.action.ConfigurationAction:23,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.RollingCalendar].<init>(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.RollingCalendar"
    linkageType: null
    functionLinenumber: 52
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.RollingCalendar].computePeriodicityType()"
    - "[java.util.GregorianCalendar].<init>()"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:53,1"
      Dst: "[java.util.GregorianCalendar].<init>()"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:55,1"
      Dst: "[ch.qos.logback.core.rolling.helper.RollingCalendar].computePeriodicityType()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.RollingCalendar].<init>(java.lang.String,java.util.TimeZone,java.util.Locale)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.RollingCalendar"
    linkageType: null
    functionLinenumber: 58
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.util.TimeZone"
    - "java.util.Locale"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.RollingCalendar].computePeriodicityType()"
    - "[java.util.GregorianCalendar].<init>(java.util.TimeZone,java.util.Locale)"
    functionUses: 1
    ICount: 11
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:59,1"
      Dst: "[java.util.GregorianCalendar].<init>(java.util.TimeZone,java.util.Locale)"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:61,1"
      Dst: "[ch.qos.logback.core.rolling.helper.RollingCalendar].computePeriodicityType()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.RollingCalendar].getPeriodicityType()"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.RollingCalendar"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.core.rolling.helper.PeriodicityType"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.RollingCalendar].computePeriodicityType()"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.RollingCalendar"
    linkageType: null
    functionLinenumber: 77
    functionDepth: 2
    returnType: "ch.qos.logback.core.rolling.helper.PeriodicityType"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.RollingCalendar].innerGetEndOfThisPeriod(java.util.Calendar,ch.qos.logback.core.rolling.helper.PeriodicityType,java.time.Instant)"
    - "[java.util.Locale].getDefault()"
    - "[java.util.GregorianCalendar].<init>(java.util.TimeZone,java.util.Locale)"
    - "[java.time.Instant].ofEpochMilli(long)"
    - "[java.time.ZoneId].of(java.lang.String)"
    - "[java.time.format.DateTimeFormatter].ofPattern(java.lang.String)"
    - "[java.time.format.DateTimeFormatter].withZone(java.time.ZoneId)"
    - "[java.time.format.DateTimeFormatter].format(java.time.temporal.TemporalAccessor)"
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 2
    ICount: 29
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.RollingCalendar:83"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.RollingCalendar:102"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.RollingCalendar:101"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.RollingCalendar:84"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.RollingCalendar:102"
        BranchSideFuncs:
        - "innerGetEndOfThisPeriod(java.util.Calendar,ch.qos.logback.core.rolling.helper.PeriodicityType,java.time.Instant)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.RollingCalendar:101"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.RollingCalendar:96"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.RollingCalendar:84"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.RollingCalendar:83"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.RollingCalendar:96"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.RollingCalendar:84"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.RollingCalendar:83"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.RollingCalendar:96"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.RollingCalendar:84"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.RollingCalendar:83"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:78,1"
      Dst: "[java.util.Locale].getDefault()"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:78,1"
      Dst: "[java.util.GregorianCalendar].<init>(java.util.TimeZone,java.util.Locale)"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:81,1"
      Dst: "[java.time.Instant].ofEpochMilli(long)"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:82,1"
      Dst: "[java.time.ZoneId].of(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:85,1"
      Dst: "[java.time.format.DateTimeFormatter].ofPattern(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:85,1"
      Dst: "[java.time.format.DateTimeFormatter].withZone(java.time.ZoneId)"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:90,1"
      Dst: "[java.time.format.DateTimeFormatter].format(java.time.temporal.TemporalAccessor)"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:92,1"
      Dst: "[ch.qos.logback.core.rolling.helper.RollingCalendar].innerGetEndOfThisPeriod(java.util.Calendar,ch.qos.logback.core.rolling.helper.PeriodicityType,java.time.Instant)"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:96,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.rolling.helper.RollingCalendar].innerGetEndOfThisPeriod(java.util.Calendar,ch.qos.logback.core.rolling.helper.PeriodicityType,java.time.Instant)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.RollingCalendar"
    linkageType: null
    functionLinenumber: 227
    functionDepth: 1
    returnType: "java.time.Instant"
    argCount: 3
    argTypes:
    - "java.util.Calendar"
    - "ch.qos.logback.core.rolling.helper.PeriodicityType"
    - "java.time.Instant"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.RollingCalendar].innerGetEndOfNextNthPeriod(java.util.Calendar,ch.qos.logback.core.rolling.helper.PeriodicityType,java.time.Instant,int)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:228,1"
      Dst: "[ch.qos.logback.core.rolling.helper.RollingCalendar].innerGetEndOfNextNthPeriod(java.util.Calendar,ch.qos.logback.core.rolling.helper.PeriodicityType,java.time.Instant,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.RollingCalendar].innerGetEndOfNextNthPeriod(java.util.Calendar,ch.qos.logback.core.rolling.helper.PeriodicityType,java.time.Instant,int)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.RollingCalendar"
    linkageType: null
    functionLinenumber: 232
    functionDepth: 0
    returnType: "java.time.Instant"
    argCount: 4
    argTypes:
    - "java.util.Calendar"
    - "ch.qos.logback.core.rolling.helper.PeriodicityType"
    - "java.time.Instant"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.time.Instant].toEpochMilli()"
    - "[java.util.Calendar].setTimeInMillis(long)"
    - "[java.lang.Enum].ordinal()"
    - "[java.util.Calendar].add(int,int)"
    - "[java.util.Calendar].set(int,int)"
    - "[java.util.Calendar].getFirstDayOfWeek()"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - "[java.util.Calendar].getTimeInMillis()"
    - "[java.time.Instant].ofEpochMilli(long)"
    functionUses: 2
    ICount: 51
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:233,1"
      Dst: "[java.time.Instant].toEpochMilli()"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:233,1"
      Dst: "[java.util.Calendar].setTimeInMillis(long)"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:234,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:236,1"
      Dst: "[java.util.Calendar].add(int,int)"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:240,1"
      Dst: "[java.util.Calendar].set(int,int)"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:266,1"
      Dst: "[java.util.Calendar].getFirstDayOfWeek()"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:284,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:287,1"
      Dst: "[java.util.Calendar].getTimeInMillis()"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:287,1"
      Dst: "[java.time.Instant].ofEpochMilli(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 7
  - functionName: "[ch.qos.logback.core.rolling.helper.RollingCalendar].isCollisionFree()"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.RollingCalendar"
    linkageType: null
    functionLinenumber: 105
    functionDepth: 1
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.RollingCalendar].collision(long)"
    - "[java.lang.Enum].ordinal()"
    functionUses: 1
    ICount: 30
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.RollingCalendar:109"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.RollingCalendar:108"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.RollingCalendar:113"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.RollingCalendar:116"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.RollingCalendar:115"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.RollingCalendar:116"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.RollingCalendar:119"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.RollingCalendar:118"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.RollingCalendar:119"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.RollingCalendar:121"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.RollingCalendar:120"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.RollingCalendar:124"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.RollingCalendar:127"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.RollingCalendar:126"
        BranchSideFuncs:
        - "collision(long)"
    - Branch String: "ch.qos.logback.core.rolling.helper.RollingCalendar:127"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.RollingCalendar:129"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.RollingCalendar:128"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:106,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:109,1"
      Dst: "[ch.qos.logback.core.rolling.helper.RollingCalendar].collision(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 18
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.rolling.helper.RollingCalendar].collision(long)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.RollingCalendar"
    linkageType: null
    functionLinenumber: 135
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.text.SimpleDateFormat].<init>(java.lang.String)"
    - "[java.text.DateFormat].setTimeZone(java.util.TimeZone)"
    - "[java.util.Date].<init>(long)"
    - "[java.text.DateFormat].format(java.util.Date)"
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 6
    ICount: 15
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:136,1"
      Dst: "[java.text.SimpleDateFormat].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:137,1"
      Dst: "[java.text.DateFormat].setTimeZone(java.util.TimeZone)"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:138,1"
      Dst: "[java.util.Date].<init>(long)"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:139,1"
      Dst: "[java.text.DateFormat].format(java.util.Date)"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:143,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.RollingCalendar].collision(long)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.RollingCalendar"
    linkageType: null
    functionLinenumber: 135
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.text.SimpleDateFormat].<init>(java.lang.String)"
    - "[java.text.DateFormat].setTimeZone(java.util.TimeZone)"
    - "[java.util.Date].<init>(long)"
    - "[java.text.DateFormat].format(java.util.Date)"
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 6
    ICount: 15
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:136,1"
      Dst: "[java.text.SimpleDateFormat].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:137,1"
      Dst: "[java.text.DateFormat].setTimeZone(java.util.TimeZone)"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:138,1"
      Dst: "[java.util.Date].<init>(long)"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:139,1"
      Dst: "[java.text.DateFormat].format(java.util.Date)"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:143,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.RollingCalendar].printPeriodicity(ch.qos.logback.core.spi.ContextAwareBase)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.RollingCalendar"
    linkageType: null
    functionLinenumber: 146
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.spi.ContextAwareBase"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[java.lang.Enum].ordinal()"
    functionUses: 1
    ICount: 25
    EdgeCount: 9
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:147,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:149,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 11
    CyclomaticComplexity: 9
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.RollingCalendar].periodBarriersCrossed(long,long)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.RollingCalendar"
    linkageType: null
    functionLinenumber: 185
    functionDepth: 3
    returnType: "long"
    argCount: 2
    argTypes:
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.RollingCalendar].getStartOfCurrentPeriodWithGMTOffsetCorrection(long,java.util.TimeZone)"
    - "[ch.qos.logback.core.rolling.helper.RollingCalendar].diffInMonths(long,long)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.util.GregorianCalendar].getTimeZone()"
    - "[java.lang.Enum].ordinal()"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 2
    ICount: 36
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.RollingCalendar:186"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.RollingCalendar:189"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.RollingCalendar:188"
        BranchSideFuncs:
        - "getStartOfCurrentPeriodWithGMTOffsetCorrection(long,java.util.TimeZone)"
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:187,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:189,1"
      Dst: "[java.util.GregorianCalendar].getTimeZone()"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:189,1"
      Dst: "[ch.qos.logback.core.rolling.helper.RollingCalendar].getStartOfCurrentPeriodWithGMTOffsetCorrection(long,java.util.TimeZone)"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:194,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:209,1"
      Dst: "[ch.qos.logback.core.rolling.helper.RollingCalendar].diffInMonths(long,long)"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:211,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 11
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.RollingCalendar].diffInMonths(long,long)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.RollingCalendar"
    linkageType: null
    functionLinenumber: 215
    functionDepth: 0
    returnType: "int"
    argCount: 2
    argTypes:
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.util.Calendar].getInstance()"
    - "[java.util.Calendar].setTimeInMillis(long)"
    - "[java.util.Calendar].get(int)"
    functionUses: 1
    ICount: 21
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.RollingCalendar:216"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.RollingCalendar:218"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.RollingCalendar:217"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:217,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:218,1"
      Dst: "[java.util.Calendar].getInstance()"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:219,1"
      Dst: "[java.util.Calendar].setTimeInMillis(long)"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:222,1"
      Dst: "[java.util.Calendar].get(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.RollingCalendar].innerGetEndOfThisPeriod(java.util.Calendar,ch.qos.logback.core.rolling.helper.PeriodicityType,java.time.Instant)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.RollingCalendar"
    linkageType: null
    functionLinenumber: 227
    functionDepth: 1
    returnType: "java.time.Instant"
    argCount: 3
    argTypes:
    - "java.util.Calendar"
    - "ch.qos.logback.core.rolling.helper.PeriodicityType"
    - "java.time.Instant"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.RollingCalendar].innerGetEndOfNextNthPeriod(java.util.Calendar,ch.qos.logback.core.rolling.helper.PeriodicityType,java.time.Instant,int)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:228,1"
      Dst: "[ch.qos.logback.core.rolling.helper.RollingCalendar].innerGetEndOfNextNthPeriod(java.util.Calendar,ch.qos.logback.core.rolling.helper.PeriodicityType,java.time.Instant,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.RollingCalendar].innerGetEndOfNextNthPeriod(java.util.Calendar,ch.qos.logback.core.rolling.helper.PeriodicityType,java.time.Instant,int)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.RollingCalendar"
    linkageType: null
    functionLinenumber: 232
    functionDepth: 0
    returnType: "java.time.Instant"
    argCount: 4
    argTypes:
    - "java.util.Calendar"
    - "ch.qos.logback.core.rolling.helper.PeriodicityType"
    - "java.time.Instant"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.time.Instant].toEpochMilli()"
    - "[java.util.Calendar].setTimeInMillis(long)"
    - "[java.lang.Enum].ordinal()"
    - "[java.util.Calendar].add(int,int)"
    - "[java.util.Calendar].set(int,int)"
    - "[java.util.Calendar].getFirstDayOfWeek()"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - "[java.util.Calendar].getTimeInMillis()"
    - "[java.time.Instant].ofEpochMilli(long)"
    functionUses: 2
    ICount: 51
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:233,1"
      Dst: "[java.time.Instant].toEpochMilli()"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:233,1"
      Dst: "[java.util.Calendar].setTimeInMillis(long)"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:234,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:236,1"
      Dst: "[java.util.Calendar].add(int,int)"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:240,1"
      Dst: "[java.util.Calendar].set(int,int)"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:266,1"
      Dst: "[java.util.Calendar].getFirstDayOfWeek()"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:284,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:287,1"
      Dst: "[java.util.Calendar].getTimeInMillis()"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:287,1"
      Dst: "[java.time.Instant].ofEpochMilli(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 7
  - functionName: "[ch.qos.logback.core.rolling.helper.RollingCalendar].getEndOfNextNthPeriod(java.time.Instant,int)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.RollingCalendar"
    linkageType: null
    functionLinenumber: 290
    functionDepth: 1
    returnType: "java.time.Instant"
    argCount: 2
    argTypes:
    - "java.time.Instant"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.RollingCalendar].innerGetEndOfNextNthPeriod(java.util.Calendar,ch.qos.logback.core.rolling.helper.PeriodicityType,java.time.Instant,int)"
    functionUses: 4
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:291,1"
      Dst: "[ch.qos.logback.core.rolling.helper.RollingCalendar].innerGetEndOfNextNthPeriod(java.util.Calendar,ch.qos.logback.core.rolling.helper.PeriodicityType,java.time.Instant,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.RollingCalendar].getNextTriggeringDate(java.time.Instant)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.RollingCalendar"
    linkageType: null
    functionLinenumber: 294
    functionDepth: 2
    returnType: "java.time.Instant"
    argCount: 1
    argTypes:
    - "java.time.Instant"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.RollingCalendar].getEndOfNextNthPeriod(java.time.Instant,int)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:295,1"
      Dst: "[ch.qos.logback.core.rolling.helper.RollingCalendar].getEndOfNextNthPeriod(java.time.Instant,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.RollingCalendar].getEndOfNextNthPeriod(java.time.Instant,int)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.RollingCalendar"
    linkageType: null
    functionLinenumber: 290
    functionDepth: 1
    returnType: "java.time.Instant"
    argCount: 2
    argTypes:
    - "java.time.Instant"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.RollingCalendar].innerGetEndOfNextNthPeriod(java.util.Calendar,ch.qos.logback.core.rolling.helper.PeriodicityType,java.time.Instant,int)"
    functionUses: 4
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:291,1"
      Dst: "[ch.qos.logback.core.rolling.helper.RollingCalendar].innerGetEndOfNextNthPeriod(java.util.Calendar,ch.qos.logback.core.rolling.helper.PeriodicityType,java.time.Instant,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.RollingCalendar].getStartOfCurrentPeriodWithGMTOffsetCorrection(long,java.util.TimeZone)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.RollingCalendar"
    linkageType: null
    functionLinenumber: 303
    functionDepth: 2
    returnType: "long"
    argCount: 2
    argTypes:
    - "long"
    - "java.util.TimeZone"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.RollingCalendar].getEndOfNextNthPeriod(java.time.Instant,int)"
    - "[java.util.Calendar].getInstance(java.util.TimeZone)"
    - "[java.util.Calendar].setTimeInMillis(long)"
    - "[java.util.Calendar].getTimeInMillis()"
    - "[java.time.Instant].ofEpochMilli(long)"
    - "[java.time.Instant].toEpochMilli()"
    - "[java.util.Calendar].get(int)"
    functionUses: 2
    ICount: 18
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:304,1"
      Dst: "[java.util.Calendar].getInstance(java.util.TimeZone)"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:305,1"
      Dst: "[java.util.Calendar].setTimeInMillis(long)"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:306,1"
      Dst: "[java.util.Calendar].getTimeInMillis()"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:306,1"
      Dst: "[java.time.Instant].ofEpochMilli(long)"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:307,1"
      Dst: "[ch.qos.logback.core.rolling.helper.RollingCalendar].getEndOfNextNthPeriod(java.time.Instant,int)"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:310,1"
      Dst: "[java.time.Instant].toEpochMilli()"
    - Src: "ch.qos.logback.core.rolling.helper.RollingCalendar:311,1"
      Dst: "[java.util.Calendar].get(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.DefineModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.DefineModel"
    linkageType: null
    functionLinenumber: 17
    functionDepth: 3
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.NamedComponentModel].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.DefineModel:18,1"
      Dst: "[ch.qos.logback.core.model.NamedComponentModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.DefineModel].makeNewInstance()"
    functionSourceFile: "ch.qos.logback.core.model.DefineModel"
    linkageType: null
    functionLinenumber: 24
    functionDepth: 4
    returnType: "ch.qos.logback.core.model.DefineModel"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.DefineModel].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.DefineModel:25,1"
      Dst: "[ch.qos.logback.core.model.DefineModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.DefineModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.DefineModel"
    linkageType: null
    functionLinenumber: 17
    functionDepth: 3
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.NamedComponentModel].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.DefineModel:18,1"
      Dst: "[ch.qos.logback.core.model.NamedComponentModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.NamedComponentModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.NamedComponentModel"
    linkageType: null
    functionLinenumber: 17
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.ComponentModel].<init>()"
    functionUses: 4
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.NamedComponentModel:18,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ComponentModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.ComponentModel"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 8
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.ComponentModel:24,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.DefineModel].mirror(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.DefineModel"
    linkageType: null
    functionLinenumber: 29
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.NamedComponentModel].mirror(ch.qos.logback.core.model.Model)"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.DefineModel:31,1"
      Dst: "[ch.qos.logback.core.model.NamedComponentModel].mirror(ch.qos.logback.core.model.Model)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.NamedComponentModel].mirror(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.NamedComponentModel"
    linkageType: null
    functionLinenumber: 29
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.ComponentModel].mirror(ch.qos.logback.core.model.Model)"
    functionUses: 2
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.NamedComponentModel:31,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].mirror(ch.qos.logback.core.model.Model)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ComponentModel].mirror(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.ComponentModel"
    linkageType: null
    functionLinenumber: 36
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].mirror(ch.qos.logback.core.model.Model)"
    functionUses: 2
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.ComponentModel:38,1"
      Dst: "[ch.qos.logback.core.model.Model].mirror(ch.qos.logback.core.model.Model)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].mirror(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 56
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 11
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.DefineModel].getScopeStr()"
    functionSourceFile: "ch.qos.logback.core.model.DefineModel"
    linkageType: null
    functionLinenumber: 35
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.DefineModel].setScopeStr(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.DefineModel"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.DefineModel].hashCode()"
    functionSourceFile: "ch.qos.logback.core.model.DefineModel"
    linkageType: null
    functionLinenumber: 45
    functionDepth: 3
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.NamedComponentModel].hashCode()"
    - "[java.util.Objects].hash(java.lang.Object[])"
    functionUses: 5
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.DefineModel:46,1"
      Dst: "[ch.qos.logback.core.model.NamedComponentModel].hashCode()"
    - Src: "ch.qos.logback.core.model.DefineModel:47,1"
      Dst: "[java.util.Objects].hash(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.NamedComponentModel].hashCode()"
    functionSourceFile: "ch.qos.logback.core.model.NamedComponentModel"
    linkageType: null
    functionLinenumber: 51
    functionDepth: 2
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.ComponentModel].hashCode()"
    - "[java.util.Objects].hash(java.lang.Object[])"
    functionUses: 6
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.NamedComponentModel:52,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].hashCode()"
    - Src: "ch.qos.logback.core.model.NamedComponentModel:53,1"
      Dst: "[java.util.Objects].hash(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ComponentModel].hashCode()"
    functionSourceFile: "ch.qos.logback.core.model.ComponentModel"
    linkageType: null
    functionLinenumber: 59
    functionDepth: 1
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].hashCode()"
    - "[java.util.Objects].hash(java.lang.Object[])"
    functionUses: 6
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.ComponentModel:60,1"
      Dst: "[ch.qos.logback.core.model.Model].hashCode()"
    - Src: "ch.qos.logback.core.model.ComponentModel:61,1"
      Dst: "[java.util.Objects].hash(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].hashCode()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 145
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Integer].valueOf(int)"
    - "[java.util.Objects].hash(java.lang.Object[])"
    functionUses: 15
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:146,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "ch.qos.logback.core.model.Model:146,1"
      Dst: "[java.util.Objects].hash(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.DefineModel].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.model.DefineModel"
    linkageType: null
    functionLinenumber: 52
    functionDepth: 3
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.NamedComponentModel].equals(java.lang.Object)"
    - "[java.lang.Object].getClass()"
    - "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    functionUses: 6
    ICount: 16
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.DefineModel:53"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.DefineModel:55"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.DefineModel:54"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "ch.qos.logback.core.model.DefineModel:55"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.DefineModel:57"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.DefineModel:56"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.DefineModel:57"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.DefineModel:59"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.DefineModel:58"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.DefineModel:55,1"
      Dst: "[ch.qos.logback.core.model.NamedComponentModel].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.model.DefineModel:57,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.model.DefineModel:60,1"
      Dst: "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.NamedComponentModel].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.model.NamedComponentModel"
    linkageType: null
    functionLinenumber: 58
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.ComponentModel].equals(java.lang.Object)"
    - "[java.lang.Object].getClass()"
    - "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    functionUses: 7
    ICount: 16
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.NamedComponentModel:59"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.NamedComponentModel:61"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.NamedComponentModel:60"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "ch.qos.logback.core.model.NamedComponentModel:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.NamedComponentModel:63"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.NamedComponentModel:62"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.NamedComponentModel:63"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.NamedComponentModel:65"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.NamedComponentModel:64"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.NamedComponentModel:61,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.model.NamedComponentModel:63,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.model.NamedComponentModel:66,1"
      Dst: "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ComponentModel].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.model.ComponentModel"
    linkageType: null
    functionLinenumber: 66
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].equals(java.lang.Object)"
    - "[java.lang.Object].getClass()"
    - "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    functionUses: 7
    ICount: 16
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.ComponentModel:67"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.ComponentModel:69"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.ComponentModel:68"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "ch.qos.logback.core.model.ComponentModel:69"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.ComponentModel:71"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.ComponentModel:70"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.ComponentModel:71"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.ComponentModel:73"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.ComponentModel:72"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.ComponentModel:69,1"
      Dst: "[ch.qos.logback.core.model.Model].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.model.ComponentModel:71,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.model.ComponentModel:74,1"
      Dst: "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 150
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    functionUses: 16
    ICount: 30
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.Model:151"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:153"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:152"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:153"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:155"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:154"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:155"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:157"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:156"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:158"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:-1"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:158"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:-1"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:159"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:159"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:-2"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:155,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.model.Model:158,1"
      Dst: "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 13
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.model.StatusListenerModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.StatusListenerModel"
    linkageType: null
    functionLinenumber: 15
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.ComponentModel].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.StatusListenerModel:16,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.StatusListenerModel].makeNewInstance()"
    functionSourceFile: "ch.qos.logback.core.model.StatusListenerModel"
    linkageType: null
    functionLinenumber: 21
    functionDepth: 3
    returnType: "ch.qos.logback.core.model.StatusListenerModel"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.StatusListenerModel].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.StatusListenerModel:22,1"
      Dst: "[ch.qos.logback.core.model.StatusListenerModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.StatusListenerModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.StatusListenerModel"
    linkageType: null
    functionLinenumber: 15
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.ComponentModel].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.StatusListenerModel:16,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ComponentModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.ComponentModel"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 8
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.ComponentModel:24,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__18].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__18"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__18].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__18:-1,1"
      Dst: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__18].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__18].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__18"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__18:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__18].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__18"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__18:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__18].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__18"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.sift.SiftModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__18:-1,1"
      Dst: "[ch.qos.logback.core.sift.SiftModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.SiftModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.sift.SiftModelHandler"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 1
    returnType: "ch.qos.logback.core.sift.SiftModelHandler"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.sift.SiftModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.SiftModelHandler:35,1"
      Dst: "[ch.qos.logback.core.sift.SiftModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.SiftModelHandler].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.sift.SiftModelHandler"
    linkageType: null
    functionLinenumber: 30
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.SiftModelHandler:31,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.NewRuleAction].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.action.NewRuleAction"
    linkageType: null
    functionLinenumber: 21
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.Action].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.NewRuleAction:22,1"
      Dst: "[ch.qos.logback.core.joran.action.Action].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.NewRuleAction].begin(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.NewRuleAction"
    linkageType: null
    functionLinenumber: 29
    functionDepth: 2
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.xml.sax.helpers.AttributesImpl].getValue(java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.joran.spi.ElementSelector].<init>(java.lang.String)"
    - "[ch.qos.logback.core.joran.spi.SimpleRuleStore].addRule(ch.qos.logback.core.joran.spi.ElementSelector,java.lang.String)"
    - "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].getRuleStore()"
    - "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].getSaxEventInterpreter()"
    - "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.joran.spi.RuleStore].addRule(ch.qos.logback.core.joran.spi.ElementSelector,java.lang.String)"
    functionUses: 1
    ICount: 30
    EdgeCount: 12
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.action.NewRuleAction:35"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.NewRuleAction:42"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.action.NewRuleAction:41"
        BranchSideFuncs:
        - "isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Branch String: "ch.qos.logback.core.joran.action.NewRuleAction:42"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.NewRuleAction:50"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.action.NewRuleAction:49"
        BranchSideFuncs:
        - "addRule(ch.qos.logback.core.joran.spi.ElementSelector,java.lang.String)"
        - "addError(java.lang.String)"
        - "<init>(java.lang.String)"
        - "getSaxEventInterpreter()"
        - "getRuleStore()"
        - "addInfo(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.NewRuleAction:32,1"
      Dst: "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.NewRuleAction:35,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.NewRuleAction:38,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.NewRuleAction:50,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.NewRuleAction:50,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.NewRuleAction:51,1"
      Dst: "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].getSaxEventInterpreter()"
    - Src: "ch.qos.logback.core.joran.action.NewRuleAction:51,1"
      Dst: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].getRuleStore()"
    - Src: "ch.qos.logback.core.joran.action.NewRuleAction:51,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementSelector].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.NewRuleAction:51,1"
      Dst: "[ch.qos.logback.core.joran.spi.RuleStore].addRule(ch.qos.logback.core.joran.spi.ElementSelector,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 282
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    - "[java.lang.String].length()"
    functionUses: 62
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].length()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].getSaxEventInterpreter()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 0
    returnType: "ch.qos.logback.core.joran.spi.SaxEventInterpreter"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].getRuleStore()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpreter"
    linkageType: null
    functionLinenumber: 280
    functionDepth: 0
    returnType: "ch.qos.logback.core.joran.spi.RuleStore"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ElementSelector].<init>(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementSelector"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ElementPath].<init>(java.lang.String)"
    functionUses: 35
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementSelector:47,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ElementPath].<init>(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementPath"
    linkageType: null
    functionLinenumber: 40
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.ArrayList].<init>()"
    - "[java.lang.String].split(java.lang.String)"
    - "[java.lang.String].length()"
    - "[java.util.ArrayList].add(java.lang.Object)"
    functionUses: 1
    ICount: 22
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.ElementPath:42"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:46"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:45"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.ElementPath:47"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:50"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:49"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.ElementPath:50"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:55"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:54"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.ElementPath:51"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:50"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:49"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:41,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:27,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:46,1"
      Dst: "[java.lang.String].split(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:51,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:52,1"
      Dst: "[java.util.ArrayList].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.joran.action.NewRuleAction].end(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.action.NewRuleAction"
    linkageType: null
    functionLinenumber: 63
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.NewRuleAction].finish(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.joran.action.NewRuleAction"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].<init>(ch.qos.logback.core.joran.util.beans.BeanDescriptionCache,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 64
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.joran.util.beans.BeanDescriptionCache"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - "[ch.qos.logback.core.joran.util.beans.BeanDescriptionCache].getBeanDescription(java.lang.Class)"
    - "[java.lang.Object].getClass()"
    functionUses: 3
    ICount: 11
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:65,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:67,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:68,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanDescriptionCache].getBeanDescription(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].setProperty(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 87
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.PropertySetter].findSetterMethod(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.joran.util.PropertySetter].setProperty(java.lang.reflect.Method,java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String,java.lang.Throwable)"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    functionUses: 2
    ICount: 18
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:88"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:91"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:90"
        BranchSideFuncs:
        - "findSetterMethod(java.lang.String)"
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:92"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:96"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:95"
        BranchSideFuncs:
        - "setProperty(java.lang.reflect.Method,java.lang.String,java.lang.String)"
        - "addWarn(java.lang.String,java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:91,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].findSetterMethod(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:93,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:93,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:96,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].setProperty(java.lang.reflect.Method,java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:98,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].findSetterMethod(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 167
    functionDepth: 1
    returnType: "java.lang.reflect.Method"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.beans.BeanUtil].toLowerCamelCase(java.lang.String)"
    - "[ch.qos.logback.core.joran.util.beans.BeanDescription].getSetter(java.lang.String)"
    functionUses: 4
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:168,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanUtil].toLowerCamelCase(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:169,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanDescription].getSetter(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.beans.BeanUtil].toLowerCamelCase(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.util.beans.BeanUtil"
    linkageType: null
    functionLinenumber: 117
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].isEmpty()"
    - "[java.lang.String].length()"
    - "[java.lang.String].charAt(int)"
    - "[java.lang.Character].isUpperCase(char)"
    - "[java.lang.String].toCharArray()"
    - "[java.lang.Character].toLowerCase(char)"
    - "[java.lang.String].<init>(char[])"
    functionUses: 3
    ICount: 22
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanUtil:118"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:121"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:120"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanUtil:121"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:124"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:123"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanUtil:124"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:127"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:126"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanUtil:124"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:127"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:126"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanUtil:124"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:127"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:126"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:121,1"
      Dst: "[java.lang.String].isEmpty()"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:124,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:124,1"
      Dst: "[java.lang.String].charAt(int)"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:124,1"
      Dst: "[java.lang.Character].isUpperCase(char)"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:127,1"
      Dst: "[java.lang.String].toCharArray()"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:128,1"
      Dst: "[java.lang.Character].toLowerCase(char)"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:129,1"
      Dst: "[java.lang.String].<init>(char[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.joran.util.beans.BeanDescription].getSetter(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.util.beans.BeanDescription"
    linkageType: null
    functionLinenumber: 60
    functionDepth: 0
    returnType: "java.lang.reflect.Method"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map].get(java.lang.Object)"
    functionUses: 1
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescription:61,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 96
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].setProperty(java.lang.reflect.Method,java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 111
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.reflect.Method"
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.StringToObjectConverter].convertArg(ch.qos.logback.core.spi.ContextAware,java.lang.String,java.lang.Class)"
    - "[ch.qos.logback.core.util.PropertySetterException].<init>(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.util.PropertySetterException].<init>(java.lang.String)"
    - "[ch.qos.logback.core.util.PropertySetterException].<init>(java.lang.Throwable)"
    - "[java.lang.reflect.Method].getParameterTypes()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Class)"
    - "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    functionUses: 1
    ICount: 30
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:122"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:126"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:125"
        BranchSideFuncs:
        - "<init>(java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:112,1"
      Dst: "[java.lang.reflect.Method].getParameterTypes()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:117,1"
      Dst: "[ch.qos.logback.core.joran.util.StringToObjectConverter].convertArg(ch.qos.logback.core.spi.ContextAware,java.lang.String,java.lang.Class)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:119,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Class)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:119,1"
      Dst: "[ch.qos.logback.core.util.PropertySetterException].<init>(java.lang.String,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:123,1"
      Dst: "[ch.qos.logback.core.util.PropertySetterException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:126,1"
      Dst: "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:128,1"
      Dst: "[ch.qos.logback.core.util.PropertySetterException].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.StringToObjectConverter].convertArg(ch.qos.logback.core.spi.ContextAware,java.lang.String,java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.joran.util.StringToObjectConverter"
    linkageType: null
    functionLinenumber: 54
    functionDepth: 2
    returnType: "java.lang.Object"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.spi.ContextAware"
    - "java.lang.String"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.StringToObjectConverter].convertToEnum(ch.qos.logback.core.spi.ContextAware,java.lang.String,java.lang.Class)"
    - "[ch.qos.logback.core.joran.util.StringToObjectConverter].followsTheValueOfConvention(java.lang.Class)"
    - "[ch.qos.logback.core.joran.util.StringToObjectConverter].convertByValueOfMethod(ch.qos.logback.core.spi.ContextAware,java.lang.Class,java.lang.String)"
    - "[ch.qos.logback.core.joran.util.StringToObjectConverter].isOfTypeCharset(java.lang.Class)"
    - "[ch.qos.logback.core.joran.util.StringToObjectConverter].convertToCharset(ch.qos.logback.core.spi.ContextAware,java.lang.String)"
    - "[java.lang.String].trim()"
    - "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    - "[java.lang.Integer].valueOf(java.lang.String)"
    - "[java.lang.Long].valueOf(java.lang.String)"
    - "[java.lang.Float].valueOf(java.lang.String)"
    - "[java.lang.Double].valueOf(java.lang.String)"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - "[java.lang.Class].isEnum()"
    functionUses: 2
    ICount: 56
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.StringToObjectConverter:55"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:58"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:57"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.StringToObjectConverter:59"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:61"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:60"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.StringToObjectConverter:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:63"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:62"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.StringToObjectConverter:63"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:65"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:64"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.StringToObjectConverter:65"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:67"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:66"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.StringToObjectConverter:67"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:69"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:68"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.StringToObjectConverter:69"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:75"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:74"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.StringToObjectConverter:70"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:72"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:71"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.StringToObjectConverter:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:83"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:82"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.StringToObjectConverter:75"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:77"
        BranchSideFuncs:
        - "convertToEnum(ch.qos.logback.core.spi.ContextAware,java.lang.String,java.lang.Class)"
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:76"
        BranchSideFuncs:
        - "followsTheValueOfConvention(java.lang.Class)"
    - Branch String: "ch.qos.logback.core.joran.util.StringToObjectConverter:77"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:79"
        BranchSideFuncs:
        - "convertByValueOfMethod(ch.qos.logback.core.spi.ContextAware,java.lang.Class,java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:78"
        BranchSideFuncs:
        - "isOfTypeCharset(java.lang.Class)"
    - Branch String: "ch.qos.logback.core.joran.util.StringToObjectConverter:79"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:83"
        BranchSideFuncs:
        - "convertToCharset(ch.qos.logback.core.spi.ContextAware,java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:82"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:58,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:59,1"
      Dst: "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:62,1"
      Dst: "[java.lang.Integer].valueOf(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:64,1"
      Dst: "[java.lang.Long].valueOf(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:66,1"
      Dst: "[java.lang.Float].valueOf(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:68,1"
      Dst: "[java.lang.Double].valueOf(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:70,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:75,1"
      Dst: "[java.lang.Class].isEnum()"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:76,1"
      Dst: "[ch.qos.logback.core.joran.util.StringToObjectConverter].convertToEnum(ch.qos.logback.core.spi.ContextAware,java.lang.String,java.lang.Class)"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:77,1"
      Dst: "[ch.qos.logback.core.joran.util.StringToObjectConverter].followsTheValueOfConvention(java.lang.Class)"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:78,1"
      Dst: "[ch.qos.logback.core.joran.util.StringToObjectConverter].convertByValueOfMethod(ch.qos.logback.core.spi.ContextAware,java.lang.Class,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:79,1"
      Dst: "[ch.qos.logback.core.joran.util.StringToObjectConverter].isOfTypeCharset(java.lang.Class)"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:80,1"
      Dst: "[ch.qos.logback.core.joran.util.StringToObjectConverter].convertToCharset(ch.qos.logback.core.spi.ContextAware,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 24
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.util.StringToObjectConverter].convertToEnum(ch.qos.logback.core.spi.ContextAware,java.lang.String,java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.joran.util.StringToObjectConverter"
    linkageType: null
    functionLinenumber: 131
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.spi.ContextAware"
    - "java.lang.String"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:132,1"
      Dst: "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.StringToObjectConverter].followsTheValueOfConvention(java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.joran.util.StringToObjectConverter"
    linkageType: null
    functionLinenumber: 110
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.StringToObjectConverter].getValueOfMethod(java.lang.Class)"
    - "[java.lang.reflect.Method].getModifiers()"
    - "[java.lang.reflect.Modifier].isStatic(int)"
    functionUses: 2
    ICount: 7
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.StringToObjectConverter:112"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:115"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:114"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:111,1"
      Dst: "[ch.qos.logback.core.joran.util.StringToObjectConverter].getValueOfMethod(java.lang.Class)"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:115,1"
      Dst: "[java.lang.reflect.Method].getModifiers()"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:116,1"
      Dst: "[java.lang.reflect.Modifier].isStatic(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.StringToObjectConverter].getValueOfMethod(java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.joran.util.StringToObjectConverter"
    linkageType: null
    functionLinenumber: 101
    functionDepth: 0
    returnType: "java.lang.reflect.Method"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].getMethod(java.lang.String,java.lang.Class[])"
    functionUses: 1
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:102,1"
      Dst: "[java.lang.Class].getMethod(java.lang.String,java.lang.Class[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.StringToObjectConverter].convertByValueOfMethod(ch.qos.logback.core.spi.ContextAware,java.lang.Class,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.util.StringToObjectConverter"
    linkageType: null
    functionLinenumber: 120
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.spi.ContextAware"
    - "java.lang.Class"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.DynamicConverter].addError(java.lang.String)"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].addError(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addError(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[java.lang.Class].getMethod(java.lang.String,java.lang.Class[])"
    - "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAware].addError(java.lang.String)"
    functionUses: 1
    ICount: 14
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:121,1"
      Dst: "[java.lang.Class].getMethod(java.lang.String,java.lang.Class[])"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:122,1"
      Dst: "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:124,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:124,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:124,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.StringToObjectConverter].isOfTypeCharset(java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.joran.util.StringToObjectConverter"
    linkageType: null
    functionLinenumber: 86
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    functionUses: 2
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:87,1"
      Dst: "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.StringToObjectConverter].convertToCharset(ch.qos.logback.core.spi.ContextAware,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.util.StringToObjectConverter"
    linkageType: null
    functionLinenumber: 91
    functionDepth: 0
    returnType: "java.nio.charset.Charset"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.spi.ContextAware"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].addError(java.lang.String,java.lang.Throwable)"
    - "[java.nio.charset.Charset].forName(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAware].addError(java.lang.String,java.lang.Throwable)"
    functionUses: 1
    ICount: 8
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:92,1"
      Dst: "[java.nio.charset.Charset].forName(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:94,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:94,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.PropertySetterException].<init>(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.util.PropertySetterException"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Exception].<init>(java.lang.String,java.lang.Throwable)"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.PropertySetterException:35,1"
      Dst: "[java.lang.Exception].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.PropertySetterException].<init>(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.PropertySetterException"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Exception].<init>(java.lang.String)"
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.PropertySetterException:27,1"
      Dst: "[java.lang.Exception].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.PropertySetterException].<init>(java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.util.PropertySetterException"
    linkageType: null
    functionLinenumber: 30
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Exception].<init>(java.lang.Throwable)"
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.PropertySetterException:31,1"
      Dst: "[java.lang.Exception].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 96
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 7
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:97,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:97,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:97,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].setProperty(java.lang.reflect.Method,java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 111
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.reflect.Method"
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.StringToObjectConverter].convertArg(ch.qos.logback.core.spi.ContextAware,java.lang.String,java.lang.Class)"
    - "[ch.qos.logback.core.util.PropertySetterException].<init>(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.util.PropertySetterException].<init>(java.lang.String)"
    - "[ch.qos.logback.core.util.PropertySetterException].<init>(java.lang.Throwable)"
    - "[java.lang.reflect.Method].getParameterTypes()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Class)"
    - "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    functionUses: 1
    ICount: 30
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:122"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:126"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:125"
        BranchSideFuncs:
        - "<init>(java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:112,1"
      Dst: "[java.lang.reflect.Method].getParameterTypes()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:117,1"
      Dst: "[ch.qos.logback.core.joran.util.StringToObjectConverter].convertArg(ch.qos.logback.core.spi.ContextAware,java.lang.String,java.lang.Class)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:119,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Class)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:119,1"
      Dst: "[ch.qos.logback.core.util.PropertySetterException].<init>(java.lang.String,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:123,1"
      Dst: "[ch.qos.logback.core.util.PropertySetterException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:126,1"
      Dst: "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:128,1"
      Dst: "[ch.qos.logback.core.util.PropertySetterException].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].computeAggregationType(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 132
    functionDepth: 4
    returnType: "ch.qos.logback.core.util.AggregationType"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.PropertySetter].capitalizeFirstLetter(java.lang.String)"
    - "[ch.qos.logback.core.joran.util.PropertySetter].findAdderMethod(java.lang.String)"
    - "[ch.qos.logback.core.joran.util.PropertySetter].computeRawAggregationType(java.lang.reflect.Method)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.joran.util.PropertySetter].findSetterMethod(java.lang.String)"
    - "[java.lang.Enum].ordinal()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.util.AggregationType)"
    functionUses: 2
    ICount: 24
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:137"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:153"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:152"
        BranchSideFuncs:
        - "findSetterMethod(java.lang.String)"
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:154"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:158"
        BranchSideFuncs:
        - "computeRawAggregationType(java.lang.reflect.Method)"
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:157"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:133,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].capitalizeFirstLetter(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:135,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].findAdderMethod(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:138,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].computeRawAggregationType(java.lang.reflect.Method)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:139,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:149,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.util.AggregationType)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:149,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:153,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].findSetterMethod(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].capitalizeFirstLetter(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 323
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].substring(int,int)"
    - "[java.lang.String].toUpperCase()"
    - "[java.lang.String].substring(int)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    functionUses: 2
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:324,1"
      Dst: "[java.lang.String].substring(int,int)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:324,1"
      Dst: "[java.lang.String].toUpperCase()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:324,1"
      Dst: "[java.lang.String].substring(int)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:324,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].findAdderMethod(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 162
    functionDepth: 1
    returnType: "java.lang.reflect.Method"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.beans.BeanUtil].toLowerCamelCase(java.lang.String)"
    - "[ch.qos.logback.core.joran.util.beans.BeanDescription].getAdder(java.lang.String)"
    functionUses: 4
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:163,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanUtil].toLowerCamelCase(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:164,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanDescription].getAdder(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.beans.BeanUtil].toLowerCamelCase(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.util.beans.BeanUtil"
    linkageType: null
    functionLinenumber: 117
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].isEmpty()"
    - "[java.lang.String].length()"
    - "[java.lang.String].charAt(int)"
    - "[java.lang.Character].isUpperCase(char)"
    - "[java.lang.String].toCharArray()"
    - "[java.lang.Character].toLowerCase(char)"
    - "[java.lang.String].<init>(char[])"
    functionUses: 3
    ICount: 22
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanUtil:118"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:121"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:120"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanUtil:121"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:124"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:123"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanUtil:124"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:127"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:126"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanUtil:124"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:127"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:126"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanUtil:124"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:127"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:126"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:121,1"
      Dst: "[java.lang.String].isEmpty()"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:124,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:124,1"
      Dst: "[java.lang.String].charAt(int)"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:124,1"
      Dst: "[java.lang.Character].isUpperCase(char)"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:127,1"
      Dst: "[java.lang.String].toCharArray()"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:128,1"
      Dst: "[java.lang.Character].toLowerCase(char)"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:129,1"
      Dst: "[java.lang.String].<init>(char[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.joran.util.beans.BeanDescription].getAdder(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.util.beans.BeanDescription"
    linkageType: null
    functionLinenumber: 68
    functionDepth: 0
    returnType: "java.lang.reflect.Method"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map].get(java.lang.Object)"
    functionUses: 1
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescription:69,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].computeRawAggregationType(java.lang.reflect.Method)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 184
    functionDepth: 3
    returnType: "ch.qos.logback.core.util.AggregationType"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Method"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.PropertySetter].getParameterClassForMethod(java.lang.reflect.Method)"
    - "[ch.qos.logback.core.joran.util.StringToObjectConverter].canBeBuiltFromSimpleString(java.lang.Class)"
    functionUses: 2
    ICount: 12
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:186"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:189"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:188"
        BranchSideFuncs:
        - "canBeBuiltFromSimpleString(java.lang.Class)"
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:189"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:192"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:191"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:185,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].getParameterClassForMethod(java.lang.reflect.Method)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:189,1"
      Dst: "[ch.qos.logback.core.joran.util.StringToObjectConverter].canBeBuiltFromSimpleString(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].getParameterClassForMethod(java.lang.reflect.Method)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 172
    functionDepth: 0
    returnType: "java.lang.Class"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Method"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.reflect.Method].getParameterTypes()"
    functionUses: 2
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:173"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:176"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:175"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:177"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:180"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:179"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:176,1"
      Dst: "[java.lang.reflect.Method].getParameterTypes()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.StringToObjectConverter].canBeBuiltFromSimpleString(java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.joran.util.StringToObjectConverter"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.StringToObjectConverter].followsTheValueOfConvention(java.lang.Class)"
    - "[ch.qos.logback.core.joran.util.StringToObjectConverter].isOfTypeCharset(java.lang.Class)"
    - "[java.lang.Class].getPackage()"
    - "[java.lang.Class].isPrimitive()"
    - "[java.lang.Package].getName()"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.lang.Class].isEnum()"
    functionUses: 1
    ICount: 21
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.StringToObjectConverter:36"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:38"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:37"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.StringToObjectConverter:38"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:40"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:39"
        BranchSideFuncs:
        - "followsTheValueOfConvention(java.lang.Class)"
    - Branch String: "ch.qos.logback.core.joran.util.StringToObjectConverter:38"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:40"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:39"
        BranchSideFuncs:
        - "followsTheValueOfConvention(java.lang.Class)"
    - Branch String: "ch.qos.logback.core.joran.util.StringToObjectConverter:40"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:42"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:41"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.StringToObjectConverter:42"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:44"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:43"
        BranchSideFuncs:
        - "isOfTypeCharset(java.lang.Class)"
    - Branch String: "ch.qos.logback.core.joran.util.StringToObjectConverter:44"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:47"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:46"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:35,1"
      Dst: "[java.lang.Class].getPackage()"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:36,1"
      Dst: "[java.lang.Class].isPrimitive()"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:38,1"
      Dst: "[java.lang.Package].getName()"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:38,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:40,1"
      Dst: "[ch.qos.logback.core.joran.util.StringToObjectConverter].followsTheValueOfConvention(java.lang.Class)"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:42,1"
      Dst: "[java.lang.Class].isEnum()"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:44,1"
      Dst: "[ch.qos.logback.core.joran.util.StringToObjectConverter].isOfTypeCharset(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 12
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.util.StringToObjectConverter].followsTheValueOfConvention(java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.joran.util.StringToObjectConverter"
    linkageType: null
    functionLinenumber: 110
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.StringToObjectConverter].getValueOfMethod(java.lang.Class)"
    - "[java.lang.reflect.Method].getModifiers()"
    - "[java.lang.reflect.Modifier].isStatic(int)"
    functionUses: 2
    ICount: 7
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.StringToObjectConverter:112"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:115"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:114"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:111,1"
      Dst: "[ch.qos.logback.core.joran.util.StringToObjectConverter].getValueOfMethod(java.lang.Class)"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:115,1"
      Dst: "[java.lang.reflect.Method].getModifiers()"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:116,1"
      Dst: "[java.lang.reflect.Modifier].isStatic(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.StringToObjectConverter].isOfTypeCharset(java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.joran.util.StringToObjectConverter"
    linkageType: null
    functionLinenumber: 86
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    functionUses: 2
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:87,1"
      Dst: "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].findSetterMethod(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 167
    functionDepth: 1
    returnType: "java.lang.reflect.Method"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.beans.BeanUtil].toLowerCamelCase(java.lang.String)"
    - "[ch.qos.logback.core.joran.util.beans.BeanDescription].getSetter(java.lang.String)"
    functionUses: 4
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:168,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanUtil].toLowerCamelCase(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:169,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanDescription].getSetter(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].findAdderMethod(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 162
    functionDepth: 1
    returnType: "java.lang.reflect.Method"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.beans.BeanUtil].toLowerCamelCase(java.lang.String)"
    - "[ch.qos.logback.core.joran.util.beans.BeanDescription].getAdder(java.lang.String)"
    functionUses: 4
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:163,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanUtil].toLowerCamelCase(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:164,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanDescription].getAdder(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].findSetterMethod(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 167
    functionDepth: 1
    returnType: "java.lang.reflect.Method"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.beans.BeanUtil].toLowerCamelCase(java.lang.String)"
    - "[ch.qos.logback.core.joran.util.beans.BeanDescription].getSetter(java.lang.String)"
    functionUses: 4
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:168,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanUtil].toLowerCamelCase(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:169,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanDescription].getSetter(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].getParameterClassForMethod(java.lang.reflect.Method)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 172
    functionDepth: 0
    returnType: "java.lang.Class"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Method"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.reflect.Method].getParameterTypes()"
    functionUses: 2
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:173"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:176"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:175"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:177"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:180"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:179"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:176,1"
      Dst: "[java.lang.reflect.Method].getParameterTypes()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].computeRawAggregationType(java.lang.reflect.Method)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 184
    functionDepth: 3
    returnType: "ch.qos.logback.core.util.AggregationType"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Method"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.PropertySetter].getParameterClassForMethod(java.lang.reflect.Method)"
    - "[ch.qos.logback.core.joran.util.StringToObjectConverter].canBeBuiltFromSimpleString(java.lang.Class)"
    functionUses: 2
    ICount: 12
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:186"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:189"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:188"
        BranchSideFuncs:
        - "canBeBuiltFromSimpleString(java.lang.Class)"
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:189"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:192"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:191"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:185,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].getParameterClassForMethod(java.lang.reflect.Method)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:189,1"
      Dst: "[ch.qos.logback.core.joran.util.StringToObjectConverter].canBeBuiltFromSimpleString(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].isUnequivocallyInstantiable(java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 202
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].isInterface()"
    - "[java.lang.Class].getDeclaredConstructor(java.lang.Class[])"
    - "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    functionUses: 1
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:203"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:211"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:210"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:212"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:215"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:214"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:203,1"
      Dst: "[java.lang.Class].isInterface()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:211,1"
      Dst: "[java.lang.Class].getDeclaredConstructor(java.lang.Class[])"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:211,1"
      Dst: "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].getObjClass()"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: -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: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].addComplexProperty(java.lang.String,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 227
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.PropertySetter].findAdderMethod(java.lang.String)"
    - "[ch.qos.logback.core.joran.util.PropertySetter].isSanityCheckSuccessful(java.lang.String,java.lang.reflect.Method,java.lang.Class[],java.lang.Object)"
    - "[ch.qos.logback.core.joran.util.PropertySetter].invokeMethodWithSingleParameterOnThisObject(java.lang.reflect.Method,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[java.lang.reflect.Method].getParameterTypes()"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    functionUses: 1
    ICount: 16
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:230"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:237"
        BranchSideFuncs:
        - "isSanityCheckSuccessful(java.lang.String,java.lang.reflect.Method,java.lang.Class[],java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:236"
        BranchSideFuncs:
        - "addError(java.lang.String)"
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:232"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:235"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:234"
        BranchSideFuncs:
        - "invokeMethodWithSingleParameterOnThisObject(java.lang.reflect.Method,java.lang.Object)"
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:228,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].findAdderMethod(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:231,1"
      Dst: "[java.lang.reflect.Method].getParameterTypes()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:232,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].isSanityCheckSuccessful(java.lang.String,java.lang.reflect.Method,java.lang.Class[],java.lang.Object)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:235,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].invokeMethodWithSingleParameterOnThisObject(java.lang.reflect.Method,java.lang.Object)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:237,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:237,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:237,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].findAdderMethod(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 162
    functionDepth: 1
    returnType: "java.lang.reflect.Method"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.beans.BeanUtil].toLowerCamelCase(java.lang.String)"
    - "[ch.qos.logback.core.joran.util.beans.BeanDescription].getAdder(java.lang.String)"
    functionUses: 4
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:163,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanUtil].toLowerCamelCase(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:164,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanDescription].getAdder(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].isSanityCheckSuccessful(java.lang.String,java.lang.reflect.Method,java.lang.Class[],java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 302
    functionDepth: 2
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.String"
    - "java.lang.reflect.Method"
    - "java.lang.Class[]"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.lang.Class].getClassLoader()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.ClassLoader)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.ClassLoader)"
    functionUses: 3
    ICount: 37
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:304"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:310"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:311"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:320"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:319"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:303,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:306,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:306,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:305,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:311,1"
      Dst: "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:314,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:315,1"
      Dst: "[java.lang.Class].getClassLoader()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:315,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.ClassLoader)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:316,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.ClassLoader)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].invokeMethodWithSingleParameterOnThisObject(java.lang.reflect.Method,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 241
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.reflect.Method"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[java.lang.Object].getClass()"
    - "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    - "[java.lang.reflect.Method].getName()"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,java.lang.String)"
    functionUses: 3
    ICount: 18
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:242,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:244,1"
      Dst: "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:246,1"
      Dst: "[java.lang.reflect.Method].getName()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:246,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:247,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:246,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 74
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].invokeMethodWithSingleParameterOnThisObject(java.lang.reflect.Method,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 241
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.reflect.Method"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[java.lang.Object].getClass()"
    - "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    - "[java.lang.reflect.Method].getName()"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,java.lang.String)"
    functionUses: 3
    ICount: 18
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:242,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:244,1"
      Dst: "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:246,1"
      Dst: "[java.lang.reflect.Method].getName()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:246,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:247,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:246,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].addBasicProperty(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 252
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.PropertySetter].capitalizeFirstLetter(java.lang.String)"
    - "[ch.qos.logback.core.joran.util.PropertySetter].findAdderMethod(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.joran.util.PropertySetter].isSanityCheckSuccessful(java.lang.String,java.lang.reflect.Method,java.lang.Class[],java.lang.Object)"
    - "[ch.qos.logback.core.joran.util.StringToObjectConverter].convertArg(ch.qos.logback.core.spi.ContextAware,java.lang.String,java.lang.Class)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.joran.util.PropertySetter].invokeMethodWithSingleParameterOnThisObject(java.lang.reflect.Method,java.lang.Object)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.lang.reflect.Method].getParameterTypes()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Class)"
    functionUses: 1
    ICount: 24
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:253"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:257"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:256"
        BranchSideFuncs:
        - "capitalizeFirstLetter(java.lang.String)"
        - "findAdderMethod(java.lang.String)"
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:260"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:265"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:264"
        BranchSideFuncs:
        - "convertArg(ch.qos.logback.core.spi.ContextAware,java.lang.String,java.lang.Class)"
        - "addError(java.lang.String,java.lang.Throwable)"
        - "isSanityCheckSuccessful(java.lang.String,java.lang.reflect.Method,java.lang.Class[],java.lang.Object)"
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:275"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:278"
        BranchSideFuncs:
        - "invokeMethodWithSingleParameterOnThisObject(java.lang.reflect.Method,java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:277"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:257,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].capitalizeFirstLetter(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:258,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].findAdderMethod(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:261,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:261,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:265,1"
      Dst: "[java.lang.reflect.Method].getParameterTypes()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:266,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].isSanityCheckSuccessful(java.lang.String,java.lang.reflect.Method,java.lang.Class[],java.lang.Object)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:270,1"
      Dst: "[ch.qos.logback.core.joran.util.StringToObjectConverter].convertArg(ch.qos.logback.core.spi.ContextAware,java.lang.String,java.lang.Class)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:272,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Class)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:272,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:276,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].invokeMethodWithSingleParameterOnThisObject(java.lang.reflect.Method,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].capitalizeFirstLetter(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 323
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].substring(int,int)"
    - "[java.lang.String].toUpperCase()"
    - "[java.lang.String].substring(int)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    functionUses: 2
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:324,1"
      Dst: "[java.lang.String].substring(int,int)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:324,1"
      Dst: "[java.lang.String].toUpperCase()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:324,1"
      Dst: "[java.lang.String].substring(int)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:324,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].findAdderMethod(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 162
    functionDepth: 1
    returnType: "java.lang.reflect.Method"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.beans.BeanUtil].toLowerCamelCase(java.lang.String)"
    - "[ch.qos.logback.core.joran.util.beans.BeanDescription].getAdder(java.lang.String)"
    functionUses: 4
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:163,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanUtil].toLowerCamelCase(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:164,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanDescription].getAdder(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].isSanityCheckSuccessful(java.lang.String,java.lang.reflect.Method,java.lang.Class[],java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 302
    functionDepth: 2
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.String"
    - "java.lang.reflect.Method"
    - "java.lang.Class[]"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.lang.Class].getClassLoader()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.ClassLoader)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.ClassLoader)"
    functionUses: 3
    ICount: 37
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:304"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:310"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:311"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:320"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:319"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:303,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:306,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:306,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:305,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:311,1"
      Dst: "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:314,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:315,1"
      Dst: "[java.lang.Class].getClassLoader()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:315,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.ClassLoader)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:316,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.ClassLoader)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.StringToObjectConverter].convertArg(ch.qos.logback.core.spi.ContextAware,java.lang.String,java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.joran.util.StringToObjectConverter"
    linkageType: null
    functionLinenumber: 54
    functionDepth: 2
    returnType: "java.lang.Object"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.spi.ContextAware"
    - "java.lang.String"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.StringToObjectConverter].convertToEnum(ch.qos.logback.core.spi.ContextAware,java.lang.String,java.lang.Class)"
    - "[ch.qos.logback.core.joran.util.StringToObjectConverter].followsTheValueOfConvention(java.lang.Class)"
    - "[ch.qos.logback.core.joran.util.StringToObjectConverter].convertByValueOfMethod(ch.qos.logback.core.spi.ContextAware,java.lang.Class,java.lang.String)"
    - "[ch.qos.logback.core.joran.util.StringToObjectConverter].isOfTypeCharset(java.lang.Class)"
    - "[ch.qos.logback.core.joran.util.StringToObjectConverter].convertToCharset(ch.qos.logback.core.spi.ContextAware,java.lang.String)"
    - "[java.lang.String].trim()"
    - "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    - "[java.lang.Integer].valueOf(java.lang.String)"
    - "[java.lang.Long].valueOf(java.lang.String)"
    - "[java.lang.Float].valueOf(java.lang.String)"
    - "[java.lang.Double].valueOf(java.lang.String)"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - "[java.lang.Class].isEnum()"
    functionUses: 2
    ICount: 56
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.StringToObjectConverter:55"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:58"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:57"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.StringToObjectConverter:59"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:61"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:60"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.StringToObjectConverter:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:63"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:62"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.StringToObjectConverter:63"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:65"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:64"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.StringToObjectConverter:65"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:67"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:66"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.StringToObjectConverter:67"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:69"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:68"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.StringToObjectConverter:69"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:75"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:74"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.StringToObjectConverter:70"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:72"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:71"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.StringToObjectConverter:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:83"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:82"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.StringToObjectConverter:75"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:77"
        BranchSideFuncs:
        - "convertToEnum(ch.qos.logback.core.spi.ContextAware,java.lang.String,java.lang.Class)"
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:76"
        BranchSideFuncs:
        - "followsTheValueOfConvention(java.lang.Class)"
    - Branch String: "ch.qos.logback.core.joran.util.StringToObjectConverter:77"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:79"
        BranchSideFuncs:
        - "convertByValueOfMethod(ch.qos.logback.core.spi.ContextAware,java.lang.Class,java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:78"
        BranchSideFuncs:
        - "isOfTypeCharset(java.lang.Class)"
    - Branch String: "ch.qos.logback.core.joran.util.StringToObjectConverter:79"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:83"
        BranchSideFuncs:
        - "convertToCharset(ch.qos.logback.core.spi.ContextAware,java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:82"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:58,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:59,1"
      Dst: "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:62,1"
      Dst: "[java.lang.Integer].valueOf(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:64,1"
      Dst: "[java.lang.Long].valueOf(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:66,1"
      Dst: "[java.lang.Float].valueOf(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:68,1"
      Dst: "[java.lang.Double].valueOf(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:70,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:75,1"
      Dst: "[java.lang.Class].isEnum()"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:76,1"
      Dst: "[ch.qos.logback.core.joran.util.StringToObjectConverter].convertToEnum(ch.qos.logback.core.spi.ContextAware,java.lang.String,java.lang.Class)"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:77,1"
      Dst: "[ch.qos.logback.core.joran.util.StringToObjectConverter].followsTheValueOfConvention(java.lang.Class)"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:78,1"
      Dst: "[ch.qos.logback.core.joran.util.StringToObjectConverter].convertByValueOfMethod(ch.qos.logback.core.spi.ContextAware,java.lang.Class,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:79,1"
      Dst: "[ch.qos.logback.core.joran.util.StringToObjectConverter].isOfTypeCharset(java.lang.Class)"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:80,1"
      Dst: "[ch.qos.logback.core.joran.util.StringToObjectConverter].convertToCharset(ch.qos.logback.core.spi.ContextAware,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 24
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 74
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].invokeMethodWithSingleParameterOnThisObject(java.lang.reflect.Method,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 241
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.reflect.Method"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[java.lang.Object].getClass()"
    - "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    - "[java.lang.reflect.Method].getName()"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,java.lang.String)"
    functionUses: 3
    ICount: 18
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:242,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:244,1"
      Dst: "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:246,1"
      Dst: "[java.lang.reflect.Method].getName()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:246,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:247,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:246,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].setComplexProperty(java.lang.String,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 280
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.PropertySetter].findSetterMethod(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.joran.util.PropertySetter].isSanityCheckSuccessful(java.lang.String,java.lang.reflect.Method,java.lang.Class[],java.lang.Object)"
    - "[ch.qos.logback.core.joran.util.PropertySetter].invokeMethodWithSingleParameterOnThisObject(java.lang.reflect.Method,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - "[java.lang.reflect.Method].getParameterTypes()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Object,java.lang.Object)"
    functionUses: 2
    ICount: 23
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:289"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:288"
        BranchSideFuncs:
        - "isSanityCheckSuccessful(java.lang.String,java.lang.reflect.Method,java.lang.Class[],java.lang.Object)"
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:291"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:295"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:294"
        BranchSideFuncs:
        - "invokeMethodWithSingleParameterOnThisObject(java.lang.reflect.Method,java.lang.Object)"
        - "addError(java.lang.String,java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:281,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].findSetterMethod(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:284,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:284,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:284,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:284,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:289,1"
      Dst: "[java.lang.reflect.Method].getParameterTypes()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:291,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].isSanityCheckSuccessful(java.lang.String,java.lang.reflect.Method,java.lang.Class[],java.lang.Object)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:295,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].invokeMethodWithSingleParameterOnThisObject(java.lang.reflect.Method,java.lang.Object)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:298,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Object,java.lang.Object)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:298,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].findSetterMethod(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 167
    functionDepth: 1
    returnType: "java.lang.reflect.Method"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.beans.BeanUtil].toLowerCamelCase(java.lang.String)"
    - "[ch.qos.logback.core.joran.util.beans.BeanDescription].getSetter(java.lang.String)"
    functionUses: 4
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:168,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanUtil].toLowerCamelCase(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:169,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanDescription].getSetter(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 96
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].isSanityCheckSuccessful(java.lang.String,java.lang.reflect.Method,java.lang.Class[],java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 302
    functionDepth: 2
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.String"
    - "java.lang.reflect.Method"
    - "java.lang.Class[]"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.lang.Class].getClassLoader()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.ClassLoader)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.ClassLoader)"
    functionUses: 3
    ICount: 37
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:304"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:310"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:311"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:320"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:319"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:303,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:306,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:306,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:305,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:311,1"
      Dst: "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:314,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:315,1"
      Dst: "[java.lang.Class].getClassLoader()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:315,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.ClassLoader)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:316,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.ClassLoader)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].invokeMethodWithSingleParameterOnThisObject(java.lang.reflect.Method,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 241
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.reflect.Method"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[java.lang.Object].getClass()"
    - "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    - "[java.lang.reflect.Method].getName()"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,java.lang.String)"
    functionUses: 3
    ICount: 18
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:242,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:244,1"
      Dst: "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:246,1"
      Dst: "[java.lang.reflect.Method].getName()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:246,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:247,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:246,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 74
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].isSanityCheckSuccessful(java.lang.String,java.lang.reflect.Method,java.lang.Class[],java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 302
    functionDepth: 2
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.String"
    - "java.lang.reflect.Method"
    - "java.lang.Class[]"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.lang.Class].getClassLoader()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.ClassLoader)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.ClassLoader)"
    functionUses: 3
    ICount: 37
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:304"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:310"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:311"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:320"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:319"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:303,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:306,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:306,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:305,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:311,1"
      Dst: "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:314,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:315,1"
      Dst: "[java.lang.Class].getClassLoader()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:315,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.ClassLoader)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:316,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.ClassLoader)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].capitalizeFirstLetter(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 323
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].substring(int,int)"
    - "[java.lang.String].toUpperCase()"
    - "[java.lang.String].substring(int)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    functionUses: 2
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:324,1"
      Dst: "[java.lang.String].substring(int,int)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:324,1"
      Dst: "[java.lang.String].toUpperCase()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:324,1"
      Dst: "[java.lang.String].substring(int)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:324,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].getObj()"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 327
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].getRelevantMethod(java.lang.String,ch.qos.logback.core.util.AggregationType)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 332
    functionDepth: 2
    returnType: "java.lang.reflect.Method"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "ch.qos.logback.core.util.AggregationType"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.PropertySetter].findAdderMethod(java.lang.String)"
    - "[ch.qos.logback.core.joran.util.PropertySetter].findSetterMethod(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.util.AggregationType)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 16
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:333"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:335"
        BranchSideFuncs:
        - "findAdderMethod(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:334"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:335"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:338"
        BranchSideFuncs:
        - "findSetterMethod(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:337"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:334,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].findAdderMethod(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:336,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].findSetterMethod(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:338,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.util.AggregationType)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:338,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].findAdderMethod(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 162
    functionDepth: 1
    returnType: "java.lang.reflect.Method"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.beans.BeanUtil].toLowerCamelCase(java.lang.String)"
    - "[ch.qos.logback.core.joran.util.beans.BeanDescription].getAdder(java.lang.String)"
    functionUses: 4
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:163,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanUtil].toLowerCamelCase(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:164,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanDescription].getAdder(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].findSetterMethod(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 167
    functionDepth: 1
    returnType: "java.lang.reflect.Method"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.beans.BeanUtil].toLowerCamelCase(java.lang.String)"
    - "[ch.qos.logback.core.joran.util.beans.BeanDescription].getSetter(java.lang.String)"
    functionUses: 4
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:168,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanUtil].toLowerCamelCase(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:169,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanDescription].getSetter(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].getAnnotation(java.lang.String,java.lang.Class,java.lang.reflect.Method)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 344
    functionDepth: 0
    returnType: "java.lang.annotation.Annotation"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Class"
    - "java.lang.reflect.Method"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.reflect.Method].getAnnotation(java.lang.Class)"
    functionUses: 1
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:345"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:348"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:347"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:346,1"
      Dst: "[java.lang.reflect.Method].getAnnotation(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].getDefaultClassNameByAnnonation(java.lang.String,java.lang.reflect.Method)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 352
    functionDepth: 1
    returnType: "java.lang.Class"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.reflect.Method"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.PropertySetter].getAnnotation(java.lang.String,java.lang.Class,java.lang.reflect.Method)"
    - "[ch.qos.logback.core.joran.spi.DefaultClass].value()"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:354"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:357"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:356"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:353,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].getAnnotation(java.lang.String,java.lang.Class,java.lang.reflect.Method)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:355,1"
      Dst: "[ch.qos.logback.core.joran.spi.DefaultClass].value()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].getAnnotation(java.lang.String,java.lang.Class,java.lang.reflect.Method)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 344
    functionDepth: 0
    returnType: "java.lang.annotation.Annotation"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Class"
    - "java.lang.reflect.Method"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.reflect.Method].getAnnotation(java.lang.Class)"
    functionUses: 1
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:345"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:348"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:347"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:346,1"
      Dst: "[java.lang.reflect.Method].getAnnotation(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].getByConcreteType(java.lang.String,java.lang.reflect.Method)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 361
    functionDepth: 1
    returnType: "java.lang.Class"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.reflect.Method"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.PropertySetter].getParameterClassForMethod(java.lang.reflect.Method)"
    - "[ch.qos.logback.core.joran.util.PropertySetter].isUnequivocallyInstantiable(java.lang.Class)"
    functionUses: 1
    ICount: 10
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:363"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:367"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:366"
        BranchSideFuncs:
        - "isUnequivocallyInstantiable(java.lang.Class)"
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:368"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:371"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:370"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:362,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].getParameterClassForMethod(java.lang.reflect.Method)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:367,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].isUnequivocallyInstantiable(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].getParameterClassForMethod(java.lang.reflect.Method)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 172
    functionDepth: 0
    returnType: "java.lang.Class"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Method"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.reflect.Method].getParameterTypes()"
    functionUses: 2
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:173"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:176"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:175"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:177"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:180"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:179"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:176,1"
      Dst: "[java.lang.reflect.Method].getParameterTypes()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].isUnequivocallyInstantiable(java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 202
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].isInterface()"
    - "[java.lang.Class].getDeclaredConstructor(java.lang.Class[])"
    - "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    functionUses: 1
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:203"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:211"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:210"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:212"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:215"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:214"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:203,1"
      Dst: "[java.lang.Class].isInterface()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:211,1"
      Dst: "[java.lang.Class].getDeclaredConstructor(java.lang.Class[])"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:211,1"
      Dst: "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].getClassNameViaImplicitRules(java.lang.String,ch.qos.logback.core.util.AggregationType,ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 378
    functionDepth: 3
    returnType: "java.lang.Class"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "ch.qos.logback.core.util.AggregationType"
    - "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry].findDefaultComponentType(java.lang.Class,java.lang.String)"
    - "[ch.qos.logback.core.joran.util.PropertySetter].getRelevantMethod(java.lang.String,ch.qos.logback.core.util.AggregationType)"
    - "[ch.qos.logback.core.joran.util.PropertySetter].getDefaultClassNameByAnnonation(java.lang.String,java.lang.reflect.Method)"
    - "[ch.qos.logback.core.joran.util.PropertySetter].getByConcreteType(java.lang.String,java.lang.reflect.Method)"
    - "[java.lang.Object].getClass()"
    functionUses: 1
    ICount: 17
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:380"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:384"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:383"
        BranchSideFuncs:
        - "getRelevantMethod(java.lang.String,ch.qos.logback.core.util.AggregationType)"
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:385"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:388"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:387"
        BranchSideFuncs:
        - "getDefaultClassNameByAnnonation(java.lang.String,java.lang.reflect.Method)"
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:389"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:392"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:391"
        BranchSideFuncs:
        - "getByConcreteType(java.lang.String,java.lang.reflect.Method)"
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:379,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:379,1"
      Dst: "[ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry].findDefaultComponentType(java.lang.Class,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:384,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].getRelevantMethod(java.lang.String,ch.qos.logback.core.util.AggregationType)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:388,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].getDefaultClassNameByAnnonation(java.lang.String,java.lang.reflect.Method)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:392,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].getByConcreteType(java.lang.String,java.lang.reflect.Method)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry].findDefaultComponentType(java.lang.Class,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry"
    linkageType: null
    functionLinenumber: 52
    functionDepth: 2
    returnType: "java.lang.Class"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry].oneShotFind(java.lang.Class,java.lang.String)"
    - "[java.lang.String].toLowerCase()"
    - "[java.lang.Class].getSuperclass()"
    functionUses: 1
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry:54"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry:61"
        BranchSideFuncs:
        - "oneShotFind(java.lang.Class,java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry:60"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry:56"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry:59"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry:58"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry:53,1"
      Dst: "[java.lang.String].toLowerCase()"
    - Src: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry:55,1"
      Dst: "[ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry].oneShotFind(java.lang.Class,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry:59,1"
      Dst: "[java.lang.Class].getSuperclass()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].getRelevantMethod(java.lang.String,ch.qos.logback.core.util.AggregationType)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 332
    functionDepth: 2
    returnType: "java.lang.reflect.Method"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "ch.qos.logback.core.util.AggregationType"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.PropertySetter].findAdderMethod(java.lang.String)"
    - "[ch.qos.logback.core.joran.util.PropertySetter].findSetterMethod(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.util.AggregationType)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 16
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:333"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:335"
        BranchSideFuncs:
        - "findAdderMethod(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:334"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:335"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:338"
        BranchSideFuncs:
        - "findSetterMethod(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:337"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:334,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].findAdderMethod(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:336,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].findSetterMethod(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:338,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.util.AggregationType)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:338,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].getDefaultClassNameByAnnonation(java.lang.String,java.lang.reflect.Method)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 352
    functionDepth: 1
    returnType: "java.lang.Class"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.reflect.Method"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.PropertySetter].getAnnotation(java.lang.String,java.lang.Class,java.lang.reflect.Method)"
    - "[ch.qos.logback.core.joran.spi.DefaultClass].value()"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:354"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:357"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:356"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:353,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].getAnnotation(java.lang.String,java.lang.Class,java.lang.reflect.Method)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:355,1"
      Dst: "[ch.qos.logback.core.joran.spi.DefaultClass].value()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].getByConcreteType(java.lang.String,java.lang.reflect.Method)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 361
    functionDepth: 1
    returnType: "java.lang.Class"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.reflect.Method"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.PropertySetter].getParameterClassForMethod(java.lang.reflect.Method)"
    - "[ch.qos.logback.core.joran.util.PropertySetter].isUnequivocallyInstantiable(java.lang.Class)"
    functionUses: 1
    ICount: 10
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:363"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:367"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:366"
        BranchSideFuncs:
        - "isUnequivocallyInstantiable(java.lang.Class)"
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:368"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:371"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:370"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:362,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].getParameterClassForMethod(java.lang.reflect.Method)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:367,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].isUnequivocallyInstantiable(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker$lambda_check_0__55].bootstrap$(ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker)"
    functionSourceFile: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker$lambda_check_0__55"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Predicate"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker$lambda_check_0__55].<init>(ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker$lambda_check_0__55:-1,1"
      Dst: "[ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker$lambda_check_0__55].<init>(ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker$lambda_check_0__55].<init>(ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker)"
    functionSourceFile: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker$lambda_check_0__55"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker$lambda_check_0__55:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker$lambda_check_0__55].<init>(ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker)"
    functionSourceFile: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker$lambda_check_0__55"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker$lambda_check_0__55:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker$lambda_check_0__55].test(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker$lambda_check_0__55"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 3
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker].lambda$check$0(ch.qos.logback.core.joran.sanity.Pair)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker$lambda_check_0__55:-1,1"
      Dst: "[ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker].lambda$check$0(ch.qos.logback.core.joran.sanity.Pair)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker].lambda$check$0(ch.qos.logback.core.joran.sanity.Pair)"
    functionSourceFile: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.joran.sanity.Pair"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker].isSiftingAppender(ch.qos.logback.core.model.Model)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker:38"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker:37"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker:38,1"
      Dst: "[ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker].isSiftingAppender(ch.qos.logback.core.model.Model)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker].isSiftingAppender(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.ComponentModel].getClassName()"
    - "[java.lang.String].contains(java.lang.CharSequence)"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker:50"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker:57"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker:56"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker:53"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker:55"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker:54"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker:52,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].getClassName()"
    - Src: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker:55,1"
      Dst: "[java.lang.String].contains(java.lang.CharSequence)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ComponentModel].getClassName()"
    functionSourceFile: "ch.qos.logback.core.model.ComponentModel"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 11
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket].<init>(javax.net.ssl.SSLServerSocket)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "javax.net.ssl.SSLServerSocket"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 2
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:28,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket].getDefaultProtocols()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 0
    returnType: "java.lang.String[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.net.ssl.SSLServerSocket].getEnabledProtocols()"
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:33,1"
      Dst: "[javax.net.ssl.SSLServerSocket].getEnabledProtocols()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket].getSupportedProtocols()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket"
    linkageType: null
    functionLinenumber: 36
    functionDepth: 0
    returnType: "java.lang.String[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.net.ssl.SSLServerSocket].getSupportedProtocols()"
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:37,1"
      Dst: "[javax.net.ssl.SSLServerSocket].getSupportedProtocols()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket].setEnabledProtocols(java.lang.String[])"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket"
    linkageType: null
    functionLinenumber: 40
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.net.ssl.SSLServerSocket].setEnabledProtocols(java.lang.String[])"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:41,1"
      Dst: "[javax.net.ssl.SSLServerSocket].setEnabledProtocols(java.lang.String[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket].getDefaultCipherSuites()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket"
    linkageType: null
    functionLinenumber: 44
    functionDepth: 0
    returnType: "java.lang.String[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.net.ssl.SSLServerSocket].getEnabledCipherSuites()"
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:45,1"
      Dst: "[javax.net.ssl.SSLServerSocket].getEnabledCipherSuites()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket].getSupportedCipherSuites()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket"
    linkageType: null
    functionLinenumber: 48
    functionDepth: 0
    returnType: "java.lang.String[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.net.ssl.SSLServerSocket].getSupportedCipherSuites()"
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:49,1"
      Dst: "[javax.net.ssl.SSLServerSocket].getSupportedCipherSuites()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket].setEnabledCipherSuites(java.lang.String[])"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket"
    linkageType: null
    functionLinenumber: 52
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.net.ssl.SSLServerSocket].setEnabledCipherSuites(java.lang.String[])"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:53,1"
      Dst: "[javax.net.ssl.SSLServerSocket].setEnabledCipherSuites(java.lang.String[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket].setNeedClientAuth(boolean)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket"
    linkageType: null
    functionLinenumber: 56
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.net.ssl.SSLServerSocket].setNeedClientAuth(boolean)"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:57,1"
      Dst: "[javax.net.ssl.SSLServerSocket].setNeedClientAuth(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket].setWantClientAuth(boolean)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket"
    linkageType: null
    functionLinenumber: 60
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.net.ssl.SSLServerSocket].setWantClientAuth(boolean)"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:61,1"
      Dst: "[javax.net.ssl.SSLServerSocket].setWantClientAuth(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket].setHostnameVerification(boolean)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket"
    linkageType: null
    functionLinenumber: 66
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.OutputStreamAppender].<init>()"
    functionSourceFile: "ch.qos.logback.core.OutputStreamAppender"
    linkageType: null
    functionLinenumber: 35
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.UnsynchronizedAppenderBase].<init>()"
    - "[java.util.concurrent.locks.ReentrantLock].<init>(boolean)"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.OutputStreamAppender:36,1"
      Dst: "[ch.qos.logback.core.UnsynchronizedAppenderBase].<init>()"
    - Src: "ch.qos.logback.core.OutputStreamAppender:47,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].<init>(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.OutputStreamAppender].getOutputStream()"
    functionSourceFile: "ch.qos.logback.core.OutputStreamAppender"
    linkageType: null
    functionLinenumber: 61
    functionDepth: 0
    returnType: "java.io.OutputStream"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.OutputStreamAppender].start()"
    functionSourceFile: "ch.qos.logback.core.OutputStreamAppender"
    linkageType: null
    functionLinenumber: 69
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.UnsynchronizedAppenderBase].start()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 8
    ICount: 21
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.OutputStreamAppender:71"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:76"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:75"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.OutputStreamAppender:76"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:81"
        BranchSideFuncs:
        - "<init>(java.lang.String,java.lang.Object)"
        - "addStatus(ch.qos.logback.core.status.Status)"
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:80"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.OutputStreamAppender:81"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:84"
        BranchSideFuncs:
        - "start()"
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:83"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.OutputStreamAppender:72,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.OutputStreamAppender:72,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.OutputStreamAppender:72,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - Src: "ch.qos.logback.core.OutputStreamAppender:82,1"
      Dst: "[ch.qos.logback.core.UnsynchronizedAppenderBase].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.OutputStreamAppender].setLayout(ch.qos.logback.core.Layout)"
    functionSourceFile: "ch.qos.logback.core.OutputStreamAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Layout"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].<init>()"
    - "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].setLayout(ch.qos.logback.core.Layout)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.OutputStreamAppender:87,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.core.OutputStreamAppender:90,1"
      Dst: "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].<init>()"
    - Src: "ch.qos.logback.core.OutputStreamAppender:91,1"
      Dst: "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].setLayout(ch.qos.logback.core.Layout)"
    - Src: "ch.qos.logback.core.OutputStreamAppender:92,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 96
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].<init>()"
    functionSourceFile: "ch.qos.logback.core.encoder.LayoutWrappingEncoder"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.encoder.EncoderBase].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:23,1"
      Dst: "[ch.qos.logback.core.encoder.EncoderBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].setLayout(ch.qos.logback.core.Layout)"
    functionSourceFile: "ch.qos.logback.core.encoder.LayoutWrappingEncoder"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Layout"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 67
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:45"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:44"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:47"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:46,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.OutputStreamAppender].append(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.OutputStreamAppender"
    linkageType: null
    functionLinenumber: 97
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.UnsynchronizedAppenderBase].isStarted()"
    - "[ch.qos.logback.core.OutputStreamAppender].subAppend(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.RollingFileAppender].subAppend(java.lang.Object)"
    functionUses: 1
    ICount: 7
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.OutputStreamAppender:98"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:102"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:101"
        BranchSideFuncs:
        - "subAppend(java.lang.Object)"
    Callsites:
    - Src: "ch.qos.logback.core.OutputStreamAppender:98,1"
      Dst: "[ch.qos.logback.core.UnsynchronizedAppenderBase].isStarted()"
    - Src: "ch.qos.logback.core.OutputStreamAppender:102,1"
      Dst: "[ch.qos.logback.core.OutputStreamAppender].subAppend(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.OutputStreamAppender].subAppend(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.OutputStreamAppender"
    linkageType: null
    functionLinenumber: 228
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.UnsynchronizedAppenderBase].isStarted()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].prepareForDeferredProcessing()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].prepareForDeferredProcessing()"
    - "[ch.qos.logback.core.OutputStreamAppender].writeOut(java.lang.Object)"
    - "[ch.qos.logback.core.FileAppender].writeOut(java.lang.Object)"
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.DeferredProcessingAware].prepareForDeferredProcessing()"
    functionUses: 2
    ICount: 17
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.OutputStreamAppender:229"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:234"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:233"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.OutputStreamAppender:234"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:237"
        BranchSideFuncs:
        - "prepareForDeferredProcessing()"
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:236"
        BranchSideFuncs:
        - "<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
        - "addStatus(ch.qos.logback.core.status.Status)"
        - "writeOut(java.lang.Object)"
    Callsites:
    - Src: "ch.qos.logback.core.OutputStreamAppender:229,1"
      Dst: "[ch.qos.logback.core.UnsynchronizedAppenderBase].isStarted()"
    - Src: "ch.qos.logback.core.OutputStreamAppender:235,1"
      Dst: "[ch.qos.logback.core.spi.DeferredProcessingAware].prepareForDeferredProcessing()"
    - Src: "ch.qos.logback.core.OutputStreamAppender:237,1"
      Dst: "[ch.qos.logback.core.OutputStreamAppender].writeOut(java.lang.Object)"
    - Src: "ch.qos.logback.core.OutputStreamAppender:243,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.OutputStreamAppender:243,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.OutputStreamAppender].stop()"
    functionSourceFile: "ch.qos.logback.core.OutputStreamAppender"
    linkageType: null
    functionLinenumber: 111
    functionDepth: 4
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.UnsynchronizedAppenderBase].isStarted()"
    - "[ch.qos.logback.core.OutputStreamAppender].closeOutputStream()"
    - "[ch.qos.logback.core.UnsynchronizedAppenderBase].stop()"
    - "[java.util.concurrent.locks.ReentrantLock].lock()"
    - "[java.util.concurrent.locks.ReentrantLock].unlock()"
    functionUses: 5
    ICount: 16
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.OutputStreamAppender:112"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:115"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:114"
        BranchSideFuncs:
        - "closeOutputStream()"
        - "stop()"
    Callsites:
    - Src: "ch.qos.logback.core.OutputStreamAppender:112,1"
      Dst: "[ch.qos.logback.core.UnsynchronizedAppenderBase].isStarted()"
    - Src: "ch.qos.logback.core.OutputStreamAppender:115,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].lock()"
    - Src: "ch.qos.logback.core.OutputStreamAppender:117,1"
      Dst: "[ch.qos.logback.core.OutputStreamAppender].closeOutputStream()"
    - Src: "ch.qos.logback.core.OutputStreamAppender:118,1"
      Dst: "[ch.qos.logback.core.UnsynchronizedAppenderBase].stop()"
    - Src: "ch.qos.logback.core.OutputStreamAppender:120,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].unlock()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.OutputStreamAppender].closeOutputStream()"
    functionSourceFile: "ch.qos.logback.core.OutputStreamAppender"
    linkageType: null
    functionLinenumber: 127
    functionDepth: 3
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.OutputStreamAppender].encoderClose()"
    - "[ch.qos.logback.core.testUtil.XTeeOutputStream].close()"
    - "[ch.qos.logback.core.recovery.ResilientOutputStreamBase].close()"
    - "[ch.qos.logback.core.net.SyslogOutputStream].close()"
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[java.io.OutputStream].close()"
    functionUses: 3
    ICount: 13
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.OutputStreamAppender:128"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:137"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.OutputStreamAppender:131,1"
      Dst: "[ch.qos.logback.core.OutputStreamAppender].encoderClose()"
    - Src: "ch.qos.logback.core.OutputStreamAppender:132,1"
      Dst: "[java.io.OutputStream].close()"
    - Src: "ch.qos.logback.core.OutputStreamAppender:135,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.OutputStreamAppender:135,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.OutputStreamAppender].encoderClose()"
    functionSourceFile: "ch.qos.logback.core.OutputStreamAppender"
    linkageType: null
    functionLinenumber: 140
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.encoder.EchoEncoder].footerBytes()"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].footerBytes()"
    - "[ch.qos.logback.core.testUtil.DummyEncoder].footerBytes()"
    - "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].footerBytes()"
    - "[ch.qos.logback.core.OutputStreamAppender].writeBytes(byte[])"
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.encoder.Encoder].footerBytes()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 17
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.OutputStreamAppender:141"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:149"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.OutputStreamAppender:141"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:149"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.OutputStreamAppender:143,1"
      Dst: "[ch.qos.logback.core.encoder.Encoder].footerBytes()"
    - Src: "ch.qos.logback.core.OutputStreamAppender:144,1"
      Dst: "[ch.qos.logback.core.OutputStreamAppender].writeBytes(byte[])"
    - Src: "ch.qos.logback.core.OutputStreamAppender:147,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.OutputStreamAppender:147,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.OutputStreamAppender:147,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.OutputStreamAppender].setOutputStream(java.io.OutputStream)"
    functionSourceFile: "ch.qos.logback.core.OutputStreamAppender"
    linkageType: null
    functionLinenumber: 161
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.OutputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.OutputStreamAppender].closeOutputStream()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.OutputStreamAppender].encoderInit()"
    - "[java.util.concurrent.locks.ReentrantLock].lock()"
    - "[java.util.concurrent.locks.ReentrantLock].unlock()"
    functionUses: 2
    ICount: 21
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.OutputStreamAppender:167"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:172"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:171"
        BranchSideFuncs:
        - "encoderInit()"
    Callsites:
    - Src: "ch.qos.logback.core.OutputStreamAppender:162,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].lock()"
    - Src: "ch.qos.logback.core.OutputStreamAppender:165,1"
      Dst: "[ch.qos.logback.core.OutputStreamAppender].closeOutputStream()"
    - Src: "ch.qos.logback.core.OutputStreamAppender:168,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.core.OutputStreamAppender:174,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].unlock()"
    - Src: "ch.qos.logback.core.OutputStreamAppender:172,1"
      Dst: "[ch.qos.logback.core.OutputStreamAppender].encoderInit()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.OutputStreamAppender].encoderInit()"
    functionSourceFile: "ch.qos.logback.core.OutputStreamAppender"
    linkageType: null
    functionLinenumber: 178
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.encoder.JsonEncoder].headerBytes()"
    - "[ch.qos.logback.core.encoder.EchoEncoder].headerBytes()"
    - "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].headerBytes()"
    - "[ch.qos.logback.core.testUtil.DummyEncoder].headerBytes()"
    - "[ch.qos.logback.core.OutputStreamAppender].writeBytes(byte[])"
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.encoder.Encoder].headerBytes()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 17
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.OutputStreamAppender:179"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:188"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.OutputStreamAppender:179"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:188"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.OutputStreamAppender:181,1"
      Dst: "[ch.qos.logback.core.encoder.Encoder].headerBytes()"
    - Src: "ch.qos.logback.core.OutputStreamAppender:182,1"
      Dst: "[ch.qos.logback.core.OutputStreamAppender].writeBytes(byte[])"
    - Src: "ch.qos.logback.core.OutputStreamAppender:185,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.OutputStreamAppender:185,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.OutputStreamAppender:185,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.OutputStreamAppender].writeOut(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.OutputStreamAppender"
    linkageType: null
    functionLinenumber: 191
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.testUtil.DummyEncoder].encode(java.lang.Object)"
    - "[ch.qos.logback.core.encoder.EchoEncoder].encode(java.lang.Object)"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].encode(java.lang.Object)"
    - "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].encode(java.lang.Object)"
    - "[ch.qos.logback.core.OutputStreamAppender].writeBytes(byte[])"
    - "[ch.qos.logback.core.encoder.Encoder].encode(java.lang.Object)"
    functionUses: 2
    ICount: 6
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.OutputStreamAppender:192,1"
      Dst: "[ch.qos.logback.core.encoder.Encoder].encode(java.lang.Object)"
    - Src: "ch.qos.logback.core.OutputStreamAppender:193,1"
      Dst: "[ch.qos.logback.core.OutputStreamAppender].writeBytes(byte[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.OutputStreamAppender].writeBytes(byte[])"
    functionSourceFile: "ch.qos.logback.core.OutputStreamAppender"
    linkageType: null
    functionLinenumber: 196
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.OutputStreamAppender].writeByteArrayToOutputStreamWithPossibleFlush(byte[])"
    - "[java.util.concurrent.locks.ReentrantLock].lock()"
    - "[java.util.concurrent.locks.ReentrantLock].unlock()"
    functionUses: 3
    ICount: 17
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.OutputStreamAppender:197"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:198"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:197"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.OutputStreamAppender:197"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:200"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:199"
        BranchSideFuncs:
        - "writeByteArrayToOutputStreamWithPossibleFlush(byte[])"
    Callsites:
    - Src: "ch.qos.logback.core.OutputStreamAppender:200,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].lock()"
    - Src: "ch.qos.logback.core.OutputStreamAppender:202,1"
      Dst: "[ch.qos.logback.core.OutputStreamAppender].writeByteArrayToOutputStreamWithPossibleFlush(byte[])"
    - Src: "ch.qos.logback.core.OutputStreamAppender:204,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].unlock()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.OutputStreamAppender].writeByteArrayToOutputStreamWithPossibleFlush(byte[])"
    functionSourceFile: "ch.qos.logback.core.OutputStreamAppender"
    linkageType: null
    functionLinenumber: 213
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ConsoleTarget$2].write(byte[])"
    - "[ch.qos.logback.core.joran.spi.ConsoleTarget$1].write(byte[])"
    - "[ch.qos.logback.core.joran.spi.ConsoleTarget$2].flush()"
    - "[ch.qos.logback.core.recovery.ResilientOutputStreamBase].flush()"
    - "[ch.qos.logback.core.joran.spi.ConsoleTarget$1].flush()"
    - "[ch.qos.logback.core.net.SyslogOutputStream].flush()"
    - "[java.io.OutputStream].write(byte[])"
    - "[java.io.OutputStream].flush()"
    functionUses: 2
    ICount: 9
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.OutputStreamAppender:215"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:218"
        BranchSideFuncs:
        - "flush()"
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:217"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.OutputStreamAppender:214,1"
      Dst: "[java.io.OutputStream].write(byte[])"
    - Src: "ch.qos.logback.core.OutputStreamAppender:216,1"
      Dst: "[java.io.OutputStream].flush()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.OutputStreamAppender].subAppend(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.OutputStreamAppender"
    linkageType: null
    functionLinenumber: 228
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.UnsynchronizedAppenderBase].isStarted()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].prepareForDeferredProcessing()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].prepareForDeferredProcessing()"
    - "[ch.qos.logback.core.OutputStreamAppender].writeOut(java.lang.Object)"
    - "[ch.qos.logback.core.FileAppender].writeOut(java.lang.Object)"
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.DeferredProcessingAware].prepareForDeferredProcessing()"
    functionUses: 2
    ICount: 17
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.OutputStreamAppender:229"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:234"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:233"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.OutputStreamAppender:234"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:237"
        BranchSideFuncs:
        - "prepareForDeferredProcessing()"
      - BranchSide: "ch.qos.logback.core.OutputStreamAppender:236"
        BranchSideFuncs:
        - "<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
        - "addStatus(ch.qos.logback.core.status.Status)"
        - "writeOut(java.lang.Object)"
    Callsites:
    - Src: "ch.qos.logback.core.OutputStreamAppender:229,1"
      Dst: "[ch.qos.logback.core.UnsynchronizedAppenderBase].isStarted()"
    - Src: "ch.qos.logback.core.OutputStreamAppender:235,1"
      Dst: "[ch.qos.logback.core.spi.DeferredProcessingAware].prepareForDeferredProcessing()"
    - Src: "ch.qos.logback.core.OutputStreamAppender:237,1"
      Dst: "[ch.qos.logback.core.OutputStreamAppender].writeOut(java.lang.Object)"
    - Src: "ch.qos.logback.core.OutputStreamAppender:243,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.OutputStreamAppender:243,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.OutputStreamAppender].getEncoder()"
    functionSourceFile: "ch.qos.logback.core.OutputStreamAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.core.encoder.Encoder"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.OutputStreamAppender].setEncoder(ch.qos.logback.core.encoder.Encoder)"
    functionSourceFile: "ch.qos.logback.core.OutputStreamAppender"
    linkageType: null
    functionLinenumber: 251
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.encoder.Encoder"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.OutputStreamAppender].isImmediateFlush()"
    functionSourceFile: "ch.qos.logback.core.OutputStreamAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.OutputStreamAppender].setImmediateFlush(boolean)"
    functionSourceFile: "ch.qos.logback.core.OutputStreamAppender"
    linkageType: null
    functionLinenumber: 259
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.boolex.Matcher].<init>()"
    functionSourceFile: "ch.qos.logback.core.boolex.Matcher"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.boolex.Matcher:22,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.boolex.Matcher].getRegex()"
    functionSourceFile: "ch.qos.logback.core.boolex.Matcher"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.boolex.Matcher].setRegex(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.boolex.Matcher"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.boolex.Matcher].start()"
    functionSourceFile: "ch.qos.logback.core.boolex.Matcher"
    linkageType: null
    functionLinenumber: 41
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[java.util.regex.Pattern].compile(java.lang.String,int)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 5
    ICount: 25
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.boolex.Matcher:42"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.boolex.Matcher:47"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.boolex.Matcher:46"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.boolex.Matcher:48"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.boolex.Matcher:51"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.boolex.Matcher:50"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.boolex.Matcher:51"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.boolex.Matcher:54"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.boolex.Matcher:53"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.boolex.Matcher:54"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.boolex.Matcher:60"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.boolex.Matcher:59"
        BranchSideFuncs:
        - "addError(java.lang.String,java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.core.boolex.Matcher:43,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.boolex.Matcher:60,1"
      Dst: "[java.util.regex.Pattern].compile(java.lang.String,int)"
    - Src: "ch.qos.logback.core.boolex.Matcher:63,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.boolex.Matcher:63,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 11
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 74
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.boolex.Matcher].stop()"
    functionSourceFile: "ch.qos.logback.core.boolex.Matcher"
    linkageType: null
    functionLinenumber: 67
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.boolex.Matcher].isStarted()"
    functionSourceFile: "ch.qos.logback.core.boolex.Matcher"
    linkageType: null
    functionLinenumber: 71
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.boolex.Matcher].matches(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.boolex.Matcher"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - "[java.util.regex.Matcher].find()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[ch.qos.logback.core.boolex.EvaluationException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.boolex.Matcher:86"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.boolex.Matcher:90"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.boolex.Matcher:89"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.boolex.Matcher:87,1"
      Dst: "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - Src: "ch.qos.logback.core.boolex.Matcher:88,1"
      Dst: "[java.util.regex.Matcher].find()"
    - Src: "ch.qos.logback.core.boolex.Matcher:90,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.boolex.Matcher:90,1"
      Dst: "[ch.qos.logback.core.boolex.EvaluationException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.boolex.EvaluationException].<init>(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.boolex.EvaluationException"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Exception].<init>(java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.boolex.EvaluationException:26,1"
      Dst: "[java.lang.Exception].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.boolex.Matcher].isCanonEq()"
    functionSourceFile: "ch.qos.logback.core.boolex.Matcher"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.boolex.Matcher].setCanonEq(boolean)"
    functionSourceFile: "ch.qos.logback.core.boolex.Matcher"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.boolex.Matcher].isCaseSensitive()"
    functionSourceFile: "ch.qos.logback.core.boolex.Matcher"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.boolex.Matcher].setCaseSensitive(boolean)"
    functionSourceFile: "ch.qos.logback.core.boolex.Matcher"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.boolex.Matcher].isUnicodeCase()"
    functionSourceFile: "ch.qos.logback.core.boolex.Matcher"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.boolex.Matcher].setUnicodeCase(boolean)"
    functionSourceFile: "ch.qos.logback.core.boolex.Matcher"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.boolex.Matcher].getName()"
    functionSourceFile: "ch.qos.logback.core.boolex.Matcher"
    linkageType: null
    functionLinenumber: 118
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.boolex.Matcher].setName(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.boolex.Matcher"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].<init>()"
    functionSourceFile: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.RollingPolicyBase].<init>()"
    - "[ch.qos.logback.core.rolling.helper.RenameUtil].<init>()"
    - "[ch.qos.logback.core.util.FileSize].<init>(long)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:46,1"
      Dst: "[ch.qos.logback.core.rolling.RollingPolicyBase].<init>()"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:52,1"
      Dst: "[ch.qos.logback.core.rolling.helper.RenameUtil].<init>()"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:57,1"
      Dst: "[ch.qos.logback.core.util.FileSize].<init>(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].start()"
    functionSourceFile: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
    linkageType: null
    functionLinenumber: 66
    functionDepth: 11
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].<init>(java.lang.String,ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.rolling.RollingPolicyBase].determineCompressionMode()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.rolling.helper.Compressor].<init>(ch.qos.logback.core.rolling.helper.CompressionMode)"
    - "[ch.qos.logback.core.rolling.helper.Compressor].computeFileNameStrWithoutCompSuffix(java.lang.String,ch.qos.logback.core.rolling.helper.CompressionMode)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].transformFileNamePattern2ZipEntry(java.lang.String)"
    - "[ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy].<init>()"
    - "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase].setTimeBasedRollingPolicy(ch.qos.logback.core.rolling.TimeBasedRollingPolicy)"
    - "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP].start()"
    - "[ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy].start()"
    - "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase].start()"
    - "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase].isStarted()"
    - "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase].getArchiveRemover()"
    - "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].setMaxHistory(int)"
    - "[ch.qos.logback.core.util.FileSize].getSize()"
    - "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].setTotalSizeCap(long)"
    - "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase].getCurrentTime()"
    - "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].cleanAsynchronously(java.time.Instant)"
    - "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].isUnboundedTotalSizeCap()"
    - "[ch.qos.logback.core.rolling.RollingPolicyBase].start()"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.rolling.helper.FileNamePattern)"
    - "[ch.qos.logback.core.spi.ContextAware].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicy].setTimeBasedRollingPolicy(ch.qos.logback.core.rolling.TimeBasedRollingPolicy)"
    - "[ch.qos.logback.core.spi.LifeCycle].start()"
    - "[ch.qos.logback.core.spi.LifeCycle].isStarted()"
    - "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicy].getArchiveRemover()"
    - "[ch.qos.logback.core.rolling.helper.ArchiveRemover].setMaxHistory(int)"
    - "[ch.qos.logback.core.rolling.helper.ArchiveRemover].setTotalSizeCap(long)"
    - "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicy].getCurrentTime()"
    - "[java.time.Instant].ofEpochMilli(long)"
    - "[ch.qos.logback.core.rolling.helper.ArchiveRemover].cleanAsynchronously(java.time.Instant)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.util.FileSize)"
    functionUses: 6
    ICount: 90
    EdgeCount: 30
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:70"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:74"
        BranchSideFuncs:
        - "determineCompressionMode()"
      - BranchSide: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:73"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:88"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:93"
        BranchSideFuncs:
        - "<init>(java.lang.String,ch.qos.logback.core.Context)"
        - "transformFileNamePattern2ZipEntry(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:92"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:93"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:96"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:95"
        BranchSideFuncs:
        - "isStarted()"
        - "setTimeBasedRollingPolicy(ch.qos.logback.core.rolling.TimeBasedRollingPolicy)"
        - "setContext(ch.qos.logback.core.Context)"
    - Branch String: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:100"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:108"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:107"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:108"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:117"
        BranchSideFuncs:
        - "getSize()"
        - "setMaxHistory(int)"
        - "getArchiveRemover()"
        - "setTotalSizeCap(long)"
      - BranchSide: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:116"
        BranchSideFuncs:
        - "isUnboundedTotalSizeCap()"
    - Branch String: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:112"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:121"
        BranchSideFuncs:
        - "cleanAsynchronously(java.time.Instant)"
        - "getCurrentTime()"
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:120"
        BranchSideFuncs:
        - "start()"
    - Branch String: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:117"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:121"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:120"
        BranchSideFuncs:
        - "start()"
    Callsites:
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:67,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:71,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileNamePattern].<init>(java.lang.String,ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:72,1"
      Dst: "[ch.qos.logback.core.rolling.RollingPolicyBase].determineCompressionMode()"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:74,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:76,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:79,1"
      Dst: "[ch.qos.logback.core.rolling.helper.Compressor].<init>(ch.qos.logback.core.rolling.helper.CompressionMode)"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:84,1"
      Dst: "[ch.qos.logback.core.rolling.helper.Compressor].computeFileNameStrWithoutCompSuffix(java.lang.String,ch.qos.logback.core.rolling.helper.CompressionMode)"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:86,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.rolling.helper.FileNamePattern)"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:86,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:89,1"
      Dst: "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].transformFileNamePattern2ZipEntry(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:94,1"
      Dst: "[ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy].<init>()"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:96,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:97,1"
      Dst: "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicy].setTimeBasedRollingPolicy(ch.qos.logback.core.rolling.TimeBasedRollingPolicy)"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:98,1"
      Dst: "[ch.qos.logback.core.spi.LifeCycle].start()"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:100,1"
      Dst: "[ch.qos.logback.core.spi.LifeCycle].isStarted()"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:109,1"
      Dst: "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicy].getArchiveRemover()"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:110,1"
      Dst: "[ch.qos.logback.core.rolling.helper.ArchiveRemover].setMaxHistory(int)"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:111,1"
      Dst: "[ch.qos.logback.core.util.FileSize].getSize()"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:111,1"
      Dst: "[ch.qos.logback.core.rolling.helper.ArchiveRemover].setTotalSizeCap(long)"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:114,1"
      Dst: "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicy].getCurrentTime()"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:114,1"
      Dst: "[java.time.Instant].ofEpochMilli(long)"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:115,1"
      Dst: "[ch.qos.logback.core.rolling.helper.ArchiveRemover].cleanAsynchronously(java.time.Instant)"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:117,1"
      Dst: "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].isUnboundedTotalSizeCap()"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:118,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.util.FileSize)"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:121,1"
      Dst: "[ch.qos.logback.core.rolling.RollingPolicyBase].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 15
    CyclomaticComplexity: 6
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 67
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:45"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:44"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:47"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:46,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.rolling.helper.FileNamePattern].<init>(java.lang.String,ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileNamePattern"
    linkageType: null
    functionLinenumber: 49
    functionDepth: 10
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].setPattern(java.lang.String)"
    - "[ch.qos.logback.core.rolling.helper.FileFilterUtil].slashify(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].parse()"
    - "[ch.qos.logback.core.pattern.ConverterUtil].startConverters(ch.qos.logback.core.pattern.Converter)"
    functionUses: 5
    ICount: 11
    EdgeCount: 6
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:50,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:52,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].slashify(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:52,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileNamePattern].setPattern(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:53,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:54,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileNamePattern].parse()"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:55,1"
      Dst: "[ch.qos.logback.core.pattern.ConverterUtil].startConverters(ch.qos.logback.core.pattern.Converter)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 34
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:34,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].slashify(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileFilterUtil"
    linkageType: null
    functionLinenumber: 110
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].replace(char,char)"
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:111,1"
      Dst: "[java.lang.String].replace(char,char)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.FileNamePattern].setPattern(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileNamePattern"
    linkageType: null
    functionLinenumber: 178
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    functionUses: 1
    ICount: 6
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:179"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:182"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:181,1"
      Dst: "[java.lang.String].trim()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.rolling.helper.FileNamePattern].parse()"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileNamePattern"
    linkageType: null
    functionLinenumber: 65
    functionDepth: 9
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].escapeRightParantesis(java.lang.String)"
    - "[ch.qos.logback.core.pattern.parser.Parser].<init>(java.lang.String,ch.qos.logback.core.pattern.util.IEscapeUtil)"
    - "[ch.qos.logback.core.pattern.util.AlmostAsIsEscapeUtil].<init>()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.pattern.parser.Parser].parse()"
    - "[ch.qos.logback.core.pattern.parser.Parser].compile(ch.qos.logback.core.pattern.parser.Node,java.util.Map)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 19
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:66,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileNamePattern].escapeRightParantesis(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:67,1"
      Dst: "[ch.qos.logback.core.pattern.util.AlmostAsIsEscapeUtil].<init>()"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:67,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Parser].<init>(java.lang.String,ch.qos.logback.core.pattern.util.IEscapeUtil)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:68,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:69,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Parser].parse()"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:70,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Parser].compile(ch.qos.logback.core.pattern.parser.Node,java.util.Map)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:73,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:73,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.ConverterUtil].startConverters(ch.qos.logback.core.pattern.Converter)"
    functionSourceFile: "ch.qos.logback.core.pattern.ConverterUtil"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.pattern.Converter"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.ConverterUtil].startConverters(ch.qos.logback.core.pattern.Converter)"
    - "[ch.qos.logback.core.pattern.ReplacingCompositeConverter].start()"
    - "[ch.qos.logback.core.pattern.DynamicConverter].start()"
    - "[ch.qos.logback.classic.pattern.KeyValuePairConverter].start()"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].start()"
    - "[ch.qos.logback.classic.pattern.MDCConverter].start()"
    - "[ch.qos.logback.core.rolling.helper.DateTokenConverter].start()"
    - "[ch.qos.logback.classic.pattern.NamedConverter].start()"
    - "[ch.qos.logback.classic.pattern.SyslogStartConverter].start()"
    - "[ch.qos.logback.classic.pattern.DateConverter].start()"
    - "[ch.qos.logback.classic.pattern.PropertyConverter].start()"
    - "[ch.qos.logback.classic.pattern.CallerDataConverter].start()"
    - "[ch.qos.logback.classic.pattern.SequenceNumberConverter].start()"
    - "[ch.qos.logback.core.pattern.Converter].getNext()"
    functionUses: 4
    ICount: 17
    EdgeCount: 15
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.ConverterUtil:28"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.ConverterUtil:40"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.ConverterUtil:30"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.ConverterUtil:30"
        BranchSideFuncs:
        - "startConverters(ch.qos.logback.core.pattern.Converter)"
      - BranchSide: "ch.qos.logback.core.pattern.ConverterUtil:29"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.ConverterUtil:30"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.ConverterUtil:39"
        BranchSideFuncs:
        - "startConverters(ch.qos.logback.core.pattern.Converter)"
      - BranchSide: "ch.qos.logback.core.pattern.ConverterUtil:38"
        BranchSideFuncs:
        - "getNext()"
    Callsites:
    - Src: "ch.qos.logback.core.pattern.ConverterUtil:33,1"
      Dst: "[ch.qos.logback.core.pattern.ConverterUtil].startConverters(ch.qos.logback.core.pattern.Converter)"
    - Src: "ch.qos.logback.core.pattern.ConverterUtil:34,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].start()"
    - Src: "ch.qos.logback.core.pattern.ConverterUtil:39,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].getNext()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 96
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.Compressor].<init>(ch.qos.logback.core.rolling.helper.CompressionMode)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.Compressor"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.rolling.helper.CompressionMode"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:44,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.Compressor].computeFileNameStrWithoutCompSuffix(java.lang.String,ch.qos.logback.core.rolling.helper.CompressionMode)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.Compressor"
    linkageType: null
    functionLinenumber: 193
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "ch.qos.logback.core.rolling.helper.CompressionMode"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].length()"
    - "[java.lang.Enum].ordinal()"
    - "[java.lang.String].endsWith(java.lang.String)"
    - "[java.lang.String].substring(int,int)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 2
    ICount: 23
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.Compressor:197"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:200"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:199"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.Compressor:202"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:205"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:204"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:194,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:195,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:197,1"
      Dst: "[java.lang.String].endsWith(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:198,1"
      Dst: "[java.lang.String].substring(int,int)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:209,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].transformFileNamePattern2ZipEntry(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
    linkageType: null
    functionLinenumber: 149
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.FileFilterUtil].slashify(java.lang.String)"
    - "[ch.qos.logback.core.rolling.helper.FileFilterUtil].afterLastSlash(java.lang.String)"
    functionUses: 1
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:150,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].slashify(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:151,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].afterLastSlash(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].afterLastSlash(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileFilterUtil"
    linkageType: null
    functionLinenumber: 45
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].lastIndexOf(int)"
    - "[java.lang.String].substring(int)"
    functionUses: 5
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.FileFilterUtil:47"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:50"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:49"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:46,1"
      Dst: "[java.lang.String].lastIndexOf(int)"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:50,1"
      Dst: "[java.lang.String].substring(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy].<init>()"
    functionSourceFile: "ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy:28,1"
      Dst: "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.FileSize].getSize()"
    functionSourceFile: "ch.qos.logback.core.util.FileSize"
    linkageType: null
    functionLinenumber: 54
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 7
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].isUnboundedTotalSizeCap()"
    functionSourceFile: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
    linkageType: null
    functionLinenumber: 124
    functionDepth: 1
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.FileSize].getSize()"
    functionUses: 2
    ICount: 9
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:125"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:124"
        BranchSideFuncs:
        - "getSize()"
    Callsites:
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:125,1"
      Dst: "[ch.qos.logback.core.util.FileSize].getSize()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].isUnboundedTotalSizeCap()"
    functionSourceFile: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
    linkageType: null
    functionLinenumber: 124
    functionDepth: 1
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.FileSize].getSize()"
    functionUses: 2
    ICount: 9
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:125"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:124"
        BranchSideFuncs:
        - "getSize()"
    Callsites:
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:125,1"
      Dst: "[ch.qos.logback.core.util.FileSize].getSize()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].stop()"
    functionSourceFile: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
    linkageType: null
    functionLinenumber: 129
    functionDepth: 3
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.RollingPolicyBase].isStarted()"
    - "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].waitForAsynchronousJobToStop(java.util.concurrent.Future,java.lang.String)"
    - "[ch.qos.logback.core.rolling.RollingPolicyBase].stop()"
    functionUses: 3
    ICount: 10
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:130"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:132"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:131"
        BranchSideFuncs:
        - "waitForAsynchronousJobToStop(java.util.concurrent.Future,java.lang.String)"
        - "stop()"
    Callsites:
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:130,1"
      Dst: "[ch.qos.logback.core.rolling.RollingPolicyBase].isStarted()"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:132,1"
      Dst: "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].waitForAsynchronousJobToStop(java.util.concurrent.Future,java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:134,1"
      Dst: "[ch.qos.logback.core.rolling.RollingPolicyBase].stop()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].waitForAsynchronousJobToStop(java.util.concurrent.Future,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
    linkageType: null
    functionLinenumber: 137
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.util.concurrent.Future"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[java.util.concurrent.Future].get(long,java.util.concurrent.TimeUnit)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 2
    ICount: 15
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:138"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:146"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:140,1"
      Dst: "[java.util.concurrent.Future].get(long,java.util.concurrent.TimeUnit)"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:142,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:142,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 74
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].waitForAsynchronousJobToStop(java.util.concurrent.Future,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
    linkageType: null
    functionLinenumber: 137
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.util.concurrent.Future"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[java.util.concurrent.Future].get(long,java.util.concurrent.TimeUnit)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 2
    ICount: 15
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:138"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:146"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:140,1"
      Dst: "[java.util.concurrent.Future].get(long,java.util.concurrent.TimeUnit)"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:142,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:142,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].transformFileNamePattern2ZipEntry(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
    linkageType: null
    functionLinenumber: 149
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.FileFilterUtil].slashify(java.lang.String)"
    - "[ch.qos.logback.core.rolling.helper.FileFilterUtil].afterLastSlash(java.lang.String)"
    functionUses: 1
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:150,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].slashify(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:151,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].afterLastSlash(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].setTimeBasedFileNamingAndTriggeringPolicy(ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicy)"
    functionSourceFile: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicy"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].getTimeBasedFileNamingAndTriggeringPolicy()"
    functionSourceFile: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicy"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].rollover()"
    functionSourceFile: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
    linkageType: null
    functionLinenumber: 167
    functionDepth: 6
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase].getElapsedPeriodsFileName()"
    - "[ch.qos.logback.core.rolling.helper.FileFilterUtil].afterLastSlash(java.lang.String)"
    - "[ch.qos.logback.core.rolling.RollingPolicyBase].getParentsRawFileProperty()"
    - "[ch.qos.logback.core.rolling.helper.RenameUtil].rename(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.rolling.helper.Compressor].asyncCompress(java.lang.String,java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].renameRawAndAsyncCompress(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase].getCurrentTime()"
    - "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].cleanAsynchronously(java.time.Instant)"
    - "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicy].getElapsedPeriodsFileName()"
    - "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicy].getCurrentTime()"
    - "[java.time.Instant].ofEpochMilli(long)"
    - "[ch.qos.logback.core.rolling.helper.ArchiveRemover].cleanAsynchronously(java.time.Instant)"
    functionUses: 1
    ICount: 30
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:172"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:178"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:177"
        BranchSideFuncs:
        - "getParentsRawFileProperty()"
    - Branch String: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:173"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:186"
        BranchSideFuncs:
        - "rename(java.lang.String,java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:185"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:178"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:182"
        BranchSideFuncs:
        - "asyncCompress(java.lang.String,java.lang.String,java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:181"
        BranchSideFuncs:
        - "renameRawAndAsyncCompress(java.lang.String,java.lang.String)"
    - Branch String: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:186"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:190"
        BranchSideFuncs:
        - "getCurrentTime()"
        - "cleanAsynchronously(java.time.Instant)"
      - BranchSide: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:189"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:168,1"
      Dst: "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicy].getElapsedPeriodsFileName()"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:170,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].afterLastSlash(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:173,1"
      Dst: "[ch.qos.logback.core.rolling.RollingPolicyBase].getParentsRawFileProperty()"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:174,1"
      Dst: "[ch.qos.logback.core.rolling.helper.RenameUtil].rename(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:179,1"
      Dst: "[ch.qos.logback.core.rolling.helper.Compressor].asyncCompress(java.lang.String,java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:182,1"
      Dst: "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].renameRawAndAsyncCompress(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:187,1"
      Dst: "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicy].getCurrentTime()"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:187,1"
      Dst: "[java.time.Instant].ofEpochMilli(long)"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:188,1"
      Dst: "[ch.qos.logback.core.rolling.helper.ArchiveRemover].cleanAsynchronously(java.time.Instant)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].afterLastSlash(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileFilterUtil"
    linkageType: null
    functionLinenumber: 45
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].lastIndexOf(int)"
    - "[java.lang.String].substring(int)"
    functionUses: 5
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.FileFilterUtil:47"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:50"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:49"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:46,1"
      Dst: "[java.lang.String].lastIndexOf(int)"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:50,1"
      Dst: "[java.lang.String].substring(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.RenameUtil].rename(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.RenameUtil"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.rolling.helper.RenameUtil].createMissingTargetDirsIfNecessary(java.io.File)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.rolling.helper.RenameUtil].areOnDifferentVolumes(java.io.File,java.io.File)"
    - "[ch.qos.logback.core.rolling.helper.RenameUtil].renameByCopying(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.rolling.RolloverFailure].<init>(java.lang.String)"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.io.File].<init>(java.lang.String)"
    - "[java.io.File].exists()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File,java.io.File)"
    - "[java.io.File].renameTo(java.io.File)"
    - "[java.lang.Boolean].equals(java.lang.Object)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - "[java.lang.Class].getSimpleName()"
    functionUses: 4
    ICount: 42
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.RenameUtil:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.RenameUtil:47"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.RenameUtil:46"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.RenameUtil:49"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.RenameUtil:72"
        BranchSideFuncs:
        - "createMissingTargetDirsIfNecessary(java.io.File)"
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.RenameUtil:71"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
    - Branch String: "ch.qos.logback.core.rolling.helper.RenameUtil:57"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.RenameUtil:71"
        BranchSideFuncs:
        - "areOnDifferentVolumes(java.io.File,java.io.File)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.RenameUtil:70"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.RenameUtil:60"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.RenameUtil:66"
        BranchSideFuncs:
        - "renameByCopying(java.lang.String,java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.RenameUtil:65"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:43,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:44,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:44,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:47,1"
      Dst: "[java.io.File].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:49,1"
      Dst: "[java.io.File].exists()"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:51,1"
      Dst: "[ch.qos.logback.core.rolling.helper.RenameUtil].createMissingTargetDirsIfNecessary(java.io.File)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:53,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File,java.io.File)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:53,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:55,1"
      Dst: "[java.io.File].renameTo(java.io.File)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:59,1"
      Dst: "[ch.qos.logback.core.rolling.helper.RenameUtil].areOnDifferentVolumes(java.io.File,java.io.File)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:60,1"
      Dst: "[java.lang.Boolean].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:61,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:63,1"
      Dst: "[ch.qos.logback.core.rolling.helper.RenameUtil].renameByCopying(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:66,1"
      Dst: "[java.lang.Class].getSimpleName()"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:72,1"
      Dst: "[ch.qos.logback.core.rolling.RolloverFailure].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 96
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.RenameUtil].createMissingTargetDirsIfNecessary(java.io.File)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.RenameUtil"
    linkageType: null
    functionLinenumber: 123
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.FileUtil].createMissingParentDirectories(java.io.File)"
    - "[ch.qos.logback.core.rolling.RolloverFailure].<init>(java.lang.String)"
    - "[java.io.File].getAbsolutePath()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 10
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.RenameUtil:125"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.RenameUtil:128"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.RenameUtil:127"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:124,1"
      Dst: "[ch.qos.logback.core.util.FileUtil].createMissingParentDirectories(java.io.File)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:126,1"
      Dst: "[java.io.File].getAbsolutePath()"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:126,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:126,1"
      Dst: "[ch.qos.logback.core.rolling.RolloverFailure].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.FileUtil].createMissingParentDirectories(java.io.File)"
    functionSourceFile: "ch.qos.logback.core.util.FileUtil"
    linkageType: null
    functionLinenumber: 47
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.File].getParentFile()"
    - "[java.io.File].mkdirs()"
    - "[java.io.File].exists()"
    functionUses: 3
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.FileUtil:49"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.FileUtil:56"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.FileUtil:48,1"
      Dst: "[java.io.File].getParentFile()"
    - Src: "ch.qos.logback.core.util.FileUtil:57,1"
      Dst: "[java.io.File].mkdirs()"
    - Src: "ch.qos.logback.core.util.FileUtil:58,1"
      Dst: "[java.io.File].exists()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.RolloverFailure].<init>(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.RolloverFailure"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.LogbackException].<init>(java.lang.String)"
    functionUses: 3
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.RolloverFailure:28,1"
      Dst: "[ch.qos.logback.core.LogbackException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.LogbackException].<init>(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.LogbackException"
    linkageType: null
    functionLinenumber: 20
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.RuntimeException].<init>(java.lang.String)"
    functionUses: 3
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.LogbackException:21,1"
      Dst: "[java.lang.RuntimeException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.RenameUtil].areOnDifferentVolumes(java.io.File,java.io.File)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.RenameUtil"
    linkageType: null
    functionLinenumber: 85
    functionDepth: 3
    returnType: "java.lang.Boolean"
    argCount: 2
    argTypes:
    - "java.io.File"
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.EnvUtil].isJDK7OrHigher()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.rolling.helper.FileStoreUtil].areOnSameFileStore(java.io.File,java.io.File)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String,java.lang.Throwable)"
    - "[java.lang.Boolean].valueOf(boolean)"
    - "[java.io.File].getAbsoluteFile()"
    - "[java.io.File].getParentFile()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File)"
    - "[java.io.File].exists()"
    functionUses: 1
    ICount: 28
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.RenameUtil:86"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.RenameUtil:91"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.RenameUtil:90"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.RenameUtil:93"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.RenameUtil:97"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.RenameUtil:96"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.RenameUtil:97"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.RenameUtil:103"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.RenameUtil:102"
        BranchSideFuncs:
        - "areOnSameFileStore(java.io.File,java.io.File)"
    - Branch String: "ch.qos.logback.core.rolling.helper.RenameUtil:104"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.RenameUtil:103"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
        - "areOnSameFileStore(java.io.File,java.io.File)"
        - "addWarn(java.lang.String,java.lang.Throwable)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.RenameUtil:102"
        BranchSideFuncs:
        - "areOnSameFileStore(java.io.File,java.io.File)"
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:86,1"
      Dst: "[ch.qos.logback.core.util.EnvUtil].isJDK7OrHigher()"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:87,1"
      Dst: "[java.lang.Boolean].valueOf(boolean)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:91,1"
      Dst: "[java.io.File].getAbsoluteFile()"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:91,1"
      Dst: "[java.io.File].getParentFile()"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:94,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:94,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:97,1"
      Dst: "[java.io.File].exists()"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:103,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileStoreUtil].areOnSameFileStore(java.io.File,java.io.File)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:106,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 11
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.EnvUtil].isJDK7OrHigher()"
    functionSourceFile: "ch.qos.logback.core.util.EnvUtil"
    linkageType: null
    functionLinenumber: 99
    functionDepth: 2
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.EnvUtil].isJDK_N_OrHigher(int)"
    functionUses: 1
    ICount: 2
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.EnvUtil:100,1"
      Dst: "[ch.qos.logback.core.util.EnvUtil].isJDK_N_OrHigher(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.EnvUtil].isJDK_N_OrHigher(int)"
    functionSourceFile: "ch.qos.logback.core.util.EnvUtil"
    linkageType: null
    functionLinenumber: 82
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.EnvUtil].getJDKVersion(java.lang.String)"
    - "[java.lang.System].getProperty(java.lang.String,java.lang.String)"
    - "[java.lang.String].isEmpty()"
    functionUses: 2
    ICount: 12
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.EnvUtil:84"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:87"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:86"
        BranchSideFuncs:
        - "getJDKVersion(java.lang.String)"
    - Branch String: "ch.qos.logback.core.util.EnvUtil:88"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:86"
        BranchSideFuncs:
        - "getJDKVersion(java.lang.String)"
    - Branch String: "ch.qos.logback.core.util.EnvUtil:88"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:86"
        BranchSideFuncs:
        - "getJDKVersion(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.util.EnvUtil:83,1"
      Dst: "[java.lang.System].getProperty(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.util.EnvUtil:84,1"
      Dst: "[java.lang.String].isEmpty()"
    - Src: "ch.qos.logback.core.util.EnvUtil:87,1"
      Dst: "[ch.qos.logback.core.util.EnvUtil].getJDKVersion(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.rolling.helper.FileStoreUtil].areOnSameFileStore(java.io.File,java.io.File)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileStoreUtil"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 2
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.io.File"
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.RolloverFailure].<init>(java.lang.String,java.lang.Throwable)"
    - "[java.io.File].exists()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.io.File].toPath()"
    - "[java.nio.file.Files].getFileStore(java.nio.file.Path)"
    - "[java.lang.Object].equals(java.lang.Object)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File,java.io.File)"
    functionUses: 1
    ICount: 25
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.FileStoreUtil:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileStoreUtil:46"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileStoreUtil:45"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileStoreUtil:46"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileStoreUtil:53"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileStoreUtil:52"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileStoreUtil:43,1"
      Dst: "[java.io.File].exists()"
    - Src: "ch.qos.logback.core.rolling.helper.FileStoreUtil:44,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File)"
    - Src: "ch.qos.logback.core.rolling.helper.FileStoreUtil:44,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.FileStoreUtil:53,1"
      Dst: "[java.io.File].toPath()"
    - Src: "ch.qos.logback.core.rolling.helper.FileStoreUtil:56,1"
      Dst: "[java.nio.file.Files].getFileStore(java.nio.file.Path)"
    - Src: "ch.qos.logback.core.rolling.helper.FileStoreUtil:59,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.rolling.helper.FileStoreUtil:61,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File,java.io.File)"
    - Src: "ch.qos.logback.core.rolling.helper.FileStoreUtil:61,1"
      Dst: "[ch.qos.logback.core.rolling.RolloverFailure].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 96
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 7
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:97,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:97,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:97,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.RenameUtil].renameByCopying(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.RenameUtil"
    linkageType: null
    functionLinenumber: 112
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.FileUtil].<init>(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - "[ch.qos.logback.core.util.FileUtil].copy(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[java.io.File].<init>(java.lang.String)"
    - "[java.io.File].delete()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 14
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.RenameUtil:117"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.RenameUtil:121"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.RenameUtil:120"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:113,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:113,1"
      Dst: "[ch.qos.logback.core.util.FileUtil].<init>(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:114,1"
      Dst: "[ch.qos.logback.core.util.FileUtil].copy(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:116,1"
      Dst: "[java.io.File].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:117,1"
      Dst: "[java.io.File].delete()"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:118,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:118,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 0
    returnType: "ch.qos.logback.core.Context"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 35
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.FileUtil].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.util.FileUtil"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.FileUtil:27,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - Src: "ch.qos.logback.core.util.FileUtil:28,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 34
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:34,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 67
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:45"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:44"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:47"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:46,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.FileUtil].copy(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.FileUtil"
    linkageType: null
    functionLinenumber: 96
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.rolling.RolloverFailure].<init>(java.lang.String)"
    - "[java.io.FileInputStream].<init>(java.lang.String)"
    - "[java.io.BufferedInputStream].<init>(java.io.InputStream)"
    - "[java.io.FileOutputStream].<init>(java.lang.String)"
    - "[java.io.BufferedOutputStream].<init>(java.io.OutputStream)"
    - "[java.io.FilterInputStream].read(byte[])"
    - "[java.io.BufferedOutputStream].write(byte[],int,int)"
    - "[java.io.BufferedInputStream].close()"
    - "[java.io.FilterOutputStream].close()"
    - "[java.lang.NullPointerException].<init>(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    functionUses: 1
    ICount: 52
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.FileUtil:105"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.FileUtil:109"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.FileUtil:108"
        BranchSideFuncs:
        - "addError(java.lang.String,java.lang.Throwable)"
        - "<init>(java.lang.String)"
    - Branch String: "ch.qos.logback.core.util.FileUtil:118"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.FileUtil:125"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.util.FileUtil:124"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.FileUtil:125"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.FileUtil:133"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.util.FileUtil:132"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.FileUtil:118"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.FileUtil:125"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.util.FileUtil:124"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.FileUtil:125"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.FileUtil:132"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.util.FileUtil:131"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.FileUtil:100,1"
      Dst: "[java.io.FileInputStream].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.util.FileUtil:100,1"
      Dst: "[java.io.BufferedInputStream].<init>(java.io.InputStream)"
    - Src: "ch.qos.logback.core.util.FileUtil:101,1"
      Dst: "[java.io.FileOutputStream].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.util.FileUtil:101,1"
      Dst: "[java.io.BufferedOutputStream].<init>(java.io.OutputStream)"
    - Src: "ch.qos.logback.core.util.FileUtil:105,1"
      Dst: "[java.io.FilterInputStream].read(byte[])"
    - Src: "ch.qos.logback.core.util.FileUtil:106,1"
      Dst: "[java.io.BufferedOutputStream].write(byte[],int,int)"
    - Src: "ch.qos.logback.core.util.FileUtil:109,1"
      Dst: "[java.io.BufferedInputStream].close()"
    - Src: "ch.qos.logback.core.util.FileUtil:111,1"
      Dst: "[java.io.FilterOutputStream].close()"
    - Src: "ch.qos.logback.core.util.FileUtil:-1,1"
      Dst: "[java.lang.NullPointerException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.util.FileUtil:114,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.util.FileUtil:115,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.util.FileUtil:116,1"
      Dst: "[ch.qos.logback.core.rolling.RolloverFailure].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 18
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 74
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.Compressor].asyncCompress(java.lang.String,java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.Compressor"
    linkageType: null
    functionLinenumber: 225
    functionDepth: 1
    returnType: "java.util.concurrent.Future"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.Compressor$CompressionRunnable].<init>(ch.qos.logback.core.rolling.helper.Compressor,java.lang.String,java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.ContextBase].getExecutorService()"
    - "[ch.qos.logback.core.Context].getExecutorService()"
    - "[java.util.concurrent.ExecutorService].submit(java.lang.Runnable)"
    functionUses: 2
    ICount: 10
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:226,1"
      Dst: "[ch.qos.logback.core.rolling.helper.Compressor$CompressionRunnable].<init>(ch.qos.logback.core.rolling.helper.Compressor,java.lang.String,java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:228,1"
      Dst: "[ch.qos.logback.core.Context].getExecutorService()"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:229,1"
      Dst: "[java.util.concurrent.ExecutorService].submit(java.lang.Runnable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.Compressor$CompressionRunnable].<init>(ch.qos.logback.core.rolling.helper.Compressor,java.lang.String,java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.Compressor$CompressionRunnable"
    linkageType: null
    functionLinenumber: 237
    functionDepth: 0
    returnType: "void"
    argCount: 4
    argTypes:
    - "ch.qos.logback.core.rolling.helper.Compressor"
    - "java.lang.String"
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 11
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.Compressor$CompressionRunnable:238,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].renameRawAndAsyncCompress(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
    linkageType: null
    functionLinenumber: 192
    functionDepth: 5
    returnType: "java.util.concurrent.Future"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.RollingPolicyBase].getParentsRawFileProperty()"
    - "[ch.qos.logback.core.rolling.helper.RenameUtil].rename(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.rolling.helper.Compressor].asyncCompress(java.lang.String,java.lang.String,java.lang.String)"
    - "[java.lang.System].nanoTime()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,long)"
    functionUses: 1
    ICount: 11
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:193,1"
      Dst: "[ch.qos.logback.core.rolling.RollingPolicyBase].getParentsRawFileProperty()"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:194,1"
      Dst: "[java.lang.System].nanoTime()"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:194,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,long)"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:195,1"
      Dst: "[ch.qos.logback.core.rolling.helper.RenameUtil].rename(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:196,1"
      Dst: "[ch.qos.logback.core.rolling.helper.Compressor].asyncCompress(java.lang.String,java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].renameRawAndAsyncCompress(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
    linkageType: null
    functionLinenumber: 192
    functionDepth: 5
    returnType: "java.util.concurrent.Future"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.RollingPolicyBase].getParentsRawFileProperty()"
    - "[ch.qos.logback.core.rolling.helper.RenameUtil].rename(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.rolling.helper.Compressor].asyncCompress(java.lang.String,java.lang.String,java.lang.String)"
    - "[java.lang.System].nanoTime()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,long)"
    functionUses: 1
    ICount: 11
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:193,1"
      Dst: "[ch.qos.logback.core.rolling.RollingPolicyBase].getParentsRawFileProperty()"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:194,1"
      Dst: "[java.lang.System].nanoTime()"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:194,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,long)"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:195,1"
      Dst: "[ch.qos.logback.core.rolling.helper.RenameUtil].rename(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:196,1"
      Dst: "[ch.qos.logback.core.rolling.helper.Compressor].asyncCompress(java.lang.String,java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].getActiveFileName()"
    functionSourceFile: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
    linkageType: null
    functionLinenumber: 221
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.RollingPolicyBase].getParentsRawFileProperty()"
    - "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase].getCurrentPeriodsFileNameWithoutCompressionSuffix()"
    - "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP].getCurrentPeriodsFileNameWithoutCompressionSuffix()"
    - "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicy].getCurrentPeriodsFileNameWithoutCompressionSuffix()"
    functionUses: 3
    ICount: 7
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:223"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:226"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:225"
        BranchSideFuncs:
        - "getCurrentPeriodsFileNameWithoutCompressionSuffix()"
    Callsites:
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:222,1"
      Dst: "[ch.qos.logback.core.rolling.RollingPolicyBase].getParentsRawFileProperty()"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:226,1"
      Dst: "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicy].getCurrentPeriodsFileNameWithoutCompressionSuffix()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].isTriggeringEvent(java.io.File,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
    linkageType: null
    functionLinenumber: 237
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.io.File"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy].isTriggeringEvent(java.io.File,java.lang.Object)"
    - "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP].isTriggeringEvent(java.io.File,java.lang.Object)"
    - "[ch.qos.logback.core.rolling.TriggeringPolicy].isTriggeringEvent(java.io.File,java.lang.Object)"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:238,1"
      Dst: "[ch.qos.logback.core.rolling.TriggeringPolicy].isTriggeringEvent(java.io.File,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].getMaxHistory()"
    functionSourceFile: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].setMaxHistory(int)"
    functionSourceFile: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].isCleanHistoryOnStart()"
    functionSourceFile: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].setCleanHistoryOnStart(boolean)"
    functionSourceFile: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].toString()"
    functionSourceFile: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
    linkageType: null
    functionLinenumber: 275
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].hashCode()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    functionUses: 3
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:276,1"
      Dst: "[java.lang.Object].hashCode()"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:276,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].setTotalSizeCap(ch.qos.logback.core.util.FileSize)"
    functionSourceFile: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.util.FileSize"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.FileSize].toString()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:280,1"
      Dst: "[ch.qos.logback.core.util.FileSize].toString()"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:280,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:280,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.FileSize].toString()"
    functionSourceFile: "ch.qos.logback.core.util.FileSize"
    linkageType: null
    functionLinenumber: 85
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(long)"
    functionUses: 3
    ICount: 22
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.FileSize:88"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.FileSize:91"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.FileSize:90"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.FileSize:92"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.FileSize:96"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.FileSize:95"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.FileSize:97"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.FileSize:101"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.FileSize:100"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.FileSize:89,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.selector.servlet.LoggerContextFilter].<init>()"
    functionSourceFile: "ch.qos.logback.classic.selector.servlet.LoggerContextFilter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.selector.servlet.LoggerContextFilter:46,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.selector.servlet.LoggerContextFilter].destroy()"
    functionSourceFile: "ch.qos.logback.classic.selector.servlet.LoggerContextFilter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.selector.servlet.LoggerContextFilter].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,jakarta.servlet.FilterChain)"
    functionSourceFile: "ch.qos.logback.classic.selector.servlet.LoggerContextFilter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 12
    returnType: "void"
    argCount: 3
    argTypes:
    - "jakarta.servlet.ServletRequest"
    - "jakarta.servlet.ServletResponse"
    - "jakarta.servlet.FilterChain"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.LoggerFactory].getILoggerFactory()"
    - "[ch.qos.logback.classic.util.ContextSelectorStaticBinder].getSingleton()"
    - "[ch.qos.logback.classic.util.ContextSelectorStaticBinder].getContextSelector()"
    - "[ch.qos.logback.classic.selector.ContextJNDISelector].setLocalContext(ch.qos.logback.classic.LoggerContext)"
    - "[jakarta.servlet.FilterChain].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)"
    - "[ch.qos.logback.classic.selector.ContextJNDISelector].removeLocalContext()"
    functionUses: 0
    ICount: 22
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.selector.servlet.LoggerContextFilter:59"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.selector.servlet.LoggerContextFilter:65"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.selector.servlet.LoggerContextFilter:64"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.selector.servlet.LoggerContextFilter:67"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.selector.servlet.LoggerContextFilter:71"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.selector.servlet.LoggerContextFilter:70"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.selector.servlet.LoggerContextFilter:67"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.selector.servlet.LoggerContextFilter:70"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.selector.servlet.LoggerContextFilter:69"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.selector.servlet.LoggerContextFilter:55,1"
      Dst: "[org.slf4j.LoggerFactory].getILoggerFactory()"
    - Src: "ch.qos.logback.classic.selector.servlet.LoggerContextFilter:56,1"
      Dst: "[ch.qos.logback.classic.util.ContextSelectorStaticBinder].getSingleton()"
    - Src: "ch.qos.logback.classic.selector.servlet.LoggerContextFilter:56,1"
      Dst: "[ch.qos.logback.classic.util.ContextSelectorStaticBinder].getContextSelector()"
    - Src: "ch.qos.logback.classic.selector.servlet.LoggerContextFilter:61,1"
      Dst: "[ch.qos.logback.classic.selector.ContextJNDISelector].setLocalContext(ch.qos.logback.classic.LoggerContext)"
    - Src: "ch.qos.logback.classic.selector.servlet.LoggerContextFilter:65,1"
      Dst: "[jakarta.servlet.FilterChain].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)"
    - Src: "ch.qos.logback.classic.selector.servlet.LoggerContextFilter:68,1"
      Dst: "[ch.qos.logback.classic.selector.ContextJNDISelector].removeLocalContext()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 3
  - functionName: "[org.slf4j.LoggerFactory].getILoggerFactory()"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 471
    functionDepth: 11
    returnType: "org.slf4j.ILoggerFactory"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteServiceProvider].getLoggerFactory()"
    - "[ch.qos.logback.classic.spi.LogbackServiceProvider].getLoggerFactory()"
    - "[org.slf4j.helpers.NOP_FallbackServiceProvider].getLoggerFactory()"
    - "[org.slf4j.LoggerFactory].getProvider()"
    - "[org.slf4j.spi.SLF4JServiceProvider].getLoggerFactory()"
    functionUses: 1
    ICount: 3
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.LoggerFactory:472,1"
      Dst: "[org.slf4j.LoggerFactory].getProvider()"
    - Src: "org.slf4j.LoggerFactory:472,1"
      Dst: "[org.slf4j.spi.SLF4JServiceProvider].getLoggerFactory()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.LoggerFactory].getProvider()"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 481
    functionDepth: 10
    returnType: "org.slf4j.spi.SLF4JServiceProvider"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.LoggerFactory].performInitialization()"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 3
    ICount: 26
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.LoggerFactory:482"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:490"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.LoggerFactory:489"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.LoggerFactory:484"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:488"
        BranchSideFuncs:
        - "performInitialization()"
      - BranchSide: "org.slf4j.LoggerFactory:487"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.LoggerFactory:486,1"
      Dst: "[org.slf4j.LoggerFactory].performInitialization()"
    - Src: "org.slf4j.LoggerFactory:496,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 11
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.LoggerFactory].performInitialization()"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 182
    functionDepth: 9
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.LoggerFactory].bind()"
    - "[org.slf4j.LoggerFactory].versionSanityCheck()"
    functionUses: 1
    ICount: 5
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "org.slf4j.LoggerFactory:184"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:187"
        BranchSideFuncs:
        - "versionSanityCheck()"
      - BranchSide: "org.slf4j.LoggerFactory:186"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.LoggerFactory:183,1"
      Dst: "[org.slf4j.LoggerFactory].bind()"
    - Src: "org.slf4j.LoggerFactory:185,1"
      Dst: "[org.slf4j.LoggerFactory].versionSanityCheck()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.LoggerFactory].bind()"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 190
    functionDepth: 8
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.LoggerFactory].findServiceProviders()"
    - "[org.slf4j.LoggerFactory].reportMultipleBindingAmbiguity(java.util.List)"
    - "[ch.qos.logback.core.util.COWArrayList].isEmpty()"
    - "[ch.qos.logback.core.util.COWArrayList].get(int)"
    - "[ch.qos.logback.classic.spi.LogbackServiceProvider].initialize()"
    - "[org.slf4j.helpers.NOP_FallbackServiceProvider].initialize()"
    - "[org.slf4j.helpers.SubstituteServiceProvider].initialize()"
    - "[org.slf4j.LoggerFactory].reportActualBinding(java.util.List)"
    - "[org.slf4j.helpers.Reporter].warn(java.lang.String)"
    - "[org.slf4j.LoggerFactory].findPossibleStaticLoggerBinderPathSet()"
    - "[org.slf4j.LoggerFactory].reportIgnoredStaticLoggerBinders(java.util.Set)"
    - "[org.slf4j.LoggerFactory].postBindCleanUp()"
    - "[org.slf4j.LoggerFactory].failedBinding(java.lang.Throwable)"
    - "[java.util.List].isEmpty()"
    - "[java.util.List].get(int)"
    - "[org.slf4j.spi.SLF4JServiceProvider].initialize()"
    - "[java.lang.IllegalStateException].<init>(java.lang.String,java.lang.Throwable)"
    functionUses: 1
    ICount: 27
    EdgeCount: 15
    BranchProfiles:
    - Branch String: "org.slf4j.LoggerFactory:193"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:200"
        BranchSideFuncs:
        - "initialize()"
        - "get(int)"
        - "reportActualBinding(java.util.List)"
      - BranchSide: "org.slf4j.LoggerFactory:199"
        BranchSideFuncs:
        - "reportIgnoredStaticLoggerBinders(java.util.Set)"
        - "warn(java.lang.String)"
        - "findPossibleStaticLoggerBinderPathSet()"
    - Branch String: "org.slf4j.LoggerFactory:193"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:200"
        BranchSideFuncs:
        - "initialize()"
        - "get(int)"
        - "reportActualBinding(java.util.List)"
      - BranchSide: "org.slf4j.LoggerFactory:199"
        BranchSideFuncs:
        - "reportIgnoredStaticLoggerBinders(java.util.Set)"
        - "warn(java.lang.String)"
        - "findPossibleStaticLoggerBinderPathSet()"
    Callsites:
    - Src: "org.slf4j.LoggerFactory:191,1"
      Dst: "[org.slf4j.LoggerFactory].findServiceProviders()"
    - Src: "org.slf4j.LoggerFactory:192,1"
      Dst: "[org.slf4j.LoggerFactory].reportMultipleBindingAmbiguity(java.util.List)"
    - Src: "org.slf4j.LoggerFactory:193,1"
      Dst: "[java.util.List].isEmpty()"
    - Src: "org.slf4j.LoggerFactory:194,1"
      Dst: "[java.util.List].get(int)"
    - Src: "org.slf4j.LoggerFactory:196,1"
      Dst: "[org.slf4j.spi.SLF4JServiceProvider].initialize()"
    - Src: "org.slf4j.LoggerFactory:198,1"
      Dst: "[org.slf4j.LoggerFactory].reportActualBinding(java.util.List)"
    - Src: "org.slf4j.LoggerFactory:201,1"
      Dst: "[org.slf4j.helpers.Reporter].warn(java.lang.String)"
    - Src: "org.slf4j.LoggerFactory:205,1"
      Dst: "[org.slf4j.LoggerFactory].findPossibleStaticLoggerBinderPathSet()"
    - Src: "org.slf4j.LoggerFactory:206,1"
      Dst: "[org.slf4j.LoggerFactory].reportIgnoredStaticLoggerBinders(java.util.Set)"
    - Src: "org.slf4j.LoggerFactory:208,1"
      Dst: "[org.slf4j.LoggerFactory].postBindCleanUp()"
    - Src: "org.slf4j.LoggerFactory:210,1"
      Dst: "[org.slf4j.LoggerFactory].failedBinding(java.lang.Throwable)"
    - Src: "org.slf4j.LoggerFactory:211,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.LoggerFactory].findServiceProviders()"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 112
    functionDepth: 3
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.LoggerFactory].loadExplicitlySpecified(java.lang.ClassLoader)"
    - "[org.slf4j.LoggerFactory].getServiceLoader(java.lang.ClassLoader)"
    - "[org.slf4j.LoggerFactory].safelyInstantiate(java.util.List,java.util.Iterator)"
    - "[java.util.ArrayList].<init>()"
    - "[java.lang.Class].getClassLoader()"
    - "[java.util.List].add(java.lang.Object)"
    - "[java.util.ServiceLoader].iterator()"
    - "[java.util.Iterator].hasNext()"
    functionUses: 1
    ICount: 15
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "org.slf4j.LoggerFactory:120"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:126"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.LoggerFactory:125"
        BranchSideFuncs:
        - "getServiceLoader(java.lang.ClassLoader)"
    - Branch String: "org.slf4j.LoggerFactory:129"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:132"
        BranchSideFuncs:
        - "safelyInstantiate(java.util.List,java.util.Iterator)"
      - BranchSide: "org.slf4j.LoggerFactory:131"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.LoggerFactory:113,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "org.slf4j.LoggerFactory:117,1"
      Dst: "[java.lang.Class].getClassLoader()"
    - Src: "org.slf4j.LoggerFactory:119,1"
      Dst: "[org.slf4j.LoggerFactory].loadExplicitlySpecified(java.lang.ClassLoader)"
    - Src: "org.slf4j.LoggerFactory:121,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "org.slf4j.LoggerFactory:126,1"
      Dst: "[org.slf4j.LoggerFactory].getServiceLoader(java.lang.ClassLoader)"
    - Src: "org.slf4j.LoggerFactory:128,1"
      Dst: "[java.util.ServiceLoader].iterator()"
    - Src: "org.slf4j.LoggerFactory:129,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "org.slf4j.LoggerFactory:130,1"
      Dst: "[org.slf4j.LoggerFactory].safelyInstantiate(java.util.List,java.util.Iterator)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.LoggerFactory].loadExplicitlySpecified(java.lang.ClassLoader)"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 215
    functionDepth: 2
    returnType: "org.slf4j.spi.SLF4JServiceProvider"
    argCount: 1
    argTypes:
    - "java.lang.ClassLoader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.Reporter].info(java.lang.String)"
    - "[org.slf4j.helpers.Reporter].error(java.lang.String,java.lang.Throwable)"
    - "[java.lang.System].getProperty(java.lang.String)"
    - "[java.lang.String].isEmpty()"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.ClassLoader].loadClass(java.lang.String)"
    - "[java.lang.Class].getConstructor(java.lang.Class[])"
    - "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    functionUses: 1
    ICount: 30
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "org.slf4j.LoggerFactory:217"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:218"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.LoggerFactory:217"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.LoggerFactory:217"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:221"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.LoggerFactory:220"
        BranchSideFuncs:
        - "info(java.lang.String)"
    Callsites:
    - Src: "org.slf4j.LoggerFactory:216,1"
      Dst: "[java.lang.System].getProperty(java.lang.String)"
    - Src: "org.slf4j.LoggerFactory:217,1"
      Dst: "[java.lang.String].isEmpty()"
    - Src: "org.slf4j.LoggerFactory:221,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "org.slf4j.LoggerFactory:222,1"
      Dst: "[org.slf4j.helpers.Reporter].info(java.lang.String)"
    - Src: "org.slf4j.LoggerFactory:223,1"
      Dst: "[java.lang.ClassLoader].loadClass(java.lang.String)"
    - Src: "org.slf4j.LoggerFactory:224,1"
      Dst: "[java.lang.Class].getConstructor(java.lang.Class[])"
    - Src: "org.slf4j.LoggerFactory:225,1"
      Dst: "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    - Src: "org.slf4j.LoggerFactory:229,1"
      Dst: "[org.slf4j.helpers.Reporter].error(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.Reporter].info(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.Reporter"
    linkageType: null
    functionLinenumber: 127
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.Reporter].isEnabledFor(org.slf4j.helpers.Reporter$Level)"
    - "[org.slf4j.helpers.Reporter].getTarget()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.io.PrintStream].println(java.lang.String)"
    functionUses: 2
    ICount: 12
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.Reporter:128"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.Reporter:131"
        BranchSideFuncs:
        - "getTarget()"
      - BranchSide: "org.slf4j.helpers.Reporter:130"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.Reporter:128,1"
      Dst: "[org.slf4j.helpers.Reporter].isEnabledFor(org.slf4j.helpers.Reporter$Level)"
    - Src: "org.slf4j.helpers.Reporter:129,1"
      Dst: "[org.slf4j.helpers.Reporter].getTarget()"
    - Src: "org.slf4j.helpers.Reporter:129,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.slf4j.helpers.Reporter:129,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.slf4j.helpers.Reporter:129,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "org.slf4j.helpers.Reporter:129,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.helpers.Reporter].isEnabledFor(org.slf4j.helpers.Reporter$Level)"
    functionSourceFile: "org.slf4j.helpers.Reporter"
    linkageType: null
    functionLinenumber: 103
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "org.slf4j.helpers.Reporter$Level"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.Reporter:104"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.Reporter:103"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.helpers.Reporter].getTarget()"
    functionSourceFile: "org.slf4j.helpers.Reporter"
    linkageType: null
    functionLinenumber: 107
    functionDepth: 0
    returnType: "java.io.PrintStream"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].ordinal()"
    functionUses: 6
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.Reporter:108,1"
      Dst: "[java.lang.Enum].ordinal()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.Reporter].error(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "org.slf4j.helpers.Reporter"
    linkageType: null
    functionLinenumber: 161
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.Reporter].getTarget()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.io.PrintStream].println(java.lang.String)"
    - "[java.lang.Throwable].printStackTrace(java.io.PrintStream)"
    functionUses: 6
    ICount: 14
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.Reporter:162,1"
      Dst: "[org.slf4j.helpers.Reporter].getTarget()"
    - Src: "org.slf4j.helpers.Reporter:162,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.slf4j.helpers.Reporter:162,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.slf4j.helpers.Reporter:162,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "org.slf4j.helpers.Reporter:162,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    - Src: "org.slf4j.helpers.Reporter:164,1"
      Dst: "[java.lang.Throwable].printStackTrace(java.io.PrintStream)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.LoggerFactory].getServiceLoader(java.lang.ClassLoader)"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 136
    functionDepth: 2
    returnType: "java.util.ServiceLoader"
    argCount: 1
    argTypes:
    - "java.lang.ClassLoader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.LoggerFactory$lambda_getServiceLoader_0__1].bootstrap$(java.lang.ClassLoader)"
    - "[ch.qos.logback.core.util.Loader$2].run()"
    - "[org.slf4j.LoggerFactory$lambda_getServiceLoader_0__1].run()"
    - "[ch.qos.logback.core.util.Loader$1].run()"
    - "[java.lang.System].getSecurityManager()"
    - "[java.util.ServiceLoader].load(java.lang.Class,java.lang.ClassLoader)"
    - "[java.security.AccessController].doPrivileged(java.security.PrivilegedAction)"
    functionUses: 1
    ICount: 9
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "org.slf4j.LoggerFactory:138"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:141"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.LoggerFactory:140"
        BranchSideFuncs:
        - "run()"
        - "bootstrap$(java.lang.ClassLoader)"
    Callsites:
    - Src: "org.slf4j.LoggerFactory:137,1"
      Dst: "[java.lang.System].getSecurityManager()"
    - Src: "org.slf4j.LoggerFactory:139,1"
      Dst: "[java.util.ServiceLoader].load(java.lang.Class,java.lang.ClassLoader)"
    - Src: "org.slf4j.LoggerFactory:141,1"
      Dst: "[org.slf4j.LoggerFactory$lambda_getServiceLoader_0__1].bootstrap$(java.lang.ClassLoader)"
    - Src: "org.slf4j.LoggerFactory:142,1"
      Dst: "[java.security.AccessController].doPrivileged(java.security.PrivilegedAction)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.LoggerFactory$lambda_getServiceLoader_0__1].bootstrap$(java.lang.ClassLoader)"
    functionSourceFile: "org.slf4j.LoggerFactory$lambda_getServiceLoader_0__1"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.security.PrivilegedAction"
    argCount: 1
    argTypes:
    - "java.lang.ClassLoader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.LoggerFactory$lambda_getServiceLoader_0__1].<init>(java.lang.ClassLoader)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.LoggerFactory$lambda_getServiceLoader_0__1:-1,1"
      Dst: "[org.slf4j.LoggerFactory$lambda_getServiceLoader_0__1].<init>(java.lang.ClassLoader)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.LoggerFactory$lambda_getServiceLoader_0__1].<init>(java.lang.ClassLoader)"
    functionSourceFile: "org.slf4j.LoggerFactory$lambda_getServiceLoader_0__1"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.ClassLoader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.LoggerFactory$lambda_getServiceLoader_0__1:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.LoggerFactory].safelyInstantiate(java.util.List,java.util.Iterator)"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 148
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.util.List"
    - "java.util.Iterator"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[org.slf4j.helpers.Reporter].error(java.lang.String)"
    - "[java.util.Iterator].next()"
    - "[java.util.List].add(java.lang.Object)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.Throwable].getMessage()"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 16
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.LoggerFactory:149,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "org.slf4j.LoggerFactory:150,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "org.slf4j.LoggerFactory:152,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.slf4j.LoggerFactory:152,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.slf4j.LoggerFactory:152,1"
      Dst: "[java.lang.Throwable].getMessage()"
    - Src: "org.slf4j.LoggerFactory:152,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "org.slf4j.LoggerFactory:152,1"
      Dst: "[org.slf4j.helpers.Reporter].error(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.Reporter].error(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.Reporter"
    linkageType: null
    functionLinenumber: 178
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.Reporter].getTarget()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.io.PrintStream].println(java.lang.String)"
    functionUses: 5
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.Reporter:179,1"
      Dst: "[org.slf4j.helpers.Reporter].getTarget()"
    - Src: "org.slf4j.helpers.Reporter:179,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.slf4j.helpers.Reporter:179,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.slf4j.helpers.Reporter:179,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "org.slf4j.helpers.Reporter:179,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.LoggerFactory].reportMultipleBindingAmbiguity(java.util.List)"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 395
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.LoggerFactory].isAmbiguousProviderList(java.util.List)"
    - "[org.slf4j.helpers.Reporter].warn(java.lang.String)"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 19
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "org.slf4j.LoggerFactory:396"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:403"
        BranchSideFuncs:
        - "iterator()"
      - BranchSide: "org.slf4j.LoggerFactory:402"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.LoggerFactory:398"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:401"
        BranchSideFuncs:
        - "iterator()"
      - BranchSide: "org.slf4j.LoggerFactory:400"
        BranchSideFuncs:
        - "warn(java.lang.String)"
    Callsites:
    - Src: "org.slf4j.LoggerFactory:396,1"
      Dst: "[org.slf4j.LoggerFactory].isAmbiguousProviderList(java.util.List)"
    - Src: "org.slf4j.LoggerFactory:397,1"
      Dst: "[org.slf4j.helpers.Reporter].warn(java.lang.String)"
    - Src: "org.slf4j.LoggerFactory:398,1"
      Dst: "[java.util.List].iterator()"
    - Src: "org.slf4j.LoggerFactory:398,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "org.slf4j.LoggerFactory:398,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "org.slf4j.LoggerFactory:399,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.slf4j.LoggerFactory:399,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.slf4j.LoggerFactory:399,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "org.slf4j.LoggerFactory:399,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[org.slf4j.LoggerFactory].isAmbiguousProviderList(java.util.List)"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 386
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[java.util.List].size()"
    functionUses: 2
    ICount: 7
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.LoggerFactory:387"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:386"
        BranchSideFuncs:
        - "size()"
    Callsites:
    - Src: "org.slf4j.LoggerFactory:387,1"
      Dst: "[java.util.List].size()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.helpers.Reporter].warn(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.Reporter"
    linkageType: null
    functionLinenumber: 144
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.Reporter].isEnabledFor(org.slf4j.helpers.Reporter$Level)"
    - "[org.slf4j.helpers.Reporter].getTarget()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.io.PrintStream].println(java.lang.String)"
    functionUses: 22
    ICount: 12
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.Reporter:145"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.Reporter:148"
        BranchSideFuncs:
        - "getTarget()"
      - BranchSide: "org.slf4j.helpers.Reporter:147"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.Reporter:145,1"
      Dst: "[org.slf4j.helpers.Reporter].isEnabledFor(org.slf4j.helpers.Reporter$Level)"
    - Src: "org.slf4j.helpers.Reporter:146,1"
      Dst: "[org.slf4j.helpers.Reporter].getTarget()"
    - Src: "org.slf4j.helpers.Reporter:146,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.slf4j.helpers.Reporter:146,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.slf4j.helpers.Reporter:146,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "org.slf4j.helpers.Reporter:146,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.LoggerFactory].reportActualBinding(java.util.List)"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 406
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.LoggerFactory].isAmbiguousProviderList(java.util.List)"
    - "[ch.qos.logback.core.util.COWArrayList].isEmpty()"
    - "[ch.qos.logback.core.util.COWArrayList].get(int)"
    - "[org.slf4j.helpers.Reporter].info(java.lang.String)"
    - "[java.util.List].isEmpty()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.util.List].get(int)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 14
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "org.slf4j.LoggerFactory:407"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:410"
        BranchSideFuncs:
        - "info(java.lang.String)"
        - "get(int)"
      - BranchSide: "org.slf4j.LoggerFactory:409"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.LoggerFactory:407"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:410"
        BranchSideFuncs:
        - "info(java.lang.String)"
        - "get(int)"
      - BranchSide: "org.slf4j.LoggerFactory:409"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.LoggerFactory:407,1"
      Dst: "[java.util.List].isEmpty()"
    - Src: "org.slf4j.LoggerFactory:407,1"
      Dst: "[org.slf4j.LoggerFactory].isAmbiguousProviderList(java.util.List)"
    - Src: "org.slf4j.LoggerFactory:408,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.slf4j.LoggerFactory:408,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.slf4j.LoggerFactory:408,1"
      Dst: "[java.util.List].get(int)"
    - Src: "org.slf4j.LoggerFactory:408,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "org.slf4j.LoggerFactory:408,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "org.slf4j.LoggerFactory:408,1"
      Dst: "[org.slf4j.helpers.Reporter].info(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 3
  - functionName: "[org.slf4j.LoggerFactory].findPossibleStaticLoggerBinderPathSet()"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 258
    functionDepth: 2
    returnType: "java.util.Set"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.Reporter].error(java.lang.String,java.lang.Throwable)"
    - "[java.util.LinkedHashSet].<init>()"
    - "[java.lang.Class].getClassLoader()"
    - "[java.lang.ClassLoader].getSystemResources(java.lang.String)"
    - "[java.lang.ClassLoader].getResources(java.lang.String)"
    - "[java.util.Enumeration].hasMoreElements()"
    - "[java.util.Enumeration].nextElement()"
    - "[java.util.Set].add(java.lang.Object)"
    functionUses: 1
    ICount: 18
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.LoggerFactory:263"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:266"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.LoggerFactory:265"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.LoggerFactory:268"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:274"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.LoggerFactory:273"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.LoggerFactory:259,1"
      Dst: "[java.util.LinkedHashSet].<init>()"
    - Src: "org.slf4j.LoggerFactory:261,1"
      Dst: "[java.lang.Class].getClassLoader()"
    - Src: "org.slf4j.LoggerFactory:264,1"
      Dst: "[java.lang.ClassLoader].getSystemResources(java.lang.String)"
    - Src: "org.slf4j.LoggerFactory:266,1"
      Dst: "[java.lang.ClassLoader].getResources(java.lang.String)"
    - Src: "org.slf4j.LoggerFactory:268,1"
      Dst: "[java.util.Enumeration].hasMoreElements()"
    - Src: "org.slf4j.LoggerFactory:269,1"
      Dst: "[java.util.Enumeration].nextElement()"
    - Src: "org.slf4j.LoggerFactory:270,1"
      Dst: "[java.util.Set].add(java.lang.Object)"
    - Src: "org.slf4j.LoggerFactory:273,1"
      Dst: "[org.slf4j.helpers.Reporter].error(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 3
  - functionName: "[org.slf4j.LoggerFactory].reportIgnoredStaticLoggerBinders(java.util.Set)"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 238
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.Set"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.Reporter].warn(java.lang.String)"
    - "[java.util.Set].isEmpty()"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 20
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "org.slf4j.LoggerFactory:239"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:242"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.LoggerFactory:241"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.LoggerFactory:244"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:247"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.LoggerFactory:246"
        BranchSideFuncs:
        - "warn(java.lang.String)"
    Callsites:
    - Src: "org.slf4j.LoggerFactory:239,1"
      Dst: "[java.util.Set].isEmpty()"
    - Src: "org.slf4j.LoggerFactory:242,1"
      Dst: "[org.slf4j.helpers.Reporter].warn(java.lang.String)"
    - Src: "org.slf4j.LoggerFactory:244,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "org.slf4j.LoggerFactory:244,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "org.slf4j.LoggerFactory:244,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "org.slf4j.LoggerFactory:245,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.slf4j.LoggerFactory:245,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.slf4j.LoggerFactory:245,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "org.slf4j.LoggerFactory:245,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.LoggerFactory].postBindCleanUp()"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 278
    functionDepth: 7
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.LoggerFactory].fixSubstituteLoggers()"
    - "[org.slf4j.LoggerFactory].replayEvents()"
    - "[org.slf4j.helpers.SubstituteLoggerFactory].clear()"
    - "[org.slf4j.helpers.SubstituteServiceProvider].getSubstituteLoggerFactory()"
    functionUses: 1
    ICount: 6
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.LoggerFactory:279,1"
      Dst: "[org.slf4j.LoggerFactory].fixSubstituteLoggers()"
    - Src: "org.slf4j.LoggerFactory:280,1"
      Dst: "[org.slf4j.LoggerFactory].replayEvents()"
    - Src: "org.slf4j.LoggerFactory:282,1"
      Dst: "[org.slf4j.helpers.SubstituteServiceProvider].getSubstituteLoggerFactory()"
    - Src: "org.slf4j.LoggerFactory:282,1"
      Dst: "[org.slf4j.helpers.SubstituteLoggerFactory].clear()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.LoggerFactory].fixSubstituteLoggers()"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 285
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteServiceProvider].getSubstituteLoggerFactory()"
    - "[org.slf4j.helpers.SubstituteLoggerFactory].postInitialization()"
    - "[org.slf4j.helpers.SubstituteLoggerFactory].getLoggers()"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[org.slf4j.LoggerFactory].getLogger(java.lang.String)"
    - "[org.slf4j.helpers.SubstituteLogger].getName()"
    - "[org.slf4j.helpers.SubstituteLogger].setDelegate(org.slf4j.Logger)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    functionUses: 1
    ICount: 23
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "org.slf4j.LoggerFactory:288"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:292"
        BranchSideFuncs:
        - "iterator()"
        - "getName()"
        - "setDelegate(org.slf4j.Logger)"
        - "getLoggers()"
        - "getSubstituteLoggerFactory()"
        - "getLogger(java.lang.String)"
      - BranchSide: "org.slf4j.LoggerFactory:291"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.LoggerFactory:287,1"
      Dst: "[org.slf4j.helpers.SubstituteServiceProvider].getSubstituteLoggerFactory()"
    - Src: "org.slf4j.LoggerFactory:287,1"
      Dst: "[org.slf4j.helpers.SubstituteLoggerFactory].postInitialization()"
    - Src: "org.slf4j.LoggerFactory:288,1"
      Dst: "[org.slf4j.helpers.SubstituteLoggerFactory].getLoggers()"
    - Src: "org.slf4j.LoggerFactory:288,1"
      Dst: "[java.util.List].iterator()"
    - Src: "org.slf4j.LoggerFactory:288,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "org.slf4j.LoggerFactory:288,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "org.slf4j.LoggerFactory:289,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getName()"
    - Src: "org.slf4j.LoggerFactory:289,1"
      Dst: "[org.slf4j.LoggerFactory].getLogger(java.lang.String)"
    - Src: "org.slf4j.LoggerFactory:290,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].setDelegate(org.slf4j.Logger)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteServiceProvider].getSubstituteLoggerFactory()"
    functionSourceFile: "org.slf4j.helpers.SubstituteServiceProvider"
    linkageType: null
    functionLinenumber: 18
    functionDepth: 0
    returnType: "org.slf4j.helpers.SubstituteLoggerFactory"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLoggerFactory].postInitialization()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLoggerFactory"
    linkageType: null
    functionLinenumber: 72
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLoggerFactory].getLoggers()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLoggerFactory"
    linkageType: null
    functionLinenumber: 64
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map].values()"
    - "[java.util.ArrayList].<init>(java.util.Collection)"
    functionUses: 1
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLoggerFactory:65,1"
      Dst: "[java.util.Map].values()"
    - Src: "org.slf4j.helpers.SubstituteLoggerFactory:65,1"
      Dst: "[java.util.ArrayList].<init>(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].getName()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 67
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.LoggerFactory].getLogger(java.lang.String)"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 420
    functionDepth: 1
    returnType: "org.slf4j.Logger"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.LoggerFactory].getILoggerFactory()"
    - "[ch.qos.logback.classic.LoggerContext].getLogger(java.lang.String)"
    - "[org.slf4j.helpers.SubstituteLoggerFactory].getLogger(java.lang.String)"
    - "[org.slf4j.helpers.NOPLoggerFactory].getLogger(java.lang.String)"
    - "[org.slf4j.ILoggerFactory].getLogger(java.lang.String)"
    functionUses: 2
    ICount: 4
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.LoggerFactory:421,1"
      Dst: "[org.slf4j.LoggerFactory].getILoggerFactory()"
    - Src: "org.slf4j.LoggerFactory:422,1"
      Dst: "[org.slf4j.ILoggerFactory].getLogger(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].setDelegate(org.slf4j.Logger)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 458
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.slf4j.Logger"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.LoggerFactory].replayEvents()"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 301
    functionDepth: 6
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLoggerFactory].getEventQueue()"
    - "[org.slf4j.helpers.SubstituteServiceProvider].getSubstituteLoggerFactory()"
    - "[org.slf4j.LoggerFactory].replaySingleEvent(org.slf4j.event.SubstituteLoggingEvent)"
    - "[org.slf4j.LoggerFactory].emitReplayOrSubstituionWarning(org.slf4j.event.SubstituteLoggingEvent,int)"
    - "[java.util.concurrent.LinkedBlockingQueue].size()"
    - "[java.util.ArrayList].<init>(int)"
    - "[java.util.concurrent.LinkedBlockingQueue].drainTo(java.util.Collection,int)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.List].clear()"
    functionUses: 1
    ICount: 24
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "org.slf4j.LoggerFactory:309"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:311"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.LoggerFactory:310"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.LoggerFactory:311"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:316"
        BranchSideFuncs:
        - "replaySingleEvent(org.slf4j.event.SubstituteLoggingEvent)"
      - BranchSide: "org.slf4j.LoggerFactory:315"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.LoggerFactory:313"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:315"
        BranchSideFuncs:
        - "emitReplayOrSubstituionWarning(org.slf4j.event.SubstituteLoggingEvent,int)"
      - BranchSide: "org.slf4j.LoggerFactory:314"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.LoggerFactory:302,1"
      Dst: "[org.slf4j.helpers.SubstituteServiceProvider].getSubstituteLoggerFactory()"
    - Src: "org.slf4j.LoggerFactory:302,1"
      Dst: "[org.slf4j.helpers.SubstituteLoggerFactory].getEventQueue()"
    - Src: "org.slf4j.LoggerFactory:303,1"
      Dst: "[java.util.concurrent.LinkedBlockingQueue].size()"
    - Src: "org.slf4j.LoggerFactory:306,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    - Src: "org.slf4j.LoggerFactory:308,1"
      Dst: "[java.util.concurrent.LinkedBlockingQueue].drainTo(java.util.Collection,int)"
    - Src: "org.slf4j.LoggerFactory:311,1"
      Dst: "[java.util.List].iterator()"
    - Src: "org.slf4j.LoggerFactory:311,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "org.slf4j.LoggerFactory:311,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "org.slf4j.LoggerFactory:312,1"
      Dst: "[org.slf4j.LoggerFactory].replaySingleEvent(org.slf4j.event.SubstituteLoggingEvent)"
    - Src: "org.slf4j.LoggerFactory:314,1"
      Dst: "[org.slf4j.LoggerFactory].emitReplayOrSubstituionWarning(org.slf4j.event.SubstituteLoggingEvent,int)"
    - Src: "org.slf4j.LoggerFactory:316,1"
      Dst: "[java.util.List].clear()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 4
  - functionName: "[org.slf4j.helpers.SubstituteLoggerFactory].getEventQueue()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLoggerFactory"
    linkageType: null
    functionLinenumber: 68
    functionDepth: 0
    returnType: "java.util.concurrent.LinkedBlockingQueue"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.LoggerFactory].replaySingleEvent(org.slf4j.event.SubstituteLoggingEvent)"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 330
    functionDepth: 5
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.slf4j.event.SubstituteLoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.event.SubstituteLoggingEvent].getLogger()"
    - "[org.slf4j.helpers.SubstituteLogger].getName()"
    - "[org.slf4j.helpers.SubstituteLogger].isDelegateNull()"
    - "[org.slf4j.helpers.SubstituteLogger].isDelegateNOP()"
    - "[org.slf4j.helpers.SubstituteLogger].isDelegateEventAware()"
    - "[org.slf4j.event.SubstituteLoggingEvent].getLevel()"
    - "[org.slf4j.helpers.SubstituteLogger].isEnabledForLevel(org.slf4j.event.Level)"
    - "[org.slf4j.helpers.SubstituteLogger].log(org.slf4j.event.LoggingEvent)"
    - "[org.slf4j.helpers.Reporter].warn(java.lang.String)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 22
    EdgeCount: 9
    BranchProfiles:
    - Branch String: "org.slf4j.LoggerFactory:331"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:334"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.LoggerFactory:333"
        BranchSideFuncs:
        - "getName()"
        - "isDelegateNull()"
        - "getLogger()"
    - Branch String: "org.slf4j.LoggerFactory:336"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:340"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.LoggerFactory:339"
        BranchSideFuncs:
        - "isDelegateNOP()"
    - Branch String: "org.slf4j.LoggerFactory:340"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:341"
        BranchSideFuncs:
        - "isDelegateEventAware()"
    - Branch String: "org.slf4j.LoggerFactory:342"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:347"
        BranchSideFuncs:
        - "getLevel()"
        - "isEnabledForLevel(org.slf4j.event.Level)"
      - BranchSide: "org.slf4j.LoggerFactory:346"
        BranchSideFuncs:
        - "warn(java.lang.String)"
    - Branch String: "org.slf4j.LoggerFactory:343"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:349"
        BranchSideFuncs:
        - "log(org.slf4j.event.LoggingEvent)"
      - BranchSide: "org.slf4j.LoggerFactory:348"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.LoggerFactory:334,1"
      Dst: "[org.slf4j.event.SubstituteLoggingEvent].getLogger()"
    - Src: "org.slf4j.LoggerFactory:335,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getName()"
    - Src: "org.slf4j.LoggerFactory:336,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].isDelegateNull()"
    - Src: "org.slf4j.LoggerFactory:337,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - Src: "org.slf4j.LoggerFactory:340,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].isDelegateNOP()"
    - Src: "org.slf4j.LoggerFactory:342,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].isDelegateEventAware()"
    - Src: "org.slf4j.LoggerFactory:343,1"
      Dst: "[org.slf4j.event.SubstituteLoggingEvent].getLevel()"
    - Src: "org.slf4j.LoggerFactory:343,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].isEnabledForLevel(org.slf4j.event.Level)"
    - Src: "org.slf4j.LoggerFactory:344,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].log(org.slf4j.event.LoggingEvent)"
    - Src: "org.slf4j.LoggerFactory:347,1"
      Dst: "[org.slf4j.helpers.Reporter].warn(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 11
    CyclomaticComplexity: 4
  - functionName: "[org.slf4j.event.SubstituteLoggingEvent].getLogger()"
    functionSourceFile: "org.slf4j.event.SubstituteLoggingEvent"
    linkageType: null
    functionLinenumber: 55
    functionDepth: 0
    returnType: "org.slf4j.helpers.SubstituteLogger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].isDelegateNull()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 486
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:487"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:486"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.helpers.SubstituteLogger].isDelegateNOP()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 490
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].isDelegateEventAware()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 462
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Boolean].booleanValue()"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getMethod(java.lang.String,java.lang.Class[])"
    functionUses: 3
    ICount: 21
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:463"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:467"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:466"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:464,1"
      Dst: "[java.lang.Boolean].booleanValue()"
    - Src: "org.slf4j.helpers.SubstituteLogger:467,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "org.slf4j.helpers.SubstituteLogger:467,1"
      Dst: "[java.lang.Class].getMethod(java.lang.String,java.lang.Class[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.SubstituteLoggingEvent].getLevel()"
    functionSourceFile: "org.slf4j.event.SubstituteLoggingEvent"
    linkageType: null
    functionLinenumber: 24
    functionDepth: 0
    returnType: "org.slf4j.event.Level"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].isEnabledForLevel(org.slf4j.event.Level)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 82
    functionDepth: 4
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "org.slf4j.event.Level"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.helpers.SubstituteLogger].isEnabledForLevel(org.slf4j.event.Level)"
    - "[org.slf4j.Logger].isEnabledForLevel(org.slf4j.event.Level)"
    functionUses: 2
    ICount: 5
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:83,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:83,1"
      Dst: "[org.slf4j.Logger].isEnabledForLevel(org.slf4j.event.Level)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 447
    functionDepth: 2
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.event.EventRecordingLogger].<init>(org.slf4j.helpers.SubstituteLogger,java.util.Queue)"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:448"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:451"
        BranchSideFuncs:
        - "<init>(org.slf4j.helpers.SubstituteLogger,java.util.Queue)"
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:450"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:449,1"
      Dst: "[org.slf4j.event.EventRecordingLogger].<init>(org.slf4j.helpers.SubstituteLogger,java.util.Queue)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.event.EventRecordingLogger].<init>(org.slf4j.helpers.SubstituteLogger,java.util.Queue)"
    functionSourceFile: "org.slf4j.event.EventRecordingLogger"
    linkageType: null
    functionLinenumber: 29
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "org.slf4j.helpers.SubstituteLogger"
    - "java.util.Queue"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.LegacyAbstractLogger].<init>()"
    - "[org.slf4j.helpers.SubstituteLogger].getName()"
    functionUses: 1
    ICount: 9
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.event.EventRecordingLogger:30,1"
      Dst: "[org.slf4j.helpers.LegacyAbstractLogger].<init>()"
    - Src: "org.slf4j.event.EventRecordingLogger:32,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getName()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].log(org.slf4j.event.LoggingEvent)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 475
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.slf4j.event.LoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].isDelegateEventAware()"
    - "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    functionUses: 1
    ICount: 16
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:476"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:483"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:476,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].isDelegateEventAware()"
    - Src: "org.slf4j.helpers.SubstituteLogger:478,1"
      Dst: "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.LoggerFactory].emitReplayOrSubstituionWarning(org.slf4j.event.SubstituteLoggingEvent,int)"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 320
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "org.slf4j.event.SubstituteLoggingEvent"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.event.SubstituteLoggingEvent].getLogger()"
    - "[org.slf4j.helpers.SubstituteLogger].isDelegateEventAware()"
    - "[org.slf4j.LoggerFactory].emitReplayWarning(int)"
    - "[org.slf4j.helpers.SubstituteLogger].isDelegateNOP()"
    - "[org.slf4j.LoggerFactory].emitSubstitutionWarning()"
    functionUses: 1
    ICount: 13
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "org.slf4j.LoggerFactory:321"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:323"
        BranchSideFuncs:
        - "emitReplayWarning(int)"
      - BranchSide: "org.slf4j.LoggerFactory:322"
        BranchSideFuncs:
        - "isDelegateNOP()"
        - "getLogger()"
    - Branch String: "org.slf4j.LoggerFactory:323"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:325"
        BranchSideFuncs:
        - "emitSubstitutionWarning()"
    Callsites:
    - Src: "org.slf4j.LoggerFactory:321,1"
      Dst: "[org.slf4j.event.SubstituteLoggingEvent].getLogger()"
    - Src: "org.slf4j.LoggerFactory:321,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].isDelegateEventAware()"
    - Src: "org.slf4j.LoggerFactory:322,1"
      Dst: "[org.slf4j.LoggerFactory].emitReplayWarning(int)"
    - Src: "org.slf4j.LoggerFactory:323,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].isDelegateNOP()"
    - Src: "org.slf4j.LoggerFactory:326,1"
      Dst: "[org.slf4j.LoggerFactory].emitSubstitutionWarning()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[org.slf4j.LoggerFactory].emitReplayWarning(int)"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 359
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.Reporter].warn(java.lang.String)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 11
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.LoggerFactory:360,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.slf4j.LoggerFactory:360,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.slf4j.LoggerFactory:360,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "org.slf4j.LoggerFactory:360,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "org.slf4j.LoggerFactory:360,1"
      Dst: "[org.slf4j.helpers.Reporter].warn(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.LoggerFactory].emitSubstitutionWarning()"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 351
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.Reporter].warn(java.lang.String)"
    functionUses: 1
    ICount: 6
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.LoggerFactory:352,1"
      Dst: "[org.slf4j.helpers.Reporter].warn(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLoggerFactory].clear()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLoggerFactory"
    linkageType: null
    functionLinenumber: 76
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.turbo.LRUMessageCache].clear()"
    - "[java.util.Map].clear()"
    - "[java.util.concurrent.LinkedBlockingQueue].clear()"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLoggerFactory:77,1"
      Dst: "[java.util.Map].clear()"
    - Src: "org.slf4j.helpers.SubstituteLoggerFactory:78,1"
      Dst: "[java.util.concurrent.LinkedBlockingQueue].clear()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.LoggerFactory].failedBinding(java.lang.Throwable)"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 296
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.Reporter].error(java.lang.String,java.lang.Throwable)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.LoggerFactory:298,1"
      Dst: "[org.slf4j.helpers.Reporter].error(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.LoggerFactory].versionSanityCheck()"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 366
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LogbackServiceProvider].getRequestedApiVersion()"
    - "[org.slf4j.helpers.SubstituteServiceProvider].getRequestedApiVersion()"
    - "[org.slf4j.helpers.NOP_FallbackServiceProvider].getRequestedApiVersion()"
    - "[org.slf4j.helpers.Reporter].warn(java.lang.String)"
    - "[org.slf4j.helpers.Reporter].error(java.lang.String,java.lang.Throwable)"
    - "[org.slf4j.spi.SLF4JServiceProvider].getRequestedApiVersion()"
    - "[java.lang.String].startsWith(java.lang.String)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.util.Arrays].asList(java.lang.Object[])"
    - "[java.lang.Object].toString()"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 30
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "org.slf4j.LoggerFactory:370"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:375"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.LoggerFactory:374"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.LoggerFactory:371"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:367"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.LoggerFactory:366"
        BranchSideFuncs:
        - "getRequestedApiVersion()"
    - Branch String: "org.slf4j.LoggerFactory:375"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:383"
        BranchSideFuncs:
        - "warn(java.lang.String)"
      - BranchSide: "org.slf4j.LoggerFactory:382"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.LoggerFactory:367,1"
      Dst: "[org.slf4j.spi.SLF4JServiceProvider].getRequestedApiVersion()"
    - Src: "org.slf4j.LoggerFactory:371,1"
      Dst: "[java.lang.String].startsWith(java.lang.String)"
    - Src: "org.slf4j.LoggerFactory:376,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.slf4j.LoggerFactory:376,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.slf4j.LoggerFactory:377,1"
      Dst: "[java.util.Arrays].asList(java.lang.Object[])"
    - Src: "org.slf4j.LoggerFactory:377,1"
      Dst: "[java.lang.Object].toString()"
    - Src: "org.slf4j.LoggerFactory:377,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "org.slf4j.LoggerFactory:376,1"
      Dst: "[org.slf4j.helpers.Reporter].warn(java.lang.String)"
    - Src: "org.slf4j.LoggerFactory:382,1"
      Dst: "[org.slf4j.helpers.Reporter].error(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.classic.util.ContextSelectorStaticBinder].getSingleton()"
    functionSourceFile: "ch.qos.logback.classic.util.ContextSelectorStaticBinder"
    linkageType: null
    functionLinenumber: 40
    functionDepth: 0
    returnType: "ch.qos.logback.classic.util.ContextSelectorStaticBinder"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.ContextSelectorStaticBinder].getContextSelector()"
    functionSourceFile: "ch.qos.logback.classic.util.ContextSelectorStaticBinder"
    linkageType: null
    functionLinenumber: 96
    functionDepth: 0
    returnType: "ch.qos.logback.classic.selector.ContextSelector"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.selector.ContextJNDISelector].setLocalContext(ch.qos.logback.classic.LoggerContext)"
    functionSourceFile: "ch.qos.logback.classic.selector.ContextJNDISelector"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.LoggerContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ThreadLocal].set(java.lang.Object)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:198,1"
      Dst: "[java.lang.ThreadLocal].set(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.selector.ContextJNDISelector].removeLocalContext()"
    functionSourceFile: "ch.qos.logback.classic.selector.ContextJNDISelector"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ThreadLocal].remove()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:202,1"
      Dst: "[java.lang.ThreadLocal].remove()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.selector.servlet.LoggerContextFilter].init(jakarta.servlet.FilterConfig)"
    functionSourceFile: "ch.qos.logback.classic.selector.servlet.LoggerContextFilter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "jakarta.servlet.FilterConfig"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase].<init>()"
    functionUses: 7
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:43,1"
      Dst: "[ch.qos.logback.core.joran.JoranConfiguratorBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator].addElementSelectorAndActionAssociations(ch.qos.logback.core.joran.spi.RuleStore)"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator"
    linkageType: null
    functionLinenumber: 47
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.joran.spi.RuleStore"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase].addElementSelectorAndActionAssociations(ch.qos.logback.core.joran.spi.RuleStore)"
    - "[ch.qos.logback.core.joran.spi.ElementSelector].<init>(java.lang.String)"
    - "[ch.qos.logback.core.joran.spi.SimpleRuleStore].addRule(ch.qos.logback.core.joran.spi.ElementSelector,java.util.function.Supplier)"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_0__20].bootstrap$()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_1__21].bootstrap$()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_2__22].bootstrap$()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_3__23].bootstrap$()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_4__24].bootstrap$()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_5__25].bootstrap$()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_6__26].bootstrap$()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_7__27].bootstrap$()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_8__28].bootstrap$()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_9__29].bootstrap$()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_10__30].bootstrap$()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_11__31].bootstrap$()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_12__32].bootstrap$()"
    - "[ch.qos.logback.core.joran.spi.RuleStore].addRule(ch.qos.logback.core.joran.spi.ElementSelector,java.util.function.Supplier)"
    functionUses: 1
    ICount: 56
    EdgeCount: 40
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:48,1"
      Dst: "[ch.qos.logback.core.joran.JoranConfiguratorBase].addElementSelectorAndActionAssociations(ch.qos.logback.core.joran.spi.RuleStore)"
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:50,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementSelector].<init>(java.lang.String)"
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:50,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_0__20].bootstrap$()"
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:50,1"
      Dst: "[ch.qos.logback.core.joran.spi.RuleStore].addRule(ch.qos.logback.core.joran.spi.ElementSelector,java.util.function.Supplier)"
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:52,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_1__21].bootstrap$()"
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:53,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_2__22].bootstrap$()"
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:54,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_3__23].bootstrap$()"
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:56,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_4__24].bootstrap$()"
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:57,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_5__25].bootstrap$()"
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:59,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_6__26].bootstrap$()"
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:60,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_7__27].bootstrap$()"
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:61,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_8__28].bootstrap$()"
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:62,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_9__29].bootstrap$()"
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:64,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_10__30].bootstrap$()"
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:66,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_11__31].bootstrap$()"
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:68,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_12__32].bootstrap$()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ElementSelector].<init>(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementSelector"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ElementPath].<init>(java.lang.String)"
    functionUses: 35
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementSelector:47,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_0__20].bootstrap$()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_0__20"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_0__20].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_0__20:-1,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_0__20].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_1__21].bootstrap$()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_1__21"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_1__21].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_1__21:-1,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_1__21].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_2__22].bootstrap$()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_2__22"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_2__22].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_2__22:-1,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_2__22].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_2__22].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_2__22"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_2__22:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_3__23].bootstrap$()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_3__23"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_3__23].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_3__23:-1,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_3__23].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_3__23].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_3__23"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_3__23:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_4__24].bootstrap$()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_4__24"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_4__24].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_4__24:-1,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_4__24].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_5__25].bootstrap$()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_5__25"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_5__25].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_5__25:-1,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_5__25].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_6__26].bootstrap$()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_6__26"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_6__26].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_6__26:-1,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_6__26].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_6__26].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_6__26"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_6__26:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_7__27].bootstrap$()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_7__27"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_7__27].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_7__27:-1,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_7__27].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_8__28].bootstrap$()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_8__28"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_8__28].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_8__28:-1,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_8__28].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_8__28].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_8__28"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_8__28:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_9__29].bootstrap$()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_9__29"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_9__29].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_9__29:-1,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_9__29].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_9__29].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_9__29"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_9__29:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_10__30].bootstrap$()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_10__30"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_10__30].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_10__30:-1,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_10__30].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_11__31].bootstrap$()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_11__31"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_11__31].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_11__31:-1,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_11__31].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_12__32].bootstrap$()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_12__32"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_12__32].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_12__32:-1,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_12__32].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_12__32].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_12__32"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_12__32:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator].sanityCheck(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator"
    linkageType: null
    functionLinenumber: 74
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase].sanityCheck(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.joran.sanity.IfNestedWithinSecondPhaseElementSC].<init>()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase].performCheck(ch.qos.logback.core.joran.sanity.SanityChecker,ch.qos.logback.core.model.Model)"
    functionUses: 1
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:75,1"
      Dst: "[ch.qos.logback.core.joran.JoranConfiguratorBase].sanityCheck(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:76,1"
      Dst: "[ch.qos.logback.classic.joran.sanity.IfNestedWithinSecondPhaseElementSC].<init>()"
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:76,1"
      Dst: "[ch.qos.logback.core.joran.JoranConfiguratorBase].performCheck(ch.qos.logback.core.joran.sanity.SanityChecker,ch.qos.logback.core.model.Model)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.sanity.IfNestedWithinSecondPhaseElementSC].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.sanity.IfNestedWithinSecondPhaseElementSC"
    linkageType: null
    functionLinenumber: 16
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.sanity.IfNestedWithinSecondPhaseElementSC:17,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 34
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:34,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator].addDefaultNestedComponentRegistryRules(ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry)"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator"
    linkageType: null
    functionLinenumber: 80
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.model.processor.LogbackClassicDefaultNestedComponentRules].addDefaultNestedComponentRegistryRules(ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:81,1"
      Dst: "[ch.qos.logback.classic.model.processor.LogbackClassicDefaultNestedComponentRules].addDefaultNestedComponentRegistryRules(ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.LogbackClassicDefaultNestedComponentRules].addDefaultNestedComponentRegistryRules(ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry)"
    functionSourceFile: "ch.qos.logback.classic.model.processor.LogbackClassicDefaultNestedComponentRules"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry].add(java.lang.Class,java.lang.String,java.lang.Class)"
    - "[ch.qos.logback.core.net.ssl.SSLNestedComponentRegistryRules].addDefaultNestedComponentRegistryRules(ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry)"
    functionUses: 2
    ICount: 8
    EdgeCount: 6
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.LogbackClassicDefaultNestedComponentRules:47,1"
      Dst: "[ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry].add(java.lang.Class,java.lang.String,java.lang.Class)"
    - Src: "ch.qos.logback.classic.model.processor.LogbackClassicDefaultNestedComponentRules:55,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLNestedComponentRegistryRules].addDefaultNestedComponentRegistryRules(ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry].add(java.lang.Class,java.lang.String,java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry"
    linkageType: null
    functionLinenumber: 36
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Class"
    - "java.lang.String"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble].<init>(java.lang.Class,java.lang.String)"
    - "[java.lang.String].toLowerCase()"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 12
    ICount: 12
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry:37,1"
      Dst: "[java.lang.String].toLowerCase()"
    - Src: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry:37,1"
      Dst: "[ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble].<init>(java.lang.Class,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry:38,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLNestedComponentRegistryRules].addDefaultNestedComponentRegistryRules(ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLNestedComponentRegistryRules"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry].add(java.lang.Class,java.lang.String,java.lang.Class)"
    functionUses: 1
    ICount: 9
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLNestedComponentRegistryRules:27,1"
      Dst: "[ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry].add(java.lang.Class,java.lang.String,java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator].addModelHandlerAssociations(ch.qos.logback.core.model.processor.DefaultProcessor)"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator"
    linkageType: null
    functionLinenumber: 85
    functionDepth: 5
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.processor.DefaultProcessor"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker].<init>(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$makeInstance2__3].bootstrap$()"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker].setConfigurationModelHandlerFactoryMethod(ch.qos.logback.core.model.ModelHandlerFactoryMethod)"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker].link(ch.qos.logback.core.model.processor.DefaultProcessor)"
    functionUses: 1
    ICount: 9
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:86,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker].<init>(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:87,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator$makeInstance2__3].bootstrap$()"
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:87,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker].setConfigurationModelHandlerFactoryMethod(ch.qos.logback.core.model.ModelHandlerFactoryMethod)"
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:88,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker].link(ch.qos.logback.core.model.processor.DefaultProcessor)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker"
    linkageType: null
    functionLinenumber: 53
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:54,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase"
    linkageType: null
    functionLinenumber: 63
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase:64,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$makeInstance2__3].bootstrap$()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$makeInstance2__3"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator$makeInstance2__3].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$makeInstance2__3:-1,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator$makeInstance2__3].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker].setConfigurationModelHandlerFactoryMethod(ch.qos.logback.core.model.ModelHandlerFactoryMethod)"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker"
    linkageType: null
    functionLinenumber: 105
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker].link(ch.qos.logback.core.model.processor.DefaultProcessor)"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker"
    linkageType: null
    functionLinenumber: 60
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.processor.DefaultProcessor"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase].link(ch.qos.logback.core.model.processor.DefaultProcessor)"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].addHandler(java.lang.Class,ch.qos.logback.core.model.ModelHandlerFactoryMethod)"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker].getConfigurationModelHandlerFactoryMethod()"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__56].bootstrap$()"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__57].bootstrap$()"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__58].bootstrap$()"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__59].bootstrap$()"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__60].bootstrap$()"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__61].bootstrap$()"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__62].bootstrap$()"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__63].bootstrap$()"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].addAnalyser(java.lang.Class,java.util.function.Supplier)"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_0__64].bootstrap$(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_1__65].bootstrap$(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_2__66].bootstrap$(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_3__67].bootstrap$(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase].sealModelFilters(ch.qos.logback.core.model.processor.DefaultProcessor)"
    functionUses: 2
    ICount: 31
    EdgeCount: 28
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:61,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase].link(ch.qos.logback.core.model.processor.DefaultProcessor)"
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:62,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker].getConfigurationModelHandlerFactoryMethod()"
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:62,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].addHandler(java.lang.Class,ch.qos.logback.core.model.ModelHandlerFactoryMethod)"
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:63,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__56].bootstrap$()"
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:64,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__57].bootstrap$()"
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:66,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__58].bootstrap$()"
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:68,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__59].bootstrap$()"
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:69,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__60].bootstrap$()"
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:70,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__61].bootstrap$()"
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:71,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__62].bootstrap$()"
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:72,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__63].bootstrap$()"
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:74,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_0__64].bootstrap$(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:74,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].addAnalyser(java.lang.Class,java.util.function.Supplier)"
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:77,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_1__65].bootstrap$(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:80,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_2__66].bootstrap$(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:83,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_3__67].bootstrap$(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:85,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase].sealModelFilters(ch.qos.logback.core.model.processor.DefaultProcessor)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase].link(ch.qos.logback.core.model.processor.DefaultProcessor)"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase"
    linkageType: null
    functionLinenumber: 68
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.processor.DefaultProcessor"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].addHandler(java.lang.Class,ch.qos.logback.core.model.ModelHandlerFactoryMethod)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__70].bootstrap$()"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__71].bootstrap$()"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__72].bootstrap$()"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__73].bootstrap$()"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__74].bootstrap$()"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__75].bootstrap$()"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__76].bootstrap$()"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__77].bootstrap$()"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__78].bootstrap$()"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__79].bootstrap$()"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__80].bootstrap$()"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__81].bootstrap$()"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__82].bootstrap$()"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__83].bootstrap$()"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__84].bootstrap$()"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__85].bootstrap$()"
    functionUses: 1
    ICount: 35
    EdgeCount: 32
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase:69,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__70].bootstrap$()"
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase:69,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].addHandler(java.lang.Class,ch.qos.logback.core.model.ModelHandlerFactoryMethod)"
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase:71,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__71].bootstrap$()"
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase:72,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__72].bootstrap$()"
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase:73,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__73].bootstrap$()"
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase:75,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__74].bootstrap$()"
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase:76,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__75].bootstrap$()"
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase:77,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__76].bootstrap$()"
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase:80,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__77].bootstrap$()"
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase:81,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__78].bootstrap$()"
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase:82,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__79].bootstrap$()"
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase:83,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__80].bootstrap$()"
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase:84,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__81].bootstrap$()"
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase:86,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__82].bootstrap$()"
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase:87,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__83].bootstrap$()"
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase:88,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__84].bootstrap$()"
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase:90,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__85].bootstrap$()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker].getConfigurationModelHandlerFactoryMethod()"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker"
    linkageType: null
    functionLinenumber: 89
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__86].bootstrap$()"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:90"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:94"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:92,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__86].bootstrap$()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__86].bootstrap$()"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__86"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__86].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__86:-1,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__86].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor].addHandler(java.lang.Class,ch.qos.logback.core.model.ModelHandlerFactoryMethod)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor"
    linkageType: null
    functionLinenumber: 56
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].determineProcessingPhase(java.lang.Class)"
    - "[ch.qos.logback.core.model.processor.ChainedModelFilter].allow(java.lang.Class)"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].getPhaseOneFilter()"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].getPhaseTwoFilter()"
    - "[java.util.HashMap].put(java.lang.Object,java.lang.Object)"
    - "[java.lang.Enum].ordinal()"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.model.processor.ProcessingPhase,java.lang.String)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 45
    ICount: 22
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:57,1"
      Dst: "[java.util.HashMap].put(java.lang.Object,java.lang.Object)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:59,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].determineProcessingPhase(java.lang.Class)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:60,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:62,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].getPhaseOneFilter()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:62,1"
      Dst: "[ch.qos.logback.core.model.processor.ChainedModelFilter].allow(java.lang.Class)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:65,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].getPhaseTwoFilter()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:68,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:68,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.model.processor.ProcessingPhase,java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:68,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__56].bootstrap$()"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__56"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__56].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__56:-1,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__56].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__57].bootstrap$()"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__57"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__57].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__57:-1,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__57].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__58].bootstrap$()"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__58"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__58].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__58:-1,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__58].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__58].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__58"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__58:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__59].bootstrap$()"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__59"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__59].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__59:-1,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__59].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__59].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__59"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__59:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__60].bootstrap$()"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__60"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__60].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__60:-1,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__60].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__60].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__60"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__60:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__61].bootstrap$()"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__61"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__61].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__61:-1,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__61].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__61].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__61"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__61:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__62].bootstrap$()"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__62"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__62].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__62:-1,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__62].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__63].bootstrap$()"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__63"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__63].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__63:-1,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__63].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__63].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__63"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__63:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_0__64].bootstrap$(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_0__64"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_0__64].<init>(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_0__64:-1,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_0__64].<init>(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_0__64].<init>(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_0__64"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_0__64:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor].addAnalyser(java.lang.Class,java.util.function.Supplier)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor"
    linkageType: null
    functionLinenumber: 83
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "java.util.function.Supplier"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashMap].put(java.lang.Object,java.lang.Object)"
    functionUses: 4
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:84,1"
      Dst: "[java.util.HashMap].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_1__65].bootstrap$(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_1__65"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_1__65].<init>(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_1__65:-1,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_1__65].<init>(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_1__65].<init>(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_1__65"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_1__65:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_2__66].bootstrap$(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_2__66"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_2__66].<init>(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_2__66:-1,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_2__66].<init>(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_2__66].<init>(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_2__66"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_2__66:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_3__67].bootstrap$(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_3__67"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_3__67].<init>(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_3__67:-1,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_3__67].<init>(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_3__67].<init>(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_3__67"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_3__67:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase].sealModelFilters(ch.qos.logback.core.model.processor.DefaultProcessor)"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase"
    linkageType: null
    functionLinenumber: 97
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.processor.DefaultProcessor"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ChainedModelFilter].denyAll()"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].getPhaseOneFilter()"
    - "[ch.qos.logback.core.model.processor.ChainedModelFilter].allowAll()"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].getPhaseTwoFilter()"
    functionUses: 1
    ICount: 7
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase:98,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].getPhaseOneFilter()"
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase:98,1"
      Dst: "[ch.qos.logback.core.model.processor.ChainedModelFilter].denyAll()"
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase:99,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].getPhaseTwoFilter()"
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase:99,1"
      Dst: "[ch.qos.logback.core.model.processor.ChainedModelFilter].allowAll()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator].sealModelFilters(ch.qos.logback.core.model.processor.DefaultProcessor)"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.processor.DefaultProcessor"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].getPhaseOneFilter()"
    - "[ch.qos.logback.core.model.processor.ChainedModelFilter].denyAll()"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].getPhaseTwoFilter()"
    - "[ch.qos.logback.core.model.processor.ChainedModelFilter].allowAll()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:97,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].getPhaseOneFilter()"
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:97,1"
      Dst: "[ch.qos.logback.core.model.processor.ChainedModelFilter].denyAll()"
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:98,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].getPhaseTwoFilter()"
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:98,1"
      Dst: "[ch.qos.logback.core.model.processor.ChainedModelFilter].allowAll()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor].getPhaseOneFilter()"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor"
    linkageType: null
    functionLinenumber: 120
    functionDepth: 0
    returnType: "ch.qos.logback.core.model.processor.ChainedModelFilter"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ChainedModelFilter].denyAll()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ChainedModelFilter"
    linkageType: null
    functionLinenumber: 30
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ChainedModelFilter"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.DenyAllModelFilter].<init>()"
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ChainedModelFilter:31,1"
      Dst: "[ch.qos.logback.core.model.processor.DenyAllModelFilter].<init>()"
    - Src: "ch.qos.logback.core.model.processor.ChainedModelFilter:31,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor].getPhaseTwoFilter()"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor"
    linkageType: null
    functionLinenumber: 124
    functionDepth: 0
    returnType: "ch.qos.logback.core.model.processor.ChainedModelFilter"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ChainedModelFilter].allowAll()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ChainedModelFilter"
    linkageType: null
    functionLinenumber: 35
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ChainedModelFilter"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.AllowAllModelFilter].<init>()"
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ChainedModelFilter:36,1"
      Dst: "[ch.qos.logback.core.model.processor.AllowAllModelFilter].<init>()"
    - Src: "ch.qos.logback.core.model.processor.ChainedModelFilter:36,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator].lambda$addElementSelectorAndActionAssociations$12()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator"
    linkageType: null
    functionLinenumber: 67
    functionDepth: 1
    returnType: "ch.qos.logback.core.joran.action.Action"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.action.ReceiverAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:68,1"
      Dst: "[ch.qos.logback.classic.joran.action.ReceiverAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.action.ReceiverAction].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.action.ReceiverAction"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.action.ReceiverAction:32,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator].lambda$addElementSelectorAndActionAssociations$11()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator"
    linkageType: null
    functionLinenumber: 65
    functionDepth: 1
    returnType: "ch.qos.logback.core.joran.action.Action"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.action.ConsolePluginAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:66,1"
      Dst: "[ch.qos.logback.classic.joran.action.ConsolePluginAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator].lambda$addElementSelectorAndActionAssociations$10()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator"
    linkageType: null
    functionLinenumber: 63
    functionDepth: 1
    returnType: "ch.qos.logback.core.joran.action.Action"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.IncludeAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:64,1"
      Dst: "[ch.qos.logback.core.joran.action.IncludeAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator].lambda$addElementSelectorAndActionAssociations$9()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator"
    linkageType: null
    functionLinenumber: 61
    functionDepth: 1
    returnType: "ch.qos.logback.core.joran.action.Action"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.AppenderRefAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:62,1"
      Dst: "[ch.qos.logback.core.joran.action.AppenderRefAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.AppenderRefAction].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.action.AppenderRefAction"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 3
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.AppenderRefAction:23,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator].lambda$addElementSelectorAndActionAssociations$8()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator"
    linkageType: null
    functionLinenumber: 60
    functionDepth: 1
    returnType: "ch.qos.logback.core.joran.action.Action"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.AppenderRefAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:61,1"
      Dst: "[ch.qos.logback.core.joran.action.AppenderRefAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.AppenderRefAction].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.action.AppenderRefAction"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 3
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.AppenderRefAction:23,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator].lambda$addElementSelectorAndActionAssociations$7()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator"
    linkageType: null
    functionLinenumber: 59
    functionDepth: 1
    returnType: "ch.qos.logback.core.joran.action.Action"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.action.LevelAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:60,1"
      Dst: "[ch.qos.logback.classic.joran.action.LevelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator].lambda$addElementSelectorAndActionAssociations$6()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator"
    linkageType: null
    functionLinenumber: 58
    functionDepth: 1
    returnType: "ch.qos.logback.core.joran.action.Action"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.action.RootLoggerAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:59,1"
      Dst: "[ch.qos.logback.classic.joran.action.RootLoggerAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.action.RootLoggerAction].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.action.RootLoggerAction"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.action.RootLoggerAction:29,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator].lambda$addElementSelectorAndActionAssociations$5()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator"
    linkageType: null
    functionLinenumber: 56
    functionDepth: 1
    returnType: "ch.qos.logback.core.joran.action.Action"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.action.LevelAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:57,1"
      Dst: "[ch.qos.logback.classic.joran.action.LevelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator].lambda$addElementSelectorAndActionAssociations$4()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator"
    linkageType: null
    functionLinenumber: 55
    functionDepth: 1
    returnType: "ch.qos.logback.core.joran.action.Action"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.action.LoggerAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:56,1"
      Dst: "[ch.qos.logback.classic.joran.action.LoggerAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator].lambda$addElementSelectorAndActionAssociations$3()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator"
    linkageType: null
    functionLinenumber: 53
    functionDepth: 1
    returnType: "ch.qos.logback.core.joran.action.Action"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.action.InsertFromJNDIAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:54,1"
      Dst: "[ch.qos.logback.classic.joran.action.InsertFromJNDIAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.action.InsertFromJNDIAction].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.action.InsertFromJNDIAction"
    linkageType: null
    functionLinenumber: 29
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.action.InsertFromJNDIAction:30,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator].lambda$addElementSelectorAndActionAssociations$2()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator"
    linkageType: null
    functionLinenumber: 52
    functionDepth: 1
    returnType: "ch.qos.logback.core.joran.action.Action"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.action.LoggerContextListenerAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:53,1"
      Dst: "[ch.qos.logback.classic.joran.action.LoggerContextListenerAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.action.LoggerContextListenerAction].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.action.LoggerContextListenerAction"
    linkageType: null
    functionLinenumber: 24
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.action.LoggerContextListenerAction:25,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator].lambda$addElementSelectorAndActionAssociations$1()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator"
    linkageType: null
    functionLinenumber: 51
    functionDepth: 1
    returnType: "ch.qos.logback.core.joran.action.Action"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.action.ContextNameAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:52,1"
      Dst: "[ch.qos.logback.classic.joran.action.ContextNameAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator].lambda$addElementSelectorAndActionAssociations$0()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator"
    linkageType: null
    functionLinenumber: 49
    functionDepth: 1
    returnType: "ch.qos.logback.core.joran.action.Action"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.action.ConfigurationAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:50,1"
      Dst: "[ch.qos.logback.classic.joran.action.ConfigurationAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.ServerSocketReceiver].<init>()"
    functionSourceFile: "ch.qos.logback.classic.net.server.ServerSocketReceiver"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.net.ReceiverBase].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.server.ServerSocketReceiver:35,1"
      Dst: "[ch.qos.logback.classic.net.ReceiverBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.ServerSocketReceiver].shouldStart()"
    functionSourceFile: "ch.qos.logback.classic.net.server.ServerSocketReceiver"
    linkageType: null
    functionLinenumber: 55
    functionDepth: 2
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.ConfigurableSSLServerSocketFactory].createServerSocket(int,int,java.net.InetAddress)"
    - "[ch.qos.logback.classic.net.server.ServerSocketReceiver].getBacklog()"
    - "[ch.qos.logback.classic.net.server.ServerSocketReceiver].getPort()"
    - "[ch.qos.logback.classic.net.server.SSLServerSocketReceiver].getServerSocketFactory()"
    - "[ch.qos.logback.classic.net.server.ServerSocketReceiver].getServerSocketFactory()"
    - "[ch.qos.logback.classic.net.server.ServerSocketReceiver].getInetAddress()"
    - "[ch.qos.logback.classic.net.server.ServerSocketReceiver].createServerListener(java.net.ServerSocket)"
    - "[ch.qos.logback.classic.net.server.ServerSocketReceiver].createServerRunner(ch.qos.logback.core.net.server.ServerListener,java.util.concurrent.Executor)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - "[ch.qos.logback.core.ContextBase].getExecutorService()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.util.CloseUtil].closeQuietly(java.net.ServerSocket)"
    - "[javax.net.ServerSocketFactory].createServerSocket(int,int,java.net.InetAddress)"
    - "[ch.qos.logback.core.Context].getExecutorService()"
    - "[ch.qos.logback.core.spi.ContextAware].setContext(ch.qos.logback.core.Context)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Exception)"
    functionUses: 1
    ICount: 21
    EdgeCount: 14
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.server.ServerSocketReceiver:56,1"
      Dst: "[ch.qos.logback.classic.net.server.ServerSocketReceiver].getServerSocketFactory()"
    - Src: "ch.qos.logback.classic.net.server.ServerSocketReceiver:56,1"
      Dst: "[ch.qos.logback.classic.net.server.ServerSocketReceiver].getPort()"
    - Src: "ch.qos.logback.classic.net.server.ServerSocketReceiver:56,1"
      Dst: "[ch.qos.logback.classic.net.server.ServerSocketReceiver].getBacklog()"
    - Src: "ch.qos.logback.classic.net.server.ServerSocketReceiver:57,1"
      Dst: "[ch.qos.logback.classic.net.server.ServerSocketReceiver].getInetAddress()"
    - Src: "ch.qos.logback.classic.net.server.ServerSocketReceiver:56,1"
      Dst: "[javax.net.ServerSocketFactory].createServerSocket(int,int,java.net.InetAddress)"
    - Src: "ch.qos.logback.classic.net.server.ServerSocketReceiver:59,1"
      Dst: "[ch.qos.logback.classic.net.server.ServerSocketReceiver].createServerListener(java.net.ServerSocket)"
    - Src: "ch.qos.logback.classic.net.server.ServerSocketReceiver:61,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - Src: "ch.qos.logback.classic.net.server.ServerSocketReceiver:61,1"
      Dst: "[ch.qos.logback.core.Context].getExecutorService()"
    - Src: "ch.qos.logback.classic.net.server.ServerSocketReceiver:61,1"
      Dst: "[ch.qos.logback.classic.net.server.ServerSocketReceiver].createServerRunner(ch.qos.logback.core.net.server.ServerListener,java.util.concurrent.Executor)"
    - Src: "ch.qos.logback.classic.net.server.ServerSocketReceiver:62,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.net.server.ServerSocketReceiver:65,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Exception)"
    - Src: "ch.qos.logback.classic.net.server.ServerSocketReceiver:65,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.net.server.ServerSocketReceiver:66,1"
      Dst: "[ch.qos.logback.core.util.CloseUtil].closeQuietly(java.net.ServerSocket)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.ServerSocketReceiver].getServerSocketFactory()"
    functionSourceFile: "ch.qos.logback.classic.net.server.ServerSocketReceiver"
    linkageType: null
    functionLinenumber: 106
    functionDepth: 0
    returnType: "javax.net.ServerSocketFactory"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.net.ServerSocketFactory].getDefault()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.server.ServerSocketReceiver:107,1"
      Dst: "[javax.net.ServerSocketFactory].getDefault()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.ServerSocketReceiver].getPort()"
    functionSourceFile: "ch.qos.logback.classic.net.server.ServerSocketReceiver"
    linkageType: null
    functionLinenumber: 127
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.ServerSocketReceiver].getBacklog()"
    functionSourceFile: "ch.qos.logback.classic.net.server.ServerSocketReceiver"
    linkageType: null
    functionLinenumber: 149
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.ServerSocketReceiver].getInetAddress()"
    functionSourceFile: "ch.qos.logback.classic.net.server.ServerSocketReceiver"
    linkageType: null
    functionLinenumber: 116
    functionDepth: 1
    returnType: "java.net.InetAddress"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.net.server.ServerSocketReceiver].getAddress()"
    - "[java.net.InetAddress].getByName(java.lang.String)"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.net.server.ServerSocketReceiver:117"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.server.ServerSocketReceiver:119"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.net.server.ServerSocketReceiver:118"
        BranchSideFuncs:
        - "getAddress()"
    Callsites:
    - Src: "ch.qos.logback.classic.net.server.ServerSocketReceiver:117,1"
      Dst: "[ch.qos.logback.classic.net.server.ServerSocketReceiver].getAddress()"
    - Src: "ch.qos.logback.classic.net.server.ServerSocketReceiver:119,1"
      Dst: "[java.net.InetAddress].getByName(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.ServerSocketReceiver].getAddress()"
    functionSourceFile: "ch.qos.logback.classic.net.server.ServerSocketReceiver"
    linkageType: null
    functionLinenumber: 171
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.ServerSocketReceiver].createServerListener(java.net.ServerSocket)"
    functionSourceFile: "ch.qos.logback.classic.net.server.ServerSocketReceiver"
    linkageType: null
    functionLinenumber: 71
    functionDepth: 1
    returnType: "ch.qos.logback.core.net.server.ServerListener"
    argCount: 1
    argTypes:
    - "java.net.ServerSocket"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.net.server.RemoteAppenderServerListener].<init>(java.net.ServerSocket)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.server.ServerSocketReceiver:72,1"
      Dst: "[ch.qos.logback.classic.net.server.RemoteAppenderServerListener].<init>(java.net.ServerSocket)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.RemoteAppenderServerListener].<init>(java.net.ServerSocket)"
    functionSourceFile: "ch.qos.logback.classic.net.server.RemoteAppenderServerListener"
    linkageType: null
    functionLinenumber: 36
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.net.ServerSocket"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.server.ServerSocketListener].<init>(java.net.ServerSocket)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.server.RemoteAppenderServerListener:37,1"
      Dst: "[ch.qos.logback.core.net.server.ServerSocketListener].<init>(java.net.ServerSocket)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 0
    returnType: "ch.qos.logback.core.Context"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 35
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.ServerSocketReceiver].createServerRunner(ch.qos.logback.core.net.server.ServerListener,java.util.concurrent.Executor)"
    functionSourceFile: "ch.qos.logback.classic.net.server.ServerSocketReceiver"
    linkageType: null
    functionLinenumber: 76
    functionDepth: 1
    returnType: "ch.qos.logback.core.net.server.ServerRunner"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.net.server.ServerListener"
    - "java.util.concurrent.Executor"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.net.server.RemoteAppenderServerRunner].<init>(ch.qos.logback.core.net.server.ServerListener,java.util.concurrent.Executor)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.server.ServerSocketReceiver:77,1"
      Dst: "[ch.qos.logback.classic.net.server.RemoteAppenderServerRunner].<init>(ch.qos.logback.core.net.server.ServerListener,java.util.concurrent.Executor)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.RemoteAppenderServerRunner].<init>(ch.qos.logback.core.net.server.ServerListener,java.util.concurrent.Executor)"
    functionSourceFile: "ch.qos.logback.classic.net.server.RemoteAppenderServerRunner"
    linkageType: null
    functionLinenumber: 38
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.net.server.ServerListener"
    - "java.util.concurrent.Executor"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.server.ConcurrentServerRunner].<init>(ch.qos.logback.core.net.server.ServerListener,java.util.concurrent.Executor)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.server.RemoteAppenderServerRunner:39,1"
      Dst: "[ch.qos.logback.core.net.server.ConcurrentServerRunner].<init>(ch.qos.logback.core.net.server.ServerListener,java.util.concurrent.Executor)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 74
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.CloseUtil].closeQuietly(java.net.ServerSocket)"
    functionSourceFile: "ch.qos.logback.core.util.CloseUtil"
    linkageType: null
    functionLinenumber: 63
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.net.ServerSocket"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.net.ServerSocket].close()"
    functionUses: 2
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.CloseUtil:64"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.CloseUtil:67"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.CloseUtil:66"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.CloseUtil:67,1"
      Dst: "[java.net.ServerSocket].close()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.ServerSocketReceiver].createServerListener(java.net.ServerSocket)"
    functionSourceFile: "ch.qos.logback.classic.net.server.ServerSocketReceiver"
    linkageType: null
    functionLinenumber: 71
    functionDepth: 1
    returnType: "ch.qos.logback.core.net.server.ServerListener"
    argCount: 1
    argTypes:
    - "java.net.ServerSocket"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.net.server.RemoteAppenderServerListener].<init>(java.net.ServerSocket)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.server.ServerSocketReceiver:72,1"
      Dst: "[ch.qos.logback.classic.net.server.RemoteAppenderServerListener].<init>(java.net.ServerSocket)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.ServerSocketReceiver].createServerRunner(ch.qos.logback.core.net.server.ServerListener,java.util.concurrent.Executor)"
    functionSourceFile: "ch.qos.logback.classic.net.server.ServerSocketReceiver"
    linkageType: null
    functionLinenumber: 76
    functionDepth: 1
    returnType: "ch.qos.logback.core.net.server.ServerRunner"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.net.server.ServerListener"
    - "java.util.concurrent.Executor"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.net.server.RemoteAppenderServerRunner].<init>(ch.qos.logback.core.net.server.ServerListener,java.util.concurrent.Executor)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.server.ServerSocketReceiver:77,1"
      Dst: "[ch.qos.logback.classic.net.server.RemoteAppenderServerRunner].<init>(ch.qos.logback.core.net.server.ServerListener,java.util.concurrent.Executor)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.ServerSocketReceiver].getRunnableTask()"
    functionSourceFile: "ch.qos.logback.classic.net.server.ServerSocketReceiver"
    linkageType: null
    functionLinenumber: 81
    functionDepth: 0
    returnType: "java.lang.Runnable"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.ServerSocketReceiver].onStop()"
    functionSourceFile: "ch.qos.logback.classic.net.server.ServerSocketReceiver"
    linkageType: null
    functionLinenumber: 89
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.server.ConcurrentServerRunner].stop()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.net.server.ServerRunner].stop()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.IOException)"
    functionUses: 1
    ICount: 12
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.net.server.ServerSocketReceiver:90"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.server.ServerSocketReceiver:92"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.net.server.ServerSocketReceiver:91"
        BranchSideFuncs:
        - "stop()"
        - "addError(java.lang.String,java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.classic.net.server.ServerSocketReceiver:92,1"
      Dst: "[ch.qos.logback.core.net.server.ServerRunner].stop()"
    - Src: "ch.qos.logback.classic.net.server.ServerSocketReceiver:94,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.IOException)"
    - Src: "ch.qos.logback.classic.net.server.ServerSocketReceiver:94,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 74
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.ServerSocketReceiver].getServerSocketFactory()"
    functionSourceFile: "ch.qos.logback.classic.net.server.ServerSocketReceiver"
    linkageType: null
    functionLinenumber: 106
    functionDepth: 0
    returnType: "javax.net.ServerSocketFactory"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.net.ServerSocketFactory].getDefault()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.server.ServerSocketReceiver:107,1"
      Dst: "[javax.net.ServerSocketFactory].getDefault()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.ServerSocketReceiver].getInetAddress()"
    functionSourceFile: "ch.qos.logback.classic.net.server.ServerSocketReceiver"
    linkageType: null
    functionLinenumber: 116
    functionDepth: 1
    returnType: "java.net.InetAddress"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.net.server.ServerSocketReceiver].getAddress()"
    - "[java.net.InetAddress].getByName(java.lang.String)"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.net.server.ServerSocketReceiver:117"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.server.ServerSocketReceiver:119"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.net.server.ServerSocketReceiver:118"
        BranchSideFuncs:
        - "getAddress()"
    Callsites:
    - Src: "ch.qos.logback.classic.net.server.ServerSocketReceiver:117,1"
      Dst: "[ch.qos.logback.classic.net.server.ServerSocketReceiver].getAddress()"
    - Src: "ch.qos.logback.classic.net.server.ServerSocketReceiver:119,1"
      Dst: "[java.net.InetAddress].getByName(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.ServerSocketReceiver].getPort()"
    functionSourceFile: "ch.qos.logback.classic.net.server.ServerSocketReceiver"
    linkageType: null
    functionLinenumber: 127
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.ServerSocketReceiver].setPort(int)"
    functionSourceFile: "ch.qos.logback.classic.net.server.ServerSocketReceiver"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.ServerSocketReceiver].getBacklog()"
    functionSourceFile: "ch.qos.logback.classic.net.server.ServerSocketReceiver"
    linkageType: null
    functionLinenumber: 149
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.ServerSocketReceiver].setBacklog(int)"
    functionSourceFile: "ch.qos.logback.classic.net.server.ServerSocketReceiver"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.ServerSocketReceiver].getAddress()"
    functionSourceFile: "ch.qos.logback.classic.net.server.ServerSocketReceiver"
    linkageType: null
    functionLinenumber: 171
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.ServerSocketReceiver].setAddress(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.net.server.ServerSocketReceiver"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.Token].<init>(int)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Token"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.Token].<init>(int,java.lang.String,java.util.List)"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Token:47,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Token].<init>(int,java.lang.String,java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.Token].<init>(int,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Token"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.Token].<init>(int,java.lang.String,java.util.List)"
    functionUses: 4
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Token:51,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Token].<init>(int,java.lang.String,java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.Token].<init>(int,java.util.List)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Token"
    linkageType: null
    functionLinenumber: 54
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.Token].<init>(int,java.lang.String,java.util.List)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Token:55,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Token].<init>(int,java.lang.String,java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.Token].<init>(int,java.lang.String,java.util.List)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Token"
    linkageType: null
    functionLinenumber: 57
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "int"
    - "java.lang.String"
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 3
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Token:58,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.Token].getType()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Token"
    linkageType: null
    functionLinenumber: 64
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 6
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.Token].getValue()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Token"
    linkageType: null
    functionLinenumber: 68
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 5
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.Token].getOptionsList()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Token"
    linkageType: null
    functionLinenumber: 72
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.Token].toString()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Token"
    linkageType: null
    functionLinenumber: 77
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    functionUses: 3
    ICount: 41
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.Token:104"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Token:108"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.Token:107"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Token:105,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.pattern.parser.Token:108,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 12
    CyclomaticComplexity: 8
  - functionName: "[ch.qos.logback.core.pattern.parser.Token].hashCode()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Token"
    linkageType: null
    functionLinenumber: 113
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].hashCode()"
    functionUses: 4
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.Token:115"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Token:114"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.Token:113"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Token:115,1"
      Dst: "[java.lang.String].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.pattern.parser.Token].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Token"
    linkageType: null
    functionLinenumber: 119
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 6
    ICount: 23
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.Token:120"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Token:122"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.Token:121"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.Token:122"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Token:125"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.Token:124"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.Token:127"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Token:129"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.Token:128"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.Token:129"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Token:129"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.Token:128"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.Token:129"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Token:132"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.Token:131"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.Token:129"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Token:132"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.Token:131"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Token:129,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 12
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.util.DatePatternToRegexUtil].<init>(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.DatePatternToRegexUtil"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.CharSequenceToRegexMapper].<init>()"
    - "[java.lang.Object].<init>()"
    - "[java.lang.String].length()"
    functionUses: 1
    ICount: 10
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.DatePatternToRegexUtil:32,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.util.DatePatternToRegexUtil:30,1"
      Dst: "[ch.qos.logback.core.util.CharSequenceToRegexMapper].<init>()"
    - Src: "ch.qos.logback.core.util.DatePatternToRegexUtil:34,1"
      Dst: "[java.lang.String].length()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.DatePatternToRegexUtil].toRegex()"
    functionSourceFile: "ch.qos.logback.core.util.DatePatternToRegexUtil"
    linkageType: null
    functionLinenumber: 37
    functionDepth: 4
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.DatePatternToRegexUtil].tokenize()"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.util.CharSequenceToRegexMapper].toRegex(ch.qos.logback.core.util.CharSequenceState)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 15
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.DatePatternToRegexUtil:40"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.DatePatternToRegexUtil:43"
        BranchSideFuncs:
        - "iterator()"
        - "toRegex(ch.qos.logback.core.util.CharSequenceState)"
      - BranchSide: "ch.qos.logback.core.util.DatePatternToRegexUtil:42"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.DatePatternToRegexUtil:38,1"
      Dst: "[ch.qos.logback.core.util.DatePatternToRegexUtil].tokenize()"
    - Src: "ch.qos.logback.core.util.DatePatternToRegexUtil:39,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.core.util.DatePatternToRegexUtil:40,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.util.DatePatternToRegexUtil:40,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.util.DatePatternToRegexUtil:40,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.util.DatePatternToRegexUtil:41,1"
      Dst: "[ch.qos.logback.core.util.CharSequenceToRegexMapper].toRegex(ch.qos.logback.core.util.CharSequenceState)"
    - Src: "ch.qos.logback.core.util.DatePatternToRegexUtil:41,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.core.util.DatePatternToRegexUtil:43,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.DatePatternToRegexUtil].tokenize()"
    functionSourceFile: "ch.qos.logback.core.util.DatePatternToRegexUtil"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 1
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.CharSequenceState].<init>(char)"
    - "[ch.qos.logback.core.util.CharSequenceState].incrementOccurrences()"
    - "[java.util.ArrayList].<init>()"
    - "[java.lang.String].charAt(int)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 23
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.DatePatternToRegexUtil:51"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.DatePatternToRegexUtil:60"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.DatePatternToRegexUtil:59"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.DatePatternToRegexUtil:53"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.DatePatternToRegexUtil:54"
        BranchSideFuncs:
        - "<init>(char)"
      - BranchSide: "ch.qos.logback.core.util.DatePatternToRegexUtil:53"
        BranchSideFuncs:
        - "<init>(char)"
    - Branch String: "ch.qos.logback.core.util.DatePatternToRegexUtil:53"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.DatePatternToRegexUtil:57"
        BranchSideFuncs:
        - "<init>(char)"
      - BranchSide: "ch.qos.logback.core.util.DatePatternToRegexUtil:56"
        BranchSideFuncs:
        - "incrementOccurrences()"
    Callsites:
    - Src: "ch.qos.logback.core.util.DatePatternToRegexUtil:47,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.core.util.DatePatternToRegexUtil:52,1"
      Dst: "[java.lang.String].charAt(int)"
    - Src: "ch.qos.logback.core.util.DatePatternToRegexUtil:54,1"
      Dst: "[ch.qos.logback.core.util.CharSequenceState].<init>(char)"
    - Src: "ch.qos.logback.core.util.DatePatternToRegexUtil:55,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "ch.qos.logback.core.util.DatePatternToRegexUtil:57,1"
      Dst: "[ch.qos.logback.core.util.CharSequenceState].incrementOccurrences()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.subst.Parser].<init>(java.util.List)"
    functionSourceFile: "ch.qos.logback.core.subst.Parser"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.Parser:47,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.Parser].parse()"
    functionSourceFile: "ch.qos.logback.core.subst.Parser"
    linkageType: null
    functionLinenumber: 51
    functionDepth: 5
    returnType: "ch.qos.logback.core.subst.Node"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].isEmpty()"
    - "[ch.qos.logback.core.subst.Parser].E()"
    - "[java.util.List].isEmpty()"
    functionUses: 1
    ICount: 9
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.subst.Parser:52"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Parser:53"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.Parser:52"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.subst.Parser:52"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Parser:54"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.Parser:53"
        BranchSideFuncs:
        - "E()"
    Callsites:
    - Src: "ch.qos.logback.core.subst.Parser:52,1"
      Dst: "[java.util.List].isEmpty()"
    - Src: "ch.qos.logback.core.subst.Parser:54,1"
      Dst: "[ch.qos.logback.core.subst.Parser].E()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.subst.Parser].E()"
    functionSourceFile: "ch.qos.logback.core.subst.Parser"
    linkageType: null
    functionLinenumber: 57
    functionDepth: 4
    returnType: "ch.qos.logback.core.subst.Node"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.subst.Parser].T()"
    - "[ch.qos.logback.core.subst.Parser].Eopt()"
    - "[ch.qos.logback.core.subst.Node].append(ch.qos.logback.core.subst.Node)"
    functionUses: 5
    ICount: 8
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.subst.Parser:59"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Parser:62"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.Parser:61"
        BranchSideFuncs:
        - "Eopt()"
    - Branch String: "ch.qos.logback.core.subst.Parser:63"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Parser:66"
        BranchSideFuncs:
        - "append(ch.qos.logback.core.subst.Node)"
      - BranchSide: "ch.qos.logback.core.subst.Parser:65"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.Parser:58,1"
      Dst: "[ch.qos.logback.core.subst.Parser].T()"
    - Src: "ch.qos.logback.core.subst.Parser:62,1"
      Dst: "[ch.qos.logback.core.subst.Parser].Eopt()"
    - Src: "ch.qos.logback.core.subst.Parser:64,1"
      Dst: "[ch.qos.logback.core.subst.Node].append(ch.qos.logback.core.subst.Node)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.subst.Parser].Eopt()"
    functionSourceFile: "ch.qos.logback.core.subst.Parser"
    linkageType: null
    functionLinenumber: 70
    functionDepth: 1
    returnType: "ch.qos.logback.core.subst.Node"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.subst.Parser].peekAtCurentToken()"
    - "[ch.qos.logback.core.subst.Parser].E()"
    functionUses: 2
    ICount: 6
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.subst.Parser:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Parser:75"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.Parser:74"
        BranchSideFuncs:
        - "E()"
    Callsites:
    - Src: "ch.qos.logback.core.subst.Parser:71,1"
      Dst: "[ch.qos.logback.core.subst.Parser].peekAtCurentToken()"
    - Src: "ch.qos.logback.core.subst.Parser:75,1"
      Dst: "[ch.qos.logback.core.subst.Parser].E()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.Parser].T()"
    functionSourceFile: "ch.qos.logback.core.subst.Parser"
    linkageType: null
    functionLinenumber: 80
    functionDepth: 3
    returnType: "ch.qos.logback.core.subst.Node"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.subst.Parser].peekAtCurentToken()"
    - "[ch.qos.logback.core.subst.Parser].advanceTokenPointer()"
    - "[ch.qos.logback.core.subst.Parser].makeNewLiteralNode(java.lang.String)"
    - "[ch.qos.logback.core.subst.Parser].C()"
    - "[ch.qos.logback.core.subst.Parser].expectCurlyRight(ch.qos.logback.core.subst.Token)"
    - "[ch.qos.logback.core.subst.Node].append(ch.qos.logback.core.subst.Node)"
    - "[ch.qos.logback.core.subst.Parser].V()"
    - "[java.lang.Enum].ordinal()"
    functionUses: 1
    ICount: 32
    EdgeCount: 17
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.subst.Parser:82"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Parser:85"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.Parser:84"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.Parser:81,1"
      Dst: "[ch.qos.logback.core.subst.Parser].peekAtCurentToken()"
    - Src: "ch.qos.logback.core.subst.Parser:85,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "ch.qos.logback.core.subst.Parser:87,1"
      Dst: "[ch.qos.logback.core.subst.Parser].advanceTokenPointer()"
    - Src: "ch.qos.logback.core.subst.Parser:88,1"
      Dst: "[ch.qos.logback.core.subst.Parser].makeNewLiteralNode(java.lang.String)"
    - Src: "ch.qos.logback.core.subst.Parser:91,1"
      Dst: "[ch.qos.logback.core.subst.Parser].C()"
    - Src: "ch.qos.logback.core.subst.Parser:93,1"
      Dst: "[ch.qos.logback.core.subst.Parser].expectCurlyRight(ch.qos.logback.core.subst.Token)"
    - Src: "ch.qos.logback.core.subst.Parser:96,1"
      Dst: "[ch.qos.logback.core.subst.Node].append(ch.qos.logback.core.subst.Node)"
    - Src: "ch.qos.logback.core.subst.Parser:101,1"
      Dst: "[ch.qos.logback.core.subst.Parser].V()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.Parser].makeNewLiteralNode(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.subst.Parser"
    linkageType: null
    functionLinenumber: 111
    functionDepth: 1
    returnType: "ch.qos.logback.core.subst.Node"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.subst.Node].<init>(ch.qos.logback.core.subst.Node$Type,java.lang.Object)"
    functionUses: 5
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.Parser:112,1"
      Dst: "[ch.qos.logback.core.subst.Node].<init>(ch.qos.logback.core.subst.Node$Type,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.Parser].V()"
    functionSourceFile: "ch.qos.logback.core.subst.Parser"
    linkageType: null
    functionLinenumber: 116
    functionDepth: 2
    returnType: "ch.qos.logback.core.subst.Node"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.subst.Parser].E()"
    - "[ch.qos.logback.core.subst.Node].<init>(ch.qos.logback.core.subst.Node$Type,java.lang.Object)"
    - "[ch.qos.logback.core.subst.Parser].peekAtCurentToken()"
    - "[ch.qos.logback.core.subst.Parser].isDefaultToken(ch.qos.logback.core.subst.Token)"
    - "[ch.qos.logback.core.subst.Parser].advanceTokenPointer()"
    - "[ch.qos.logback.core.subst.Parser].Eopt()"
    - "[ch.qos.logback.core.subst.Parser].makeNewLiteralNode(java.lang.String)"
    functionUses: 1
    ICount: 16
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.subst.Parser:120"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Parser:129"
        BranchSideFuncs:
        - "Eopt()"
        - "advanceTokenPointer()"
      - BranchSide: "ch.qos.logback.core.subst.Parser:128"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.subst.Parser:123"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Parser:126"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.Parser:125"
        BranchSideFuncs:
        - "makeNewLiteralNode(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.subst.Parser:117,1"
      Dst: "[ch.qos.logback.core.subst.Parser].E()"
    - Src: "ch.qos.logback.core.subst.Parser:118,1"
      Dst: "[ch.qos.logback.core.subst.Node].<init>(ch.qos.logback.core.subst.Node$Type,java.lang.Object)"
    - Src: "ch.qos.logback.core.subst.Parser:119,1"
      Dst: "[ch.qos.logback.core.subst.Parser].peekAtCurentToken()"
    - Src: "ch.qos.logback.core.subst.Parser:120,1"
      Dst: "[ch.qos.logback.core.subst.Parser].isDefaultToken(ch.qos.logback.core.subst.Token)"
    - Src: "ch.qos.logback.core.subst.Parser:121,1"
      Dst: "[ch.qos.logback.core.subst.Parser].advanceTokenPointer()"
    - Src: "ch.qos.logback.core.subst.Parser:122,1"
      Dst: "[ch.qos.logback.core.subst.Parser].Eopt()"
    - Src: "ch.qos.logback.core.subst.Parser:126,1"
      Dst: "[ch.qos.logback.core.subst.Parser].makeNewLiteralNode(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.subst.Parser].C()"
    functionSourceFile: "ch.qos.logback.core.subst.Parser"
    linkageType: null
    functionLinenumber: 134
    functionDepth: 2
    returnType: "ch.qos.logback.core.subst.Node"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.subst.Parser].E()"
    - "[ch.qos.logback.core.subst.Parser].peekAtCurentToken()"
    - "[ch.qos.logback.core.subst.Parser].isDefaultToken(ch.qos.logback.core.subst.Token)"
    - "[ch.qos.logback.core.subst.Parser].advanceTokenPointer()"
    - "[ch.qos.logback.core.subst.Parser].makeNewLiteralNode(java.lang.String)"
    - "[ch.qos.logback.core.spi.ScanException].<init>(java.lang.String)"
    - "[ch.qos.logback.core.subst.Node].append(ch.qos.logback.core.subst.Node)"
    functionUses: 1
    ICount: 15
    EdgeCount: 9
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.subst.Parser:137"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Parser:147"
        BranchSideFuncs:
        - "advanceTokenPointer()"
        - "makeNewLiteralNode(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.subst.Parser:146"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.subst.Parser:140"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Parser:143"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.subst.Parser:142"
        BranchSideFuncs:
        - "E()"
        - "append(ch.qos.logback.core.subst.Node)"
    Callsites:
    - Src: "ch.qos.logback.core.subst.Parser:135,1"
      Dst: "[ch.qos.logback.core.subst.Parser].E()"
    - Src: "ch.qos.logback.core.subst.Parser:136,1"
      Dst: "[ch.qos.logback.core.subst.Parser].peekAtCurentToken()"
    - Src: "ch.qos.logback.core.subst.Parser:137,1"
      Dst: "[ch.qos.logback.core.subst.Parser].isDefaultToken(ch.qos.logback.core.subst.Token)"
    - Src: "ch.qos.logback.core.subst.Parser:138,1"
      Dst: "[ch.qos.logback.core.subst.Parser].advanceTokenPointer()"
    - Src: "ch.qos.logback.core.subst.Parser:139,1"
      Dst: "[ch.qos.logback.core.subst.Parser].makeNewLiteralNode(java.lang.String)"
    - Src: "ch.qos.logback.core.subst.Parser:141,1"
      Dst: "[ch.qos.logback.core.spi.ScanException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.subst.Parser:143,1"
      Dst: "[ch.qos.logback.core.subst.Node].append(ch.qos.logback.core.subst.Node)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.subst.Parser].isDefaultToken(ch.qos.logback.core.subst.Token)"
    functionSourceFile: "ch.qos.logback.core.subst.Parser"
    linkageType: null
    functionLinenumber: 150
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.subst.Token"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.subst.Parser:151"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Parser:150"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.subst.Parser:151"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Parser:150"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.subst.Parser].advanceTokenPointer()"
    functionSourceFile: "ch.qos.logback.core.subst.Parser"
    linkageType: null
    functionLinenumber: 154
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 7
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.Parser].expectNotNull(ch.qos.logback.core.subst.Token,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.subst.Parser"
    linkageType: null
    functionLinenumber: 158
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.subst.Token"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.subst.Parser:159"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Parser:162"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.Parser:161"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.Parser:160,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.subst.Parser:160,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.Parser].expectCurlyRight(ch.qos.logback.core.subst.Token)"
    functionSourceFile: "ch.qos.logback.core.subst.Parser"
    linkageType: null
    functionLinenumber: 164
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.subst.Token"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.subst.Parser].expectNotNull(ch.qos.logback.core.subst.Token,java.lang.String)"
    - "[ch.qos.logback.core.spi.ScanException].<init>(java.lang.String)"
    functionUses: 2
    ICount: 10
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.subst.Parser:166"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Parser:169"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.subst.Parser:168"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.Parser:165,1"
      Dst: "[ch.qos.logback.core.subst.Parser].expectNotNull(ch.qos.logback.core.subst.Token,java.lang.String)"
    - Src: "ch.qos.logback.core.subst.Parser:167,1"
      Dst: "[ch.qos.logback.core.spi.ScanException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.Parser].peekAtCurentToken()"
    functionSourceFile: "ch.qos.logback.core.subst.Parser"
    linkageType: null
    functionLinenumber: 171
    functionDepth: 0
    returnType: "ch.qos.logback.core.subst.Token"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.util.COWArrayList].get(int)"
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    functionUses: 6
    ICount: 11
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.subst.Parser:172"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Parser:175"
        BranchSideFuncs:
        - "get(int)"
      - BranchSide: "ch.qos.logback.core.subst.Parser:174"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.Parser:172,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.core.subst.Parser:173,1"
      Dst: "[java.util.List].get(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.KeyValuePairConverter$ValueQuoteSpecification].values()"
    functionSourceFile: "ch.qos.logback.classic.pattern.KeyValuePairConverter$ValueQuoteSpecification"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 0
    returnType: "ch.qos.logback.classic.pattern.KeyValuePairConverter$ValueQuoteSpecification[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].clone()"
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.KeyValuePairConverter$ValueQuoteSpecification:27,1"
      Dst: "[java.lang.Object].clone()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.KeyValuePairConverter$ValueQuoteSpecification].valueOf(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.pattern.KeyValuePairConverter$ValueQuoteSpecification"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.classic.pattern.KeyValuePairConverter$ValueQuoteSpecification"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.KeyValuePairConverter$ValueQuoteSpecification:27,1"
      Dst: "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.KeyValuePairConverter$ValueQuoteSpecification].<init>(java.lang.String,int)"
    functionSourceFile: "ch.qos.logback.classic.pattern.KeyValuePairConverter$ValueQuoteSpecification"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].<init>(java.lang.String,int)"
    functionUses: 3
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.KeyValuePairConverter$ValueQuoteSpecification:27,1"
      Dst: "[java.lang.Enum].<init>(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.KeyValuePairConverter$ValueQuoteSpecification].asChar()"
    functionSourceFile: "ch.qos.logback.classic.pattern.KeyValuePairConverter$ValueQuoteSpecification"
    linkageType: null
    functionLinenumber: 30
    functionDepth: 0
    returnType: "java.lang.Character"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].ordinal()"
    - "[java.lang.Character].valueOf(char)"
    - "[java.lang.IllegalStateException].<init>()"
    functionUses: 1
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.KeyValuePairConverter$ValueQuoteSpecification:31,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "ch.qos.logback.classic.pattern.KeyValuePairConverter$ValueQuoteSpecification:35,1"
      Dst: "[java.lang.Character].valueOf(char)"
    - Src: "ch.qos.logback.classic.pattern.KeyValuePairConverter$ValueQuoteSpecification:39,1"
      Dst: "[java.lang.IllegalStateException].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.KeyValuePairConverter$ValueQuoteSpecification].$values()"
    functionSourceFile: "ch.qos.logback.classic.pattern.KeyValuePairConverter$ValueQuoteSpecification"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 0
    returnType: "ch.qos.logback.classic.pattern.KeyValuePairConverter$ValueQuoteSpecification[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.EventEvaluatorModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.EventEvaluatorModel"
    linkageType: null
    functionLinenumber: 15
    functionDepth: 3
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.NamedComponentModel].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.EventEvaluatorModel:16,1"
      Dst: "[ch.qos.logback.core.model.NamedComponentModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.EventEvaluatorModel].makeNewInstance()"
    functionSourceFile: "ch.qos.logback.core.model.EventEvaluatorModel"
    linkageType: null
    functionLinenumber: 21
    functionDepth: 4
    returnType: "ch.qos.logback.core.model.EventEvaluatorModel"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.EventEvaluatorModel].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.EventEvaluatorModel:22,1"
      Dst: "[ch.qos.logback.core.model.EventEvaluatorModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.EventEvaluatorModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.EventEvaluatorModel"
    linkageType: null
    functionLinenumber: 15
    functionDepth: 3
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.NamedComponentModel].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.EventEvaluatorModel:16,1"
      Dst: "[ch.qos.logback.core.model.NamedComponentModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.NamedComponentModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.NamedComponentModel"
    linkageType: null
    functionLinenumber: 17
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.ComponentModel].<init>()"
    functionUses: 4
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.NamedComponentModel:18,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.color.BlueCompositeConverter].<init>()"
    functionSourceFile: "ch.qos.logback.core.pattern.color.BlueCompositeConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.color.ForegroundCompositeConverterBase].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.color.BlueCompositeConverter:24,1"
      Dst: "[ch.qos.logback.core.pattern.color.ForegroundCompositeConverterBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.color.BlueCompositeConverter].getForegroundColorCode(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.pattern.color.BlueCompositeConverter"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.action.RootLoggerAction].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.action.RootLoggerAction"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.action.RootLoggerAction:29,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.action.RootLoggerAction].validPreconditions(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.classic.joran.action.RootLoggerAction"
    linkageType: null
    functionLinenumber: 36
    functionDepth: 2
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.xml.sax.helpers.AttributesImpl].getValue(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    functionUses: 1
    ICount: 14
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.joran.action.RootLoggerAction:38"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.joran.action.RootLoggerAction:39"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.joran.action.RootLoggerAction:38"
        BranchSideFuncs:
        - "addError(java.lang.String)"
    - Branch String: "ch.qos.logback.classic.joran.action.RootLoggerAction:38"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.joran.action.RootLoggerAction:42"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.joran.action.RootLoggerAction:41"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.action.RootLoggerAction:37,1"
      Dst: "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - Src: "ch.qos.logback.classic.joran.action.RootLoggerAction:38,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - Src: "ch.qos.logback.classic.joran.action.RootLoggerAction:39,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.action.RootLoggerAction].buildCurrentModel(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.classic.joran.action.RootLoggerAction"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.Model"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.model.RootLoggerModel].<init>()"
    - "[org.xml.sax.helpers.AttributesImpl].getValue(java.lang.String)"
    - "[ch.qos.logback.classic.model.RootLoggerModel].setLevel(java.lang.String)"
    - "[org.xml.sax.Attributes].getValue(java.lang.String)"
    functionUses: 1
    ICount: 9
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.action.RootLoggerAction:47,1"
      Dst: "[ch.qos.logback.classic.model.RootLoggerModel].<init>()"
    - Src: "ch.qos.logback.classic.joran.action.RootLoggerAction:48,1"
      Dst: "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - Src: "ch.qos.logback.classic.joran.action.RootLoggerAction:49,1"
      Dst: "[ch.qos.logback.classic.model.RootLoggerModel].setLevel(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.RootLoggerModel].<init>()"
    functionSourceFile: "ch.qos.logback.classic.model.RootLoggerModel"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.RootLoggerModel:23,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.RootLoggerModel].setLevel(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.model.RootLoggerModel"
    linkageType: null
    functionLinenumber: 45
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.NodeToStringTransformer].<init>(ch.qos.logback.core.subst.Node,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    functionSourceFile: "ch.qos.logback.core.subst.NodeToStringTransformer"
    linkageType: null
    functionLinenumber: 37
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.subst.Node"
    - "ch.qos.logback.core.spi.PropertyContainer"
    - "ch.qos.logback.core.spi.PropertyContainer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:38,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.NodeToStringTransformer].<init>(ch.qos.logback.core.subst.Node,ch.qos.logback.core.spi.PropertyContainer)"
    functionSourceFile: "ch.qos.logback.core.subst.NodeToStringTransformer"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.subst.Node"
    - "ch.qos.logback.core.spi.PropertyContainer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.subst.NodeToStringTransformer].<init>(ch.qos.logback.core.subst.Node,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:45,1"
      Dst: "[ch.qos.logback.core.subst.NodeToStringTransformer].<init>(ch.qos.logback.core.subst.Node,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.NodeToStringTransformer].substituteVariable(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    functionSourceFile: "ch.qos.logback.core.subst.NodeToStringTransformer"
    linkageType: null
    functionLinenumber: 49
    functionDepth: 10
    returnType: "java.lang.String"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "ch.qos.logback.core.spi.PropertyContainer"
    - "ch.qos.logback.core.spi.PropertyContainer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.subst.NodeToStringTransformer].tokenizeAndParseString(java.lang.String)"
    - "[ch.qos.logback.core.subst.NodeToStringTransformer].<init>(ch.qos.logback.core.subst.Node,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    - "[ch.qos.logback.core.subst.NodeToStringTransformer].transform()"
    functionUses: 1
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:50,1"
      Dst: "[ch.qos.logback.core.subst.NodeToStringTransformer].tokenizeAndParseString(java.lang.String)"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:51,1"
      Dst: "[ch.qos.logback.core.subst.NodeToStringTransformer].<init>(ch.qos.logback.core.subst.Node,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:52,1"
      Dst: "[ch.qos.logback.core.subst.NodeToStringTransformer].transform()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.NodeToStringTransformer].tokenizeAndParseString(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.subst.NodeToStringTransformer"
    linkageType: null
    functionLinenumber: 55
    functionDepth: 6
    returnType: "ch.qos.logback.core.subst.Node"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.subst.Tokenizer].<init>(java.lang.String)"
    - "[ch.qos.logback.core.subst.Tokenizer].tokenize()"
    - "[ch.qos.logback.core.subst.Parser].<init>(java.util.List)"
    - "[ch.qos.logback.core.subst.Parser].parse()"
    functionUses: 2
    ICount: 8
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:56,1"
      Dst: "[ch.qos.logback.core.subst.Tokenizer].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:57,1"
      Dst: "[ch.qos.logback.core.subst.Tokenizer].tokenize()"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:58,1"
      Dst: "[ch.qos.logback.core.subst.Parser].<init>(java.util.List)"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:59,1"
      Dst: "[ch.qos.logback.core.subst.Parser].parse()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.NodeToStringTransformer].transform()"
    functionSourceFile: "ch.qos.logback.core.subst.NodeToStringTransformer"
    linkageType: null
    functionLinenumber: 62
    functionDepth: 9
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.subst.NodeToStringTransformer].compileNode(ch.qos.logback.core.subst.Node,java.lang.StringBuilder,java.util.Stack)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.util.Stack].<init>()"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:63,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:64,1"
      Dst: "[java.util.Stack].<init>()"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:64,1"
      Dst: "[ch.qos.logback.core.subst.NodeToStringTransformer].compileNode(ch.qos.logback.core.subst.Node,java.lang.StringBuilder,java.util.Stack)"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:65,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.NodeToStringTransformer].compileNode(ch.qos.logback.core.subst.Node,java.lang.StringBuilder,java.util.Stack)"
    functionSourceFile: "ch.qos.logback.core.subst.NodeToStringTransformer"
    linkageType: null
    functionLinenumber: 69
    functionDepth: 8
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.subst.Node"
    - "java.lang.StringBuilder"
    - "java.util.Stack"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.subst.NodeToStringTransformer].handleLiteral(ch.qos.logback.core.subst.Node,java.lang.StringBuilder)"
    - "[ch.qos.logback.core.subst.NodeToStringTransformer].handleVariable(ch.qos.logback.core.subst.Node,java.lang.StringBuilder,java.util.Stack)"
    - "[java.lang.Enum].ordinal()"
    functionUses: 4
    ICount: 17
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.subst.NodeToStringTransformer:71"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:82"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:81"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:72,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:74,1"
      Dst: "[ch.qos.logback.core.subst.NodeToStringTransformer].handleLiteral(ch.qos.logback.core.subst.Node,java.lang.StringBuilder)"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:77,1"
      Dst: "[ch.qos.logback.core.subst.NodeToStringTransformer].handleVariable(ch.qos.logback.core.subst.Node,java.lang.StringBuilder,java.util.Stack)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.subst.NodeToStringTransformer].handleVariable(ch.qos.logback.core.subst.Node,java.lang.StringBuilder,java.util.Stack)"
    functionSourceFile: "ch.qos.logback.core.subst.NodeToStringTransformer"
    linkageType: null
    functionLinenumber: 86
    functionDepth: 7
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.subst.Node"
    - "java.lang.StringBuilder"
    - "java.util.Stack"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.subst.NodeToStringTransformer].haveVisitedNodeAlready(ch.qos.logback.core.subst.Node,java.util.Stack)"
    - "[ch.qos.logback.core.subst.NodeToStringTransformer].constructRecursionErrorMessage(java.util.Stack)"
    - "[ch.qos.logback.core.subst.NodeToStringTransformer].compileNode(ch.qos.logback.core.subst.Node,java.lang.StringBuilder,java.util.Stack)"
    - "[ch.qos.logback.core.subst.NodeToStringTransformer].lookupKey(java.lang.String)"
    - "[ch.qos.logback.core.subst.NodeToStringTransformer].tokenizeAndParseString(java.lang.String)"
    - "[java.util.Stack].push(java.lang.Object)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].toString()"
    - "[java.util.Stack].pop()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 1
    ICount: 39
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.subst.NodeToStringTransformer:87"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:92"
        BranchSideFuncs:
        - "constructRecursionErrorMessage(java.util.Stack)"
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:91"
        BranchSideFuncs:
        - "lookupKey(java.lang.String)"
    - Branch String: "ch.qos.logback.core.subst.NodeToStringTransformer:101"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:109"
        BranchSideFuncs:
        - "tokenizeAndParseString(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:108"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.subst.NodeToStringTransformer:109"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:115"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:114"
        BranchSideFuncs:
        - "compileNode(ch.qos.logback.core.subst.Node,java.lang.StringBuilder,java.util.Stack)"
    Callsites:
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:87,1"
      Dst: "[ch.qos.logback.core.subst.NodeToStringTransformer].haveVisitedNodeAlready(ch.qos.logback.core.subst.Node,java.util.Stack)"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:88,1"
      Dst: "[java.util.Stack].push(java.lang.Object)"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:89,1"
      Dst: "[ch.qos.logback.core.subst.NodeToStringTransformer].constructRecursionErrorMessage(java.util.Stack)"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:90,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:94,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:96,1"
      Dst: "[ch.qos.logback.core.subst.NodeToStringTransformer].compileNode(ch.qos.logback.core.subst.Node,java.lang.StringBuilder,java.util.Stack)"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:97,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:98,1"
      Dst: "[ch.qos.logback.core.subst.NodeToStringTransformer].lookupKey(java.lang.String)"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:102,1"
      Dst: "[ch.qos.logback.core.subst.NodeToStringTransformer].tokenizeAndParseString(java.lang.String)"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:104,1"
      Dst: "[java.util.Stack].pop()"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:110,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:110,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.NodeToStringTransformer].lookupKey(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.subst.NodeToStringTransformer"
    linkageType: null
    functionLinenumber: 123
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getProperty(java.lang.String)"
    - "[ch.qos.logback.core.ContextBase].getProperty(java.lang.String)"
    - "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].getProperty(java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].getSystemProperty(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].getEnv(java.lang.String)"
    - "[ch.qos.logback.core.spi.PropertyContainer].getProperty(java.lang.String)"
    functionUses: 1
    ICount: 19
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.subst.NodeToStringTransformer:125"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:128"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:127"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.subst.NodeToStringTransformer:128"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:134"
        BranchSideFuncs:
        - "getProperty(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:133"
        BranchSideFuncs:
        - "getSystemProperty(java.lang.String,java.lang.String)"
    - Branch String: "ch.qos.logback.core.subst.NodeToStringTransformer:130"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:134"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:133"
        BranchSideFuncs:
        - "getSystemProperty(java.lang.String,java.lang.String)"
    - Branch String: "ch.qos.logback.core.subst.NodeToStringTransformer:135"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:138"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:137"
        BranchSideFuncs:
        - "getEnv(java.lang.String)"
    - Branch String: "ch.qos.logback.core.subst.NodeToStringTransformer:139"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:143"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:142"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:124,1"
      Dst: "[ch.qos.logback.core.spi.PropertyContainer].getProperty(java.lang.String)"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:134,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].getSystemProperty(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:138,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].getEnv(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.subst.NodeToStringTransformer].handleLiteral(ch.qos.logback.core.subst.Node,java.lang.StringBuilder)"
    functionSourceFile: "ch.qos.logback.core.subst.NodeToStringTransformer"
    linkageType: null
    functionLinenumber: 146
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.subst.Node"
    - "java.lang.StringBuilder"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 1
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:147,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.NodeToStringTransformer].variableNodeValue(ch.qos.logback.core.subst.Node)"
    functionSourceFile: "ch.qos.logback.core.subst.NodeToStringTransformer"
    linkageType: null
    functionLinenumber: 150
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.subst.Node"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.subst.NodeToStringTransformer].variableNodeValue(ch.qos.logback.core.subst.Node)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 2
    ICount: 21
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.subst.NodeToStringTransformer:152"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:156"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:155"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.subst.NodeToStringTransformer:156"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:160"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:159"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.subst.NodeToStringTransformer:160"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:163"
        BranchSideFuncs:
        - "variableNodeValue(ch.qos.logback.core.subst.Node)"
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:162"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:161,1"
      Dst: "[ch.qos.logback.core.subst.NodeToStringTransformer].variableNodeValue(ch.qos.logback.core.subst.Node)"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:161,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:163,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.NodeToStringTransformer].constructRecursionErrorMessage(java.util.Stack)"
    functionSourceFile: "ch.qos.logback.core.subst.NodeToStringTransformer"
    linkageType: null
    functionLinenumber: 166
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.util.Stack"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.subst.NodeToStringTransformer].variableNodeValue(ch.qos.logback.core.subst.Node)"
    - "[java.lang.StringBuilder].<init>(java.lang.String)"
    - "[java.util.Vector].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.util.Vector].lastElement()"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 20
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.subst.NodeToStringTransformer:169"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:175"
        BranchSideFuncs:
        - "variableNodeValue(ch.qos.logback.core.subst.Node)"
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:174"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.subst.NodeToStringTransformer:171"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:174"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:173"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:167,1"
      Dst: "[java.lang.StringBuilder].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:169,1"
      Dst: "[java.util.Vector].iterator()"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:169,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:169,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:170,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:170,1"
      Dst: "[ch.qos.logback.core.subst.NodeToStringTransformer].variableNodeValue(ch.qos.logback.core.subst.Node)"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:171,1"
      Dst: "[java.util.Vector].lastElement()"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:176,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.subst.NodeToStringTransformer].haveVisitedNodeAlready(ch.qos.logback.core.subst.Node,java.util.Stack)"
    functionSourceFile: "ch.qos.logback.core.subst.NodeToStringTransformer"
    linkageType: null
    functionLinenumber: 185
    functionDepth: 1
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.subst.Node"
    - "java.util.Stack"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.subst.NodeToStringTransformer].equalNodes(ch.qos.logback.core.subst.Node,ch.qos.logback.core.subst.Node)"
    - "[java.util.Vector].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    functionUses: 1
    ICount: 13
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.subst.NodeToStringTransformer:186"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:191"
        BranchSideFuncs:
        - "equalNodes(ch.qos.logback.core.subst.Node,ch.qos.logback.core.subst.Node)"
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:190"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.subst.NodeToStringTransformer:187"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:190"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:189"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:186,1"
      Dst: "[java.util.Vector].iterator()"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:186,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:186,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:187,1"
      Dst: "[ch.qos.logback.core.subst.NodeToStringTransformer].equalNodes(ch.qos.logback.core.subst.Node,ch.qos.logback.core.subst.Node)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.subst.NodeToStringTransformer].equalNodes(ch.qos.logback.core.subst.Node,ch.qos.logback.core.subst.Node)"
    functionSourceFile: "ch.qos.logback.core.subst.NodeToStringTransformer"
    linkageType: null
    functionLinenumber: 194
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.subst.Node"
    - "ch.qos.logback.core.subst.Node"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.model.RootLoggerModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.parser.SimpleKeywordNode].equals(java.lang.Object)"
    - "[ch.qos.logback.classic.spi.StackTraceElementProxy].equals(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.parser.CompositeNode].equals(java.lang.Object)"
    - "[org.slf4j.helpers.SubstituteLogger].equals(java.lang.Object)"
    - "[org.slf4j.event.KeyValuePair].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.PropertyModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.DefineModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.parser.FormattingNode].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.ParamModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.InsertFromJNDIModel].equals(java.lang.Object)"
    - "[ch.qos.logback.classic.model.LevelModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.NamedModel].equals(java.lang.Object)"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].equals(java.lang.Object)"
    - "[ch.qos.logback.classic.spi.ClassPackagingData].equals(java.lang.Object)"
    - "[ch.qos.logback.core.subst.Node].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.TimestampModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.parser.Node].equals(java.lang.Object)"
    - "[ch.qos.logback.classic.model.LoggerModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].equals(java.lang.Object)"
    - "[ch.qos.logback.core.joran.spi.ElementSelector].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.NamedComponentModel].equals(java.lang.Object)"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].equals(java.lang.Object)"
    - "[ch.qos.logback.core.subst.Token].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.AppenderRefModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.conditional.IfModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.status.StatusBase].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.Model].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.ComponentModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble].equals(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.parser.Token].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.SerializeModelModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.joran.spi.ElementPath].equals(java.lang.Object)"
    - "[ch.qos.logback.core.spi.AbstractComponentTracker$Entry].equals(java.lang.Object)"
    - "[ch.qos.logback.classic.model.ConfigurationModel].equals(java.lang.Object)"
    - "[org.slf4j.helpers.BasicMarker].equals(java.lang.Object)"
    - "[ch.qos.logback.classic.spi.LoggerContextVO].equals(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.FormatInfo].equals(java.lang.Object)"
    - "[java.lang.Enum].equals(java.lang.Object)"
    - "[java.lang.Object].equals(java.lang.Object)"
    functionUses: 1
    ICount: 25
    EdgeCount: 76
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.subst.NodeToStringTransformer:195"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:197"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:196"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.subst.NodeToStringTransformer:195"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:197"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:196"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.subst.NodeToStringTransformer:197"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:199"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:198"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "ch.qos.logback.core.subst.NodeToStringTransformer:197"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:199"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:198"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "ch.qos.logback.core.subst.NodeToStringTransformer:199"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:202"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:201"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.subst.NodeToStringTransformer:199"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:202"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.NodeToStringTransformer:201"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:195,1"
      Dst: "[java.lang.Enum].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.subst.NodeToStringTransformer:197,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.model.processor.SerializeModelModelHandler].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.model.processor.SerializeModelModelHandler"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:33,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.SerializeModelModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.SerializeModelModelHandler"
    linkageType: null
    functionLinenumber: 36
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.SerializeModelModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:37,1"
      Dst: "[ch.qos.logback.core.model.processor.SerializeModelModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.SerializeModelModelHandler].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.model.processor.SerializeModelModelHandler"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:33,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.SerializeModelModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.SerializeModelModelHandler"
    linkageType: null
    functionLinenumber: 44
    functionDepth: 13
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getConfiguratorHint()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getTopModel()"
    - "[ch.qos.logback.core.model.SerializeModelModel].getFile()"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    - "[ch.qos.logback.core.model.processor.SerializeModelModelHandler].writeModel(java.lang.String,ch.qos.logback.core.model.Model)"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getName()"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.time.format.DateTimeFormatter].ofPattern(java.lang.String)"
    - "[java.time.Instant].now()"
    - "[java.time.format.DateTimeFormatter].format(java.time.temporal.TemporalAccessor)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 3
    ICount: 33
    EdgeCount: 9
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:47"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:52"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:51"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:47"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:52"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:51"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:52"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:57"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:56"
        BranchSideFuncs:
        - "getTopModel()"
    - Branch String: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:66"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:65"
        BranchSideFuncs:
        - "getFile()"
    - Branch String: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:67"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:74"
        BranchSideFuncs:
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:73"
        BranchSideFuncs:
        - "subst(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:45,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getConfiguratorHint()"
    - Src: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:47,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:47,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:47,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:48,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:53,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:59,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getTopModel()"
    - Src: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:66,1"
      Dst: "[ch.qos.logback.core.model.SerializeModelModel].getFile()"
    - Src: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:68,1"
      Dst: "[java.time.format.DateTimeFormatter].ofPattern(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:69,1"
      Dst: "[java.time.Instant].now()"
    - Src: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:70,1"
      Dst: "[java.time.format.DateTimeFormatter].format(java.time.temporal.TemporalAccessor)"
    - Src: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:71,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:74,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:77,1"
      Dst: "[ch.qos.logback.core.model.processor.SerializeModelModelHandler].writeModel(java.lang.String,ch.qos.logback.core.model.Model)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 11
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getConfiguratorHint()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 140
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 96
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getTopModel()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 86
    functionDepth: 0
    returnType: "ch.qos.logback.core.model.Model"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.SerializeModelModel].getFile()"
    functionSourceFile: "ch.qos.logback.core.model.SerializeModelModel"
    linkageType: null
    functionLinenumber: 30
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 152
    functionDepth: 12
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.OptionHelper].substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 26
    ICount: 11
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:153"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:158"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:157"
        BranchSideFuncs:
        - "substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:158,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:160,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:160,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.SerializeModelModelHandler].writeModel(java.lang.String,ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.SerializeModelModelHandler"
    linkageType: null
    functionLinenumber: 81
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.io.FileOutputStream].<init>(java.lang.String)"
    - "[java.io.ObjectOutputStream].<init>(java.io.OutputStream)"
    - "[java.io.ObjectOutputStream].writeObject(java.lang.Object)"
    - "[java.io.ObjectOutputStream].flush()"
    - "[java.io.ObjectOutputStream].close()"
    - "[java.io.FileOutputStream].close()"
    - "[java.lang.Throwable].addSuppressed(java.lang.Throwable)"
    functionUses: 1
    ICount: 25
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:82,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:82,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:84,1"
      Dst: "[java.io.FileOutputStream].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:85,1"
      Dst: "[java.io.ObjectOutputStream].<init>(java.io.OutputStream)"
    - Src: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:86,1"
      Dst: "[java.io.ObjectOutputStream].writeObject(java.lang.Object)"
    - Src: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:87,1"
      Dst: "[java.io.ObjectOutputStream].flush()"
    - Src: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:88,1"
      Dst: "[java.io.ObjectOutputStream].close()"
    - Src: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:89,1"
      Dst: "[java.io.FileOutputStream].close()"
    - Src: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:92,1"
      Dst: "[java.lang.Throwable].addSuppressed(java.lang.Throwable)"
    - Src: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:90,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.SerializeModelModelHandler].writeModel(java.lang.String,ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.SerializeModelModelHandler"
    linkageType: null
    functionLinenumber: 81
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.io.FileOutputStream].<init>(java.lang.String)"
    - "[java.io.ObjectOutputStream].<init>(java.io.OutputStream)"
    - "[java.io.ObjectOutputStream].writeObject(java.lang.Object)"
    - "[java.io.ObjectOutputStream].flush()"
    - "[java.io.ObjectOutputStream].close()"
    - "[java.io.FileOutputStream].close()"
    - "[java.lang.Throwable].addSuppressed(java.lang.Throwable)"
    functionUses: 1
    ICount: 25
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:82,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:82,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:84,1"
      Dst: "[java.io.FileOutputStream].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:85,1"
      Dst: "[java.io.ObjectOutputStream].<init>(java.io.OutputStream)"
    - Src: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:86,1"
      Dst: "[java.io.ObjectOutputStream].writeObject(java.lang.Object)"
    - Src: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:87,1"
      Dst: "[java.io.ObjectOutputStream].flush()"
    - Src: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:88,1"
      Dst: "[java.io.ObjectOutputStream].close()"
    - Src: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:89,1"
      Dst: "[java.io.FileOutputStream].close()"
    - Src: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:92,1"
      Dst: "[java.lang.Throwable].addSuppressed(java.lang.Throwable)"
    - Src: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:90,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__83].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__83"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__83].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__83:-1,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__83].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__83].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__83"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__83:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__83].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__83"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.conditional.ThenModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__83:-1,1"
      Dst: "[ch.qos.logback.core.model.processor.conditional.ThenModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.conditional.ThenModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.conditional.ThenModelHandler"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.conditional.ThenModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.conditional.ThenModelHandler:34,1"
      Dst: "[ch.qos.logback.core.model.processor.conditional.ThenModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.conditional.ThenModelHandler].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.model.processor.conditional.ThenModelHandler"
    linkageType: null
    functionLinenumber: 29
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.conditional.ThenModelHandler:30,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.InsertFromJNDIModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.InsertFromJNDIModel"
    linkageType: null
    functionLinenumber: 17
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.InsertFromJNDIModel:18,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.InsertFromJNDIModel].makeNewInstance()"
    functionSourceFile: "ch.qos.logback.core.model.InsertFromJNDIModel"
    linkageType: null
    functionLinenumber: 30
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.InsertFromJNDIModel"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.InsertFromJNDIModel].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.InsertFromJNDIModel:31,1"
      Dst: "[ch.qos.logback.core.model.InsertFromJNDIModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.InsertFromJNDIModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.InsertFromJNDIModel"
    linkageType: null
    functionLinenumber: 17
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.InsertFromJNDIModel:18,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.ArrayList].<init>()"
    functionUses: 16
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:27,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.model.Model:40,1"
      Dst: "[java.util.ArrayList].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.InsertFromJNDIModel].mirror(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.InsertFromJNDIModel"
    linkageType: null
    functionLinenumber: 35
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].mirror(ch.qos.logback.core.model.Model)"
    functionUses: 1
    ICount: 11
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.InsertFromJNDIModel:37,1"
      Dst: "[ch.qos.logback.core.model.Model].mirror(ch.qos.logback.core.model.Model)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].mirror(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 56
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 11
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.InsertFromJNDIModel].getScopeStr()"
    functionSourceFile: "ch.qos.logback.core.model.InsertFromJNDIModel"
    linkageType: null
    functionLinenumber: 44
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.InsertFromJNDIModel].setScopeStr(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.InsertFromJNDIModel"
    linkageType: null
    functionLinenumber: 48
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.InsertFromJNDIModel].getAs()"
    functionSourceFile: "ch.qos.logback.core.model.InsertFromJNDIModel"
    linkageType: null
    functionLinenumber: 52
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.InsertFromJNDIModel].setAs(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.InsertFromJNDIModel"
    linkageType: null
    functionLinenumber: 56
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.InsertFromJNDIModel].getEnvEntryName()"
    functionSourceFile: "ch.qos.logback.core.model.InsertFromJNDIModel"
    linkageType: null
    functionLinenumber: 60
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.InsertFromJNDIModel].setEnvEntryName(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.InsertFromJNDIModel"
    linkageType: null
    functionLinenumber: 64
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.InsertFromJNDIModel].hashCode()"
    functionSourceFile: "ch.qos.logback.core.model.InsertFromJNDIModel"
    linkageType: null
    functionLinenumber: 70
    functionDepth: 1
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].hashCode()"
    - "[java.util.Objects].hash(java.lang.Object[])"
    functionUses: 5
    ICount: 13
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.InsertFromJNDIModel:71,1"
      Dst: "[ch.qos.logback.core.model.Model].hashCode()"
    - Src: "ch.qos.logback.core.model.InsertFromJNDIModel:72,1"
      Dst: "[java.util.Objects].hash(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].hashCode()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 145
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Integer].valueOf(int)"
    - "[java.util.Objects].hash(java.lang.Object[])"
    functionUses: 15
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:146,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "ch.qos.logback.core.model.Model:146,1"
      Dst: "[java.util.Objects].hash(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.InsertFromJNDIModel].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.model.InsertFromJNDIModel"
    linkageType: null
    functionLinenumber: 77
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].equals(java.lang.Object)"
    - "[java.lang.Object].getClass()"
    - "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    functionUses: 6
    ICount: 28
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.InsertFromJNDIModel:78"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.InsertFromJNDIModel:80"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.InsertFromJNDIModel:79"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "ch.qos.logback.core.model.InsertFromJNDIModel:80"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.InsertFromJNDIModel:82"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.InsertFromJNDIModel:81"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.InsertFromJNDIModel:82"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.InsertFromJNDIModel:84"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.InsertFromJNDIModel:83"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.InsertFromJNDIModel:85"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.InsertFromJNDIModel:-1"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.InsertFromJNDIModel:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.InsertFromJNDIModel:85"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.InsertFromJNDIModel:-1"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.InsertFromJNDIModel:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.InsertFromJNDIModel:86"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.InsertFromJNDIModel:-2"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.InsertFromJNDIModel:80,1"
      Dst: "[ch.qos.logback.core.model.Model].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.model.InsertFromJNDIModel:82,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.model.InsertFromJNDIModel:85,1"
      Dst: "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 12
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.model.Model].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 150
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    functionUses: 16
    ICount: 30
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.Model:151"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:153"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:152"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:153"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:155"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:154"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:155"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:157"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:156"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:158"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:-1"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:158"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:-1"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:159"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:159"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:-2"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:155,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.model.Model:158,1"
      Dst: "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 13
    CyclomaticComplexity: 5
  - functionName: "[org.slf4j.MDC].<init>()"
    functionSourceFile: "org.slf4j.MDC"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.MDC:88,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.MDC].put(java.lang.String,java.lang.String)"
    functionSourceFile: "org.slf4j.MDC"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - "[org.slf4j.spi.MDCAdapter].put(java.lang.String,java.lang.String)"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.MDC:121"
      Branch Sides:
      - BranchSide: "org.slf4j.MDC:124"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.MDC:123"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.MDC:124"
      Branch Sides:
      - BranchSide: "org.slf4j.MDC:127"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.MDC:126"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.MDC:122,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "org.slf4j.MDC:125,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - Src: "org.slf4j.MDC:127,1"
      Dst: "[org.slf4j.spi.MDCAdapter].put(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.MDC].putCloseable(java.lang.String,java.lang.String)"
    functionSourceFile: "org.slf4j.MDC"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "org.slf4j.MDC$MDCCloseable"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.MDC].put(java.lang.String,java.lang.String)"
    - "[org.slf4j.MDC$MDCCloseable].<init>(java.lang.String,org.slf4j.MDC$1)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.MDC:159,1"
      Dst: "[org.slf4j.MDC].put(java.lang.String,java.lang.String)"
    - Src: "org.slf4j.MDC:160,1"
      Dst: "[org.slf4j.MDC$MDCCloseable].<init>(java.lang.String,org.slf4j.MDC$1)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.MDC].put(java.lang.String,java.lang.String)"
    functionSourceFile: "org.slf4j.MDC"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - "[org.slf4j.spi.MDCAdapter].put(java.lang.String,java.lang.String)"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.MDC:121"
      Branch Sides:
      - BranchSide: "org.slf4j.MDC:124"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.MDC:123"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.MDC:124"
      Branch Sides:
      - BranchSide: "org.slf4j.MDC:127"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.MDC:126"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.MDC:122,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "org.slf4j.MDC:125,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - Src: "org.slf4j.MDC:127,1"
      Dst: "[org.slf4j.spi.MDCAdapter].put(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.MDC$MDCCloseable].<init>(java.lang.String,org.slf4j.MDC$1)"
    functionSourceFile: "org.slf4j.MDC$MDCCloseable"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "org.slf4j.MDC$1"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.MDC$MDCCloseable].<init>(java.lang.String)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.MDC$MDCCloseable:76,1"
      Dst: "[org.slf4j.MDC$MDCCloseable].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.MDC$MDCCloseable].<init>(java.lang.String)"
    functionSourceFile: "org.slf4j.MDC$MDCCloseable"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.MDC$MDCCloseable:79,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.MDC].get(java.lang.String)"
    functionSourceFile: "org.slf4j.MDC"
    linkageType: null
    functionLinenumber: 175
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.util.LogbackMDCAdapterSimple].get(java.lang.String)"
    - "[ch.qos.logback.classic.util.LogbackMDCAdapter].get(java.lang.String)"
    - "[org.slf4j.helpers.BasicMDCAdapter].get(java.lang.String)"
    - "[org.slf4j.helpers.NOPMDCAdapter].get(java.lang.String)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - "[org.slf4j.spi.MDCAdapter].get(java.lang.String)"
    functionUses: 2
    ICount: 13
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "org.slf4j.MDC:176"
      Branch Sides:
      - BranchSide: "org.slf4j.MDC:180"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.MDC:179"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.MDC:180"
      Branch Sides:
      - BranchSide: "org.slf4j.MDC:183"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.MDC:182"
        BranchSideFuncs:
        - "get(java.lang.String)"
    Callsites:
    - Src: "org.slf4j.MDC:177,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "org.slf4j.MDC:181,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - Src: "org.slf4j.MDC:183,1"
      Dst: "[org.slf4j.spi.MDCAdapter].get(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.MDC].remove(java.lang.String)"
    functionSourceFile: "org.slf4j.MDC"
    linkageType: null
    functionLinenumber: 196
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.util.LogbackMDCAdapterSimple].remove(java.lang.String)"
    - "[ch.qos.logback.classic.util.LogbackMDCAdapter].remove(java.lang.String)"
    - "[org.slf4j.helpers.BasicMDCAdapter].remove(java.lang.String)"
    - "[org.slf4j.helpers.NOPMDCAdapter].remove(java.lang.String)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - "[org.slf4j.spi.MDCAdapter].remove(java.lang.String)"
    functionUses: 1
    ICount: 13
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "org.slf4j.MDC:197"
      Branch Sides:
      - BranchSide: "org.slf4j.MDC:201"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.MDC:200"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.MDC:201"
      Branch Sides:
      - BranchSide: "org.slf4j.MDC:204"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.MDC:203"
        BranchSideFuncs:
        - "remove(java.lang.String)"
    Callsites:
    - Src: "org.slf4j.MDC:198,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "org.slf4j.MDC:202,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - Src: "org.slf4j.MDC:204,1"
      Dst: "[org.slf4j.spi.MDCAdapter].remove(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.MDC].clear()"
    functionSourceFile: "org.slf4j.MDC"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - "[org.slf4j.spi.MDCAdapter].clear()"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.MDC:211"
      Branch Sides:
      - BranchSide: "org.slf4j.MDC:214"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.MDC:213"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.MDC:212,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - Src: "org.slf4j.MDC:214,1"
      Dst: "[org.slf4j.spi.MDCAdapter].clear()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.MDC].getCopyOfContextMap()"
    functionSourceFile: "org.slf4j.MDC"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - "[org.slf4j.spi.MDCAdapter].getCopyOfContextMap()"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.MDC:225"
      Branch Sides:
      - BranchSide: "org.slf4j.MDC:228"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.MDC:227"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.MDC:226,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - Src: "org.slf4j.MDC:228,1"
      Dst: "[org.slf4j.spi.MDCAdapter].getCopyOfContextMap()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.MDC].setContextMap(java.util.Map)"
    functionSourceFile: "org.slf4j.MDC"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.Map"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - "[org.slf4j.spi.MDCAdapter].setContextMap(java.util.Map)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.MDC:243"
      Branch Sides:
      - BranchSide: "org.slf4j.MDC:246"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.MDC:245"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.MDC:244,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - Src: "org.slf4j.MDC:246,1"
      Dst: "[org.slf4j.spi.MDCAdapter].setContextMap(java.util.Map)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.MDC].getMDCAdapter()"
    functionSourceFile: "org.slf4j.MDC"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "org.slf4j.spi.MDCAdapter"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.MDC].pushByKey(java.lang.String,java.lang.String)"
    functionSourceFile: "org.slf4j.MDC"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - "[org.slf4j.spi.MDCAdapter].pushByKey(java.lang.String,java.lang.String)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.MDC:269"
      Branch Sides:
      - BranchSide: "org.slf4j.MDC:272"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.MDC:271"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.MDC:270,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - Src: "org.slf4j.MDC:272,1"
      Dst: "[org.slf4j.spi.MDCAdapter].pushByKey(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.MDC].popByKey(java.lang.String)"
    functionSourceFile: "org.slf4j.MDC"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - "[org.slf4j.spi.MDCAdapter].popByKey(java.lang.String)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.MDC:283"
      Branch Sides:
      - BranchSide: "org.slf4j.MDC:286"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.MDC:285"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.MDC:284,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - Src: "org.slf4j.MDC:286,1"
      Dst: "[org.slf4j.spi.MDCAdapter].popByKey(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.MDC].getCopyOfDequeByKey(java.lang.String)"
    functionSourceFile: "org.slf4j.MDC"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.util.Deque"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - "[org.slf4j.spi.MDCAdapter].getCopyOfDequeByKey(java.lang.String)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.MDC:298"
      Branch Sides:
      - BranchSide: "org.slf4j.MDC:301"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.MDC:300"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.MDC:299,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - Src: "org.slf4j.MDC:301,1"
      Dst: "[org.slf4j.spi.MDCAdapter].getCopyOfDequeByKey(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.BasicMDCAdapter].<init>()"
    functionSourceFile: "org.slf4j.helpers.BasicMDCAdapter"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.ThreadLocalMapOfStacks].<init>()"
    - "[org.slf4j.helpers.BasicMDCAdapter$1].<init>(org.slf4j.helpers.BasicMDCAdapter)"
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 9
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.BasicMDCAdapter:44,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "org.slf4j.helpers.BasicMDCAdapter:46,1"
      Dst: "[org.slf4j.helpers.ThreadLocalMapOfStacks].<init>()"
    - Src: "org.slf4j.helpers.BasicMDCAdapter:48,1"
      Dst: "[org.slf4j.helpers.BasicMDCAdapter$1].<init>(org.slf4j.helpers.BasicMDCAdapter)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.BasicMDCAdapter].put(java.lang.String,java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.BasicMDCAdapter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.ThreadLocal].get()"
    - "[java.util.HashMap].<init>()"
    - "[java.lang.ThreadLocal].set(java.lang.Object)"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 0
    ICount: 19
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.BasicMDCAdapter:71"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.BasicMDCAdapter:74"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.BasicMDCAdapter:73"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.BasicMDCAdapter:75"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.BasicMDCAdapter:null"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.BasicMDCAdapter:72,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "org.slf4j.helpers.BasicMDCAdapter:74,1"
      Dst: "[java.lang.ThreadLocal].get()"
    - Src: "org.slf4j.helpers.BasicMDCAdapter:76,1"
      Dst: "[java.util.HashMap].<init>()"
    - Src: "org.slf4j.helpers.BasicMDCAdapter:77,1"
      Dst: "[java.lang.ThreadLocal].set(java.lang.Object)"
    - Src: "org.slf4j.helpers.BasicMDCAdapter:79,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.helpers.BasicMDCAdapter].get(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.BasicMDCAdapter"
    linkageType: null
    functionLinenumber: 85
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ThreadLocal].get()"
    - "[java.util.Map].get(java.lang.Object)"
    functionUses: 1
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.BasicMDCAdapter:87"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.BasicMDCAdapter:90"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.BasicMDCAdapter:89"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.BasicMDCAdapter:87"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.BasicMDCAdapter:90"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.BasicMDCAdapter:89"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.BasicMDCAdapter:86,1"
      Dst: "[java.lang.ThreadLocal].get()"
    - Src: "org.slf4j.helpers.BasicMDCAdapter:88,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.helpers.BasicMDCAdapter].remove(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.BasicMDCAdapter"
    linkageType: null
    functionLinenumber: 97
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ThreadLocal].get()"
    - "[java.util.Map].remove(java.lang.Object)"
    functionUses: 1
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.BasicMDCAdapter:99"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.BasicMDCAdapter:102"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.BasicMDCAdapter:101"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.BasicMDCAdapter:98,1"
      Dst: "[java.lang.ThreadLocal].get()"
    - Src: "org.slf4j.helpers.BasicMDCAdapter:100,1"
      Dst: "[java.util.Map].remove(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.helpers.BasicMDCAdapter].clear()"
    functionSourceFile: "org.slf4j.helpers.BasicMDCAdapter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ThreadLocal].get()"
    - "[java.util.Map].clear()"
    - "[java.lang.ThreadLocal].remove()"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.BasicMDCAdapter:109"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.BasicMDCAdapter:113"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.BasicMDCAdapter:112"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.BasicMDCAdapter:108,1"
      Dst: "[java.lang.ThreadLocal].get()"
    - Src: "org.slf4j.helpers.BasicMDCAdapter:110,1"
      Dst: "[java.util.Map].clear()"
    - Src: "org.slf4j.helpers.BasicMDCAdapter:111,1"
      Dst: "[java.lang.ThreadLocal].remove()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.helpers.BasicMDCAdapter].getKeys()"
    functionSourceFile: "org.slf4j.helpers.BasicMDCAdapter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.util.Set"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ThreadLocal].get()"
    - "[java.util.Map].keySet()"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.BasicMDCAdapter:123"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.BasicMDCAdapter:126"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.BasicMDCAdapter:125"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.BasicMDCAdapter:122,1"
      Dst: "[java.lang.ThreadLocal].get()"
    - Src: "org.slf4j.helpers.BasicMDCAdapter:124,1"
      Dst: "[java.util.Map].keySet()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.BasicMDCAdapter].getCopyOfContextMap()"
    functionSourceFile: "org.slf4j.helpers.BasicMDCAdapter"
    linkageType: null
    functionLinenumber: 135
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ThreadLocal].get()"
    - "[java.util.HashMap].<init>(java.util.Map)"
    functionUses: 1
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.BasicMDCAdapter:137"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.BasicMDCAdapter:140"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.BasicMDCAdapter:139"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.BasicMDCAdapter:136,1"
      Dst: "[java.lang.ThreadLocal].get()"
    - Src: "org.slf4j.helpers.BasicMDCAdapter:138,1"
      Dst: "[java.util.HashMap].<init>(java.util.Map)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.BasicMDCAdapter].setContextMap(java.util.Map)"
    functionSourceFile: "org.slf4j.helpers.BasicMDCAdapter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.Map"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashMap].<init>(java.util.Map)"
    - "[java.lang.ThreadLocal].set(java.lang.Object)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.BasicMDCAdapter:146"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.BasicMDCAdapter:149"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.BasicMDCAdapter:148"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.BasicMDCAdapter:147,1"
      Dst: "[java.util.HashMap].<init>(java.util.Map)"
    - Src: "org.slf4j.helpers.BasicMDCAdapter:149,1"
      Dst: "[java.lang.ThreadLocal].set(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.helpers.BasicMDCAdapter].pushByKey(java.lang.String,java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.BasicMDCAdapter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.ThreadLocalMapOfStacks].pushByKey(java.lang.String,java.lang.String)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.BasicMDCAdapter:154,1"
      Dst: "[org.slf4j.helpers.ThreadLocalMapOfStacks].pushByKey(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.ThreadLocalMapOfStacks].pushByKey(java.lang.String,java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.ThreadLocalMapOfStacks"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ThreadLocal].get()"
    - "[java.util.HashMap].<init>()"
    - "[java.lang.ThreadLocal].set(java.lang.Object)"
    - "[java.util.Map].get(java.lang.Object)"
    - "[java.util.ArrayDeque].<init>()"
    - "[java.util.Deque].push(java.lang.Object)"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 0
    ICount: 27
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.ThreadLocalMapOfStacks:24"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:27"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:26"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.ThreadLocalMapOfStacks:29"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:null"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.ThreadLocalMapOfStacks:35"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:null"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:27,1"
      Dst: "[java.lang.ThreadLocal].get()"
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:30,1"
      Dst: "[java.util.HashMap].<init>()"
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:31,1"
      Dst: "[java.lang.ThreadLocal].set(java.lang.Object)"
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:34,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:36,1"
      Dst: "[java.util.ArrayDeque].<init>()"
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:38,1"
      Dst: "[java.util.Deque].push(java.lang.Object)"
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:39,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[org.slf4j.helpers.BasicMDCAdapter].popByKey(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.BasicMDCAdapter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.ThreadLocalMapOfStacks].popByKey(java.lang.String)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.BasicMDCAdapter:159,1"
      Dst: "[org.slf4j.helpers.ThreadLocalMapOfStacks].popByKey(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.ThreadLocalMapOfStacks].popByKey(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.ThreadLocalMapOfStacks"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ThreadLocal].get()"
    - "[java.util.Map].get(java.lang.Object)"
    - "[java.util.Deque].pop()"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.ThreadLocalMapOfStacks:43"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:46"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:45"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.ThreadLocalMapOfStacks:47"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:49"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:48"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.ThreadLocalMapOfStacks:50"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:52"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:51"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:46,1"
      Dst: "[java.lang.ThreadLocal].get()"
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:49,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:52,1"
      Dst: "[java.util.Deque].pop()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.BasicMDCAdapter].getCopyOfDequeByKey(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.BasicMDCAdapter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.Deque"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.ThreadLocalMapOfStacks].getCopyOfDequeByKey(java.lang.String)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.BasicMDCAdapter:164,1"
      Dst: "[org.slf4j.helpers.ThreadLocalMapOfStacks].getCopyOfDequeByKey(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.ThreadLocalMapOfStacks].getCopyOfDequeByKey(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.ThreadLocalMapOfStacks"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.util.Deque"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ThreadLocal].get()"
    - "[java.util.Map].get(java.lang.Object)"
    - "[java.util.ArrayDeque].<init>(java.util.Collection)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.ThreadLocalMapOfStacks:56"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:59"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:58"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.ThreadLocalMapOfStacks:60"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:62"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:61"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.ThreadLocalMapOfStacks:63"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:66"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:65"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:59,1"
      Dst: "[java.lang.ThreadLocal].get()"
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:62,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:66,1"
      Dst: "[java.util.ArrayDeque].<init>(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.BasicMDCAdapter].clearDequeByKey(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.BasicMDCAdapter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.ThreadLocalMapOfStacks].clearDequeByKey(java.lang.String)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.BasicMDCAdapter:168,1"
      Dst: "[org.slf4j.helpers.ThreadLocalMapOfStacks].clearDequeByKey(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.ThreadLocalMapOfStacks].clearDequeByKey(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.ThreadLocalMapOfStacks"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ThreadLocal].get()"
    - "[java.util.Map].get(java.lang.Object)"
    - "[java.util.Collection].clear()"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.ThreadLocalMapOfStacks:77"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:80"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:79"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.ThreadLocalMapOfStacks:81"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:83"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:82"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.ThreadLocalMapOfStacks:84"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:86"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:85"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:80,1"
      Dst: "[java.lang.ThreadLocal].get()"
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:83,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:86,1"
      Dst: "[java.util.Collection].clear()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ScanException].<init>(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ScanException"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Exception].<init>(java.lang.String)"
    functionUses: 6
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ScanException:23,1"
      Dst: "[java.lang.Exception].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ScanException].<init>(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ScanException"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Exception].<init>(java.lang.String)"
    functionUses: 1
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ScanException:27,1"
      Dst: "[java.lang.Exception].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ScanException].getCause()"
    functionSourceFile: "ch.qos.logback.core.spi.ScanException"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 0
    returnType: "java.lang.Throwable"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.conditional.PropertyWrapperForScripts].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.conditional.PropertyWrapperForScripts"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.conditional.PropertyWrapperForScripts:19,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.conditional.PropertyWrapperForScripts].setPropertyContainers(ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    functionSourceFile: "ch.qos.logback.core.joran.conditional.PropertyWrapperForScripts"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.spi.PropertyContainer"
    - "ch.qos.logback.core.spi.PropertyContainer"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.conditional.PropertyWrapperForScripts].isNull(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.conditional.PropertyWrapperForScripts"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.OptionHelper].propertyLookup(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.conditional.PropertyWrapperForScripts:32"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.conditional.PropertyWrapperForScripts:30"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.conditional.PropertyWrapperForScripts:31,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].propertyLookup(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.OptionHelper].propertyLookup(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "ch.qos.logback.core.spi.PropertyContainer"
    - "ch.qos.logback.core.spi.PropertyContainer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.PropertyContainer].getProperty(java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].getSystemProperty(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].getEnv(java.lang.String)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.OptionHelper:122"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:126"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:125"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:122"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:126"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:125"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:126"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:129"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:128"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:129"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:132"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:131"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:119,1"
      Dst: "[ch.qos.logback.core.spi.PropertyContainer].getProperty(java.lang.String)"
    - Src: "ch.qos.logback.core.util.OptionHelper:127,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].getSystemProperty(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.util.OptionHelper:130,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].getEnv(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.util.OptionHelper].getSystemProperty(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 145
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].getProperty(java.lang.String,java.lang.String)"
    functionUses: 3
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:146,1"
      Dst: "[java.lang.System].getProperty(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].getEnv(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 159
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].getenv(java.lang.String)"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:160,1"
      Dst: "[java.lang.System].getenv(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.conditional.PropertyWrapperForScripts].isDefined(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.conditional.PropertyWrapperForScripts"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.OptionHelper].propertyLookup(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.conditional.PropertyWrapperForScripts:37"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.conditional.PropertyWrapperForScripts:35"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.conditional.PropertyWrapperForScripts:36,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].propertyLookup(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.OptionHelper].propertyLookup(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "ch.qos.logback.core.spi.PropertyContainer"
    - "ch.qos.logback.core.spi.PropertyContainer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.PropertyContainer].getProperty(java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].getSystemProperty(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].getEnv(java.lang.String)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.OptionHelper:122"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:126"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:125"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:122"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:126"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:125"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:126"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:129"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:128"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:129"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:132"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:131"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:119,1"
      Dst: "[ch.qos.logback.core.spi.PropertyContainer].getProperty(java.lang.String)"
    - Src: "ch.qos.logback.core.util.OptionHelper:127,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].getSystemProperty(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.util.OptionHelper:130,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].getEnv(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.joran.conditional.PropertyWrapperForScripts].p(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.conditional.PropertyWrapperForScripts"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.conditional.PropertyWrapperForScripts].property(java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.conditional.PropertyWrapperForScripts:41,1"
      Dst: "[ch.qos.logback.core.joran.conditional.PropertyWrapperForScripts].property(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.conditional.PropertyWrapperForScripts].property(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.conditional.PropertyWrapperForScripts"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.OptionHelper].propertyLookup(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.conditional.PropertyWrapperForScripts:46"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.conditional.PropertyWrapperForScripts:49"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.conditional.PropertyWrapperForScripts:48"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.conditional.PropertyWrapperForScripts:45,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].propertyLookup(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].propertyLookup(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "ch.qos.logback.core.spi.PropertyContainer"
    - "ch.qos.logback.core.spi.PropertyContainer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.PropertyContainer].getProperty(java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].getSystemProperty(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].getEnv(java.lang.String)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.OptionHelper:122"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:126"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:125"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:122"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:126"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:125"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:126"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:129"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:128"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:129"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:132"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:131"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:119,1"
      Dst: "[ch.qos.logback.core.spi.PropertyContainer].getProperty(java.lang.String)"
    - Src: "ch.qos.logback.core.util.OptionHelper:127,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].getSystemProperty(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.util.OptionHelper:130,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].getEnv(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.joran.conditional.PropertyWrapperForScripts].property(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.conditional.PropertyWrapperForScripts"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.OptionHelper].propertyLookup(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.conditional.PropertyWrapperForScripts:46"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.conditional.PropertyWrapperForScripts:49"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.conditional.PropertyWrapperForScripts:48"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.conditional.PropertyWrapperForScripts:45,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].propertyLookup(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ConfigurationWatchList"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - "[java.util.ArrayList].<init>()"
    functionUses: 2
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:27,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:30,1"
      Dst: "[java.util.ArrayList].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].buildClone()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ConfigurationWatchList"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 2
    returnType: "ch.qos.logback.core.joran.spi.ConfigurationWatchList"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].<init>()"
    - "[java.util.ArrayList].<init>(java.util.Collection)"
    functionUses: 1
    ICount: 14
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:34,1"
      Dst: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].<init>()"
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:36,1"
      Dst: "[java.util.ArrayList].<init>(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ConfigurationWatchList"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - "[java.util.ArrayList].<init>()"
    functionUses: 2
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:27,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:30,1"
      Dst: "[java.util.ArrayList].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 34
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:34,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].clear()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ConfigurationWatchList"
    linkageType: null
    functionLinenumber: 41
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].clear()"
    - "[java.util.List].clear()"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:43,1"
      Dst: "[java.util.List].clear()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].setMainURL(java.net.URL)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ConfigurationWatchList"
    linkageType: null
    functionLinenumber: 53
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.net.URL"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].addAsFileToWatch(java.net.URL)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:55"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:57"
        BranchSideFuncs:
        - "addAsFileToWatch(java.net.URL)"
      - BranchSide: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:56"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:56,1"
      Dst: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].addAsFileToWatch(java.net.URL)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].addAsFileToWatch(java.net.URL)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ConfigurationWatchList"
    linkageType: null
    functionLinenumber: 59
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.net.URL"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].convertToFile(java.net.URL)"
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.util.List].add(java.lang.Object)"
    - "[java.io.File].lastModified()"
    - "[java.lang.Long].valueOf(long)"
    functionUses: 2
    ICount: 11
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:65"
        BranchSideFuncs:
        - "add(java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:64"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:60,1"
      Dst: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].convertToFile(java.net.URL)"
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:62,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:63,1"
      Dst: "[java.io.File].lastModified()"
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:63,1"
      Dst: "[java.lang.Long].valueOf(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].addAsFileToWatch(java.net.URL)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ConfigurationWatchList"
    linkageType: null
    functionLinenumber: 59
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.net.URL"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].convertToFile(java.net.URL)"
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.util.List].add(java.lang.Object)"
    - "[java.io.File].lastModified()"
    - "[java.lang.Long].valueOf(long)"
    functionUses: 2
    ICount: 11
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:65"
        BranchSideFuncs:
        - "add(java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:64"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:60,1"
      Dst: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].convertToFile(java.net.URL)"
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:62,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:63,1"
      Dst: "[java.io.File].lastModified()"
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:63,1"
      Dst: "[java.lang.Long].valueOf(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].addToWatchList(java.net.URL)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ConfigurationWatchList"
    linkageType: null
    functionLinenumber: 67
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.net.URL"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].addAsFileToWatch(java.net.URL)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:68,1"
      Dst: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].addAsFileToWatch(java.net.URL)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].getMainURL()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ConfigurationWatchList"
    linkageType: null
    functionLinenumber: 71
    functionDepth: 0
    returnType: "java.net.URL"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].getCopyOfFileWatchList()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ConfigurationWatchList"
    linkageType: null
    functionLinenumber: 75
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>(java.util.Collection)"
    functionUses: 3
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:76,1"
      Dst: "[java.util.ArrayList].<init>(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].changeDetected()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ConfigurationWatchList"
    linkageType: null
    functionLinenumber: 79
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.util.COWArrayList].get(int)"
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    - "[java.lang.Long].longValue()"
    - "[java.io.File].lastModified()"
    functionUses: 2
    ICount: 19
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:81"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:88"
        BranchSideFuncs:
        - "get(int)"
      - BranchSide: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:87"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:84"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:80"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:79"
        BranchSideFuncs:
        - "size()"
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:80,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:82,1"
      Dst: "[java.util.List].get(int)"
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:82,1"
      Dst: "[java.lang.Long].longValue()"
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:84,1"
      Dst: "[java.io.File].lastModified()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].convertToFile(java.net.URL)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ConfigurationWatchList"
    linkageType: null
    functionLinenumber: 94
    functionDepth: 2
    returnType: "java.io.File"
    argCount: 1
    argTypes:
    - "java.net.URL"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[java.net.URL].getProtocol()"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.net.URL].getFile()"
    - "[java.net.URLDecoder].decode(java.lang.String)"
    - "[java.io.File].<init>(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.net.URL)"
    functionUses: 1
    ICount: 14
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:96"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:99"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:98"
        BranchSideFuncs:
        - "addInfo(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:95,1"
      Dst: "[java.net.URL].getProtocol()"
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:96,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:97,1"
      Dst: "[java.net.URL].getFile()"
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:97,1"
      Dst: "[java.net.URLDecoder].decode(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:97,1"
      Dst: "[java.io.File].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:99,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.net.URL)"
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:99,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.AbstractComponentTracker$3].<init>(ch.qos.logback.core.spi.AbstractComponentTracker)"
    functionSourceFile: "ch.qos.logback.core.spi.AbstractComponentTracker$3"
    linkageType: null
    functionLinenumber: 206
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.spi.AbstractComponentTracker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.AbstractComponentTracker$3:207,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.AbstractComponentTracker$3].isSlatedForRemoval(ch.qos.logback.core.spi.AbstractComponentTracker$Entry,long)"
    functionSourceFile: "ch.qos.logback.core.spi.AbstractComponentTracker$3"
    linkageType: null
    functionLinenumber: 208
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.spi.AbstractComponentTracker$Entry"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.AbstractComponentTracker].isEntryDoneLingering(ch.qos.logback.core.spi.AbstractComponentTracker$Entry,long)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.AbstractComponentTracker$3:209,1"
      Dst: "[ch.qos.logback.core.spi.AbstractComponentTracker].isEntryDoneLingering(ch.qos.logback.core.spi.AbstractComponentTracker$Entry,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.SyslogStartConverter].<init>()"
    functionSourceFile: "ch.qos.logback.classic.pattern.SyslogStartConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.ClassicConverter].<init>()"
    - "[java.util.Calendar].getInstance(java.util.Locale)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.SyslogStartConverter:27,1"
      Dst: "[ch.qos.logback.classic.pattern.ClassicConverter].<init>()"
    - Src: "ch.qos.logback.classic.pattern.SyslogStartConverter:33,1"
      Dst: "[java.util.Calendar].getInstance(java.util.Locale)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.SyslogStartConverter].start()"
    functionSourceFile: "ch.qos.logback.classic.pattern.SyslogStartConverter"
    linkageType: null
    functionLinenumber: 38
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.DynamicConverter].getFirstOption()"
    - "[ch.qos.logback.core.pattern.DynamicConverter].addError(java.lang.String)"
    - "[ch.qos.logback.core.net.SyslogAppenderBase].facilityStringToint(java.lang.String)"
    - "[ch.qos.logback.classic.pattern.SyslogStartConverter].getLocalHostname()"
    - "[ch.qos.logback.core.pattern.DynamicConverter].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].start()"
    - "[java.text.SimpleDateFormat].<init>(java.lang.String,java.util.Locale)"
    functionUses: 6
    ICount: 25
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.SyslogStartConverter:42"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.SyslogStartConverter:47"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.pattern.SyslogStartConverter:46"
        BranchSideFuncs:
        - "facilityStringToint(java.lang.String)"
        - "getLocalHostname()"
        - "addError(java.lang.String,java.lang.Throwable)"
    - Branch String: "ch.qos.logback.classic.pattern.SyslogStartConverter:59"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.SyslogStartConverter:62"
        BranchSideFuncs:
        - "start()"
      - BranchSide: "ch.qos.logback.classic.pattern.SyslogStartConverter:61"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.SyslogStartConverter:41,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].getFirstOption()"
    - Src: "ch.qos.logback.classic.pattern.SyslogStartConverter:43,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].addError(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.SyslogStartConverter:47,1"
      Dst: "[ch.qos.logback.core.net.SyslogAppenderBase].facilityStringToint(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.SyslogStartConverter:49,1"
      Dst: "[ch.qos.logback.classic.pattern.SyslogStartConverter].getLocalHostname()"
    - Src: "ch.qos.logback.classic.pattern.SyslogStartConverter:52,1"
      Dst: "[java.text.SimpleDateFormat].<init>(java.lang.String,java.util.Locale)"
    - Src: "ch.qos.logback.classic.pattern.SyslogStartConverter:55,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].addError(java.lang.String,java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.pattern.SyslogStartConverter:60,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.pattern.SyslogStartConverter].getLocalHostname()"
    functionSourceFile: "ch.qos.logback.classic.pattern.SyslogStartConverter"
    linkageType: null
    functionLinenumber: 87
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.DynamicConverter].addError(java.lang.String,java.lang.Throwable)"
    - "[java.net.InetAddress].getLocalHost()"
    - "[java.net.InetAddress].getHostName()"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.SyslogStartConverter:88,1"
      Dst: "[java.net.InetAddress].getLocalHost()"
    - Src: "ch.qos.logback.classic.pattern.SyslogStartConverter:89,1"
      Dst: "[java.net.InetAddress].getHostName()"
    - Src: "ch.qos.logback.classic.pattern.SyslogStartConverter:91,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.SyslogStartConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.pattern.SyslogStartConverter"
    linkageType: null
    functionLinenumber: 64
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.util.LevelToSyslogSeverity].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    - "[ch.qos.logback.classic.pattern.SyslogStartConverter].computeTimeStampString(long)"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getTimeStamp()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(int)"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getTimeStamp()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 19
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.SyslogStartConverter:65,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.classic.pattern.SyslogStartConverter:67,1"
      Dst: "[ch.qos.logback.classic.util.LevelToSyslogSeverity].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    - Src: "ch.qos.logback.classic.pattern.SyslogStartConverter:69,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.SyslogStartConverter:70,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "ch.qos.logback.classic.pattern.SyslogStartConverter:72,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getTimeStamp()"
    - Src: "ch.qos.logback.classic.pattern.SyslogStartConverter:72,1"
      Dst: "[ch.qos.logback.classic.pattern.SyslogStartConverter].computeTimeStampString(long)"
    - Src: "ch.qos.logback.classic.pattern.SyslogStartConverter:73,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.classic.pattern.SyslogStartConverter:77,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.LevelToSyslogSeverity].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.util.LevelToSyslogSeverity"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getLevel()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.classic.Level)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 12
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LevelToSyslogSeverity:28,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    - Src: "ch.qos.logback.classic.util.LevelToSyslogSeverity:41,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.classic.Level)"
    - Src: "ch.qos.logback.classic.util.LevelToSyslogSeverity:41,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.SyslogStartConverter].computeTimeStampString(long)"
    functionSourceFile: "ch.qos.logback.classic.pattern.SyslogStartConverter"
    linkageType: null
    functionLinenumber: 96
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Date].<init>(long)"
    - "[java.util.Calendar].setTime(java.util.Date)"
    - "[java.text.DateFormat].format(java.util.Date)"
    - "[java.util.Calendar].get(int)"
    - "[java.lang.Integer].valueOf(int)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    functionUses: 1
    ICount: 32
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.SyslogStartConverter:102"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.SyslogStartConverter:109"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.SyslogStartConverter:108"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.SyslogStartConverter:104,1"
      Dst: "[java.util.Date].<init>(long)"
    - Src: "ch.qos.logback.classic.pattern.SyslogStartConverter:105,1"
      Dst: "[java.util.Calendar].setTime(java.util.Date)"
    - Src: "ch.qos.logback.classic.pattern.SyslogStartConverter:106,1"
      Dst: "[java.text.DateFormat].format(java.util.Date)"
    - Src: "ch.qos.logback.classic.pattern.SyslogStartConverter:107,1"
      Dst: "[java.util.Calendar].get(int)"
    - Src: "ch.qos.logback.classic.pattern.SyslogStartConverter:107,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "ch.qos.logback.classic.pattern.SyslogStartConverter:106,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.SyslogStartConverter].getLocalHostname()"
    functionSourceFile: "ch.qos.logback.classic.pattern.SyslogStartConverter"
    linkageType: null
    functionLinenumber: 87
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.DynamicConverter].addError(java.lang.String,java.lang.Throwable)"
    - "[java.net.InetAddress].getLocalHost()"
    - "[java.net.InetAddress].getHostName()"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.SyslogStartConverter:88,1"
      Dst: "[java.net.InetAddress].getLocalHost()"
    - Src: "ch.qos.logback.classic.pattern.SyslogStartConverter:89,1"
      Dst: "[java.net.InetAddress].getHostName()"
    - Src: "ch.qos.logback.classic.pattern.SyslogStartConverter:91,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.SyslogStartConverter].computeTimeStampString(long)"
    functionSourceFile: "ch.qos.logback.classic.pattern.SyslogStartConverter"
    linkageType: null
    functionLinenumber: 96
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Date].<init>(long)"
    - "[java.util.Calendar].setTime(java.util.Date)"
    - "[java.text.DateFormat].format(java.util.Date)"
    - "[java.util.Calendar].get(int)"
    - "[java.lang.Integer].valueOf(int)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    functionUses: 1
    ICount: 32
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.SyslogStartConverter:102"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.SyslogStartConverter:109"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.SyslogStartConverter:108"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.SyslogStartConverter:104,1"
      Dst: "[java.util.Date].<init>(long)"
    - Src: "ch.qos.logback.classic.pattern.SyslogStartConverter:105,1"
      Dst: "[java.util.Calendar].setTime(java.util.Date)"
    - Src: "ch.qos.logback.classic.pattern.SyslogStartConverter:106,1"
      Dst: "[java.text.DateFormat].format(java.util.Date)"
    - Src: "ch.qos.logback.classic.pattern.SyslogStartConverter:107,1"
      Dst: "[java.util.Calendar].get(int)"
    - Src: "ch.qos.logback.classic.pattern.SyslogStartConverter:107,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "ch.qos.logback.classic.pattern.SyslogStartConverter:106,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.SyslogStartConverter].convert(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.pattern.SyslogStartConverter"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.SyslogStartConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 11
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.SyslogStartConverter:27,1"
      Dst: "[ch.qos.logback.classic.pattern.SyslogStartConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.SyslogStartConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.pattern.SyslogStartConverter"
    linkageType: null
    functionLinenumber: 64
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.util.LevelToSyslogSeverity].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    - "[ch.qos.logback.classic.pattern.SyslogStartConverter].computeTimeStampString(long)"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getTimeStamp()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(int)"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getTimeStamp()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 19
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.SyslogStartConverter:65,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.classic.pattern.SyslogStartConverter:67,1"
      Dst: "[ch.qos.logback.classic.util.LevelToSyslogSeverity].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    - Src: "ch.qos.logback.classic.pattern.SyslogStartConverter:69,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.SyslogStartConverter:70,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "ch.qos.logback.classic.pattern.SyslogStartConverter:72,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getTimeStamp()"
    - Src: "ch.qos.logback.classic.pattern.SyslogStartConverter:72,1"
      Dst: "[ch.qos.logback.classic.pattern.SyslogStartConverter].computeTimeStampString(long)"
    - Src: "ch.qos.logback.classic.pattern.SyslogStartConverter:73,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.classic.pattern.SyslogStartConverter:77,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.SyslogConstants].<init>()"
    functionSourceFile: "ch.qos.logback.core.net.SyslogConstants"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.SyslogConstants:22,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.NetworkAddressUtil].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.util.NetworkAddressUtil"
    linkageType: null
    functionLinenumber: 14
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:15,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:16,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.NetworkAddressUtil].getLocalHostName()"
    functionSourceFile: "ch.qos.logback.core.util.NetworkAddressUtil"
    linkageType: null
    functionLinenumber: 20
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.NetworkAddressUtil].getLocalAddressAsString()"
    - "[java.net.InetAddress].getLocalHost()"
    - "[java.net.InetAddress].getHostName()"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:21,1"
      Dst: "[java.net.InetAddress].getLocalHost()"
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:22,1"
      Dst: "[java.net.InetAddress].getHostName()"
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:24,1"
      Dst: "[ch.qos.logback.core.util.NetworkAddressUtil].getLocalAddressAsString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.NetworkAddressUtil].getCanonicalLocalHostName()"
    functionSourceFile: "ch.qos.logback.core.util.NetworkAddressUtil"
    linkageType: null
    functionLinenumber: 29
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.NetworkAddressUtil].getLocalAddressAsString()"
    - "[java.net.InetAddress].getLocalHost()"
    - "[java.net.InetAddress].getCanonicalHostName()"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:30,1"
      Dst: "[java.net.InetAddress].getLocalHost()"
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:31,1"
      Dst: "[java.net.InetAddress].getCanonicalHostName()"
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:33,1"
      Dst: "[ch.qos.logback.core.util.NetworkAddressUtil].getLocalAddressAsString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.NetworkAddressUtil].getLocalAddressAsString()"
    functionSourceFile: "ch.qos.logback.core.util.NetworkAddressUtil"
    linkageType: null
    functionLinenumber: 37
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.NetworkAddressUtil].acceptableAddress(java.net.InetAddress)"
    - "[java.net.NetworkInterface].getNetworkInterfaces()"
    - "[java.util.Enumeration].hasMoreElements()"
    - "[java.util.Enumeration].nextElement()"
    - "[java.net.NetworkInterface].getInetAddresses()"
    - "[java.net.InetAddress].getHostAddress()"
    - "[java.net.UnknownHostException].<init>()"
    functionUses: 2
    ICount: 21
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.NetworkAddressUtil:39"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.NetworkAddressUtil:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.NetworkAddressUtil:47"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.NetworkAddressUtil:39"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.NetworkAddressUtil:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.NetworkAddressUtil:47"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.NetworkAddressUtil:41"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.NetworkAddressUtil:47"
        BranchSideFuncs:
        - "acceptableAddress(java.net.InetAddress)"
      - BranchSide: "ch.qos.logback.core.util.NetworkAddressUtil:46"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.NetworkAddressUtil:41"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.NetworkAddressUtil:47"
        BranchSideFuncs:
        - "acceptableAddress(java.net.InetAddress)"
      - BranchSide: "ch.qos.logback.core.util.NetworkAddressUtil:46"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.NetworkAddressUtil:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.NetworkAddressUtil:46"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.NetworkAddressUtil:45"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:38,1"
      Dst: "[java.net.NetworkInterface].getNetworkInterfaces()"
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:39,1"
      Dst: "[java.util.Enumeration].hasMoreElements()"
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:40,1"
      Dst: "[java.util.Enumeration].nextElement()"
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:40,1"
      Dst: "[java.net.NetworkInterface].getInetAddresses()"
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:43,1"
      Dst: "[ch.qos.logback.core.util.NetworkAddressUtil].acceptableAddress(java.net.InetAddress)"
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:44,1"
      Dst: "[java.net.InetAddress].getHostAddress()"
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:48,1"
      Dst: "[java.net.UnknownHostException].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 11
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.util.NetworkAddressUtil].getLocalAddressAsString()"
    functionSourceFile: "ch.qos.logback.core.util.NetworkAddressUtil"
    linkageType: null
    functionLinenumber: 37
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.NetworkAddressUtil].acceptableAddress(java.net.InetAddress)"
    - "[java.net.NetworkInterface].getNetworkInterfaces()"
    - "[java.util.Enumeration].hasMoreElements()"
    - "[java.util.Enumeration].nextElement()"
    - "[java.net.NetworkInterface].getInetAddresses()"
    - "[java.net.InetAddress].getHostAddress()"
    - "[java.net.UnknownHostException].<init>()"
    functionUses: 2
    ICount: 21
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.NetworkAddressUtil:39"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.NetworkAddressUtil:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.NetworkAddressUtil:47"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.NetworkAddressUtil:39"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.NetworkAddressUtil:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.NetworkAddressUtil:47"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.NetworkAddressUtil:41"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.NetworkAddressUtil:47"
        BranchSideFuncs:
        - "acceptableAddress(java.net.InetAddress)"
      - BranchSide: "ch.qos.logback.core.util.NetworkAddressUtil:46"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.NetworkAddressUtil:41"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.NetworkAddressUtil:47"
        BranchSideFuncs:
        - "acceptableAddress(java.net.InetAddress)"
      - BranchSide: "ch.qos.logback.core.util.NetworkAddressUtil:46"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.NetworkAddressUtil:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.NetworkAddressUtil:46"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.NetworkAddressUtil:45"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:38,1"
      Dst: "[java.net.NetworkInterface].getNetworkInterfaces()"
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:39,1"
      Dst: "[java.util.Enumeration].hasMoreElements()"
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:40,1"
      Dst: "[java.util.Enumeration].nextElement()"
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:40,1"
      Dst: "[java.net.NetworkInterface].getInetAddresses()"
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:43,1"
      Dst: "[ch.qos.logback.core.util.NetworkAddressUtil].acceptableAddress(java.net.InetAddress)"
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:44,1"
      Dst: "[java.net.InetAddress].getHostAddress()"
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:48,1"
      Dst: "[java.net.UnknownHostException].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 11
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.util.NetworkAddressUtil].acceptableAddress(java.net.InetAddress)"
    functionSourceFile: "ch.qos.logback.core.util.NetworkAddressUtil"
    linkageType: null
    functionLinenumber: 51
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.net.InetAddress"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.net.InetAddress].isLoopbackAddress()"
    - "[java.net.InetAddress].isAnyLocalAddress()"
    - "[java.net.InetAddress].isLinkLocalAddress()"
    functionUses: 1
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.NetworkAddressUtil:52"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.NetworkAddressUtil:-1"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.NetworkAddressUtil:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.NetworkAddressUtil:52"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.NetworkAddressUtil:-1"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.NetworkAddressUtil:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.NetworkAddressUtil:52"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.NetworkAddressUtil:-1"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.NetworkAddressUtil:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.NetworkAddressUtil:53"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.NetworkAddressUtil:-2"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:52,1"
      Dst: "[java.net.InetAddress].isLoopbackAddress()"
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:52,1"
      Dst: "[java.net.InetAddress].isAnyLocalAddress()"
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:53,1"
      Dst: "[java.net.InetAddress].isLinkLocalAddress()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.util.NetworkAddressUtil].safelyGetLocalHostName()"
    functionSourceFile: "ch.qos.logback.core.util.NetworkAddressUtil"
    linkageType: null
    functionLinenumber: 60
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.NetworkAddressUtil].getLocalHostName()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:61,1"
      Dst: "[ch.qos.logback.core.util.NetworkAddressUtil].getLocalHostName()"
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:64,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.NetworkAddressUtil].safelyGetCanonicalLocalHostName()"
    functionSourceFile: "ch.qos.logback.core.util.NetworkAddressUtil"
    linkageType: null
    functionLinenumber: 70
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.NetworkAddressUtil].getCanonicalLocalHostName()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:71,1"
      Dst: "[ch.qos.logback.core.util.NetworkAddressUtil].getCanonicalLocalHostName()"
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:74,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.NetworkAddressUtil].getCanonicalLocalHostName()"
    functionSourceFile: "ch.qos.logback.core.util.NetworkAddressUtil"
    linkageType: null
    functionLinenumber: 29
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.NetworkAddressUtil].getLocalAddressAsString()"
    - "[java.net.InetAddress].getLocalHost()"
    - "[java.net.InetAddress].getCanonicalHostName()"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:30,1"
      Dst: "[java.net.InetAddress].getLocalHost()"
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:31,1"
      Dst: "[java.net.InetAddress].getCanonicalHostName()"
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:33,1"
      Dst: "[ch.qos.logback.core.util.NetworkAddressUtil].getLocalAddressAsString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 74
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.CompressionMode].values()"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.CompressionMode"
    linkageType: null
    functionLinenumber: 15
    functionDepth: 0
    returnType: "ch.qos.logback.core.rolling.helper.CompressionMode[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].clone()"
    functionUses: 2
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.CompressionMode:16,1"
      Dst: "[java.lang.Object].clone()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.CompressionMode].valueOf(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.CompressionMode"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.core.rolling.helper.CompressionMode"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.CompressionMode:16,1"
      Dst: "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.CompressionMode].<init>(java.lang.String,int)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.CompressionMode"
    linkageType: null
    functionLinenumber: 15
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].<init>(java.lang.String,int)"
    functionUses: 3
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.CompressionMode:16,1"
      Dst: "[java.lang.Enum].<init>(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.CompressionMode].$values()"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.CompressionMode"
    linkageType: null
    functionLinenumber: 15
    functionDepth: 0
    returnType: "ch.qos.logback.core.rolling.helper.CompressionMode[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.color.WhiteCompositeConverter].<init>()"
    functionSourceFile: "ch.qos.logback.core.pattern.color.WhiteCompositeConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.color.ForegroundCompositeConverterBase].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.color.WhiteCompositeConverter:24,1"
      Dst: "[ch.qos.logback.core.pattern.color.ForegroundCompositeConverterBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.color.WhiteCompositeConverter].getForegroundColorCode(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.pattern.color.WhiteCompositeConverter"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.SequenceNumberGeneratorAction].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.action.SequenceNumberGeneratorAction"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.SequenceNumberGeneratorAction:28,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.SequenceNumberGeneratorAction].buildCurrentModel(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.SequenceNumberGeneratorAction"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 3
    returnType: "ch.qos.logback.core.model.Model"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.SequenceNumberGeneratorModel].<init>()"
    - "[org.xml.sax.helpers.AttributesImpl].getValue(java.lang.String)"
    - "[ch.qos.logback.core.model.ComponentModel].setClassName(java.lang.String)"
    - "[org.xml.sax.Attributes].getValue(java.lang.String)"
    functionUses: 1
    ICount: 9
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.SequenceNumberGeneratorAction:33,1"
      Dst: "[ch.qos.logback.core.model.SequenceNumberGeneratorModel].<init>()"
    - Src: "ch.qos.logback.core.joran.action.SequenceNumberGeneratorAction:34,1"
      Dst: "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.SequenceNumberGeneratorAction:34,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].setClassName(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.SequenceNumberGeneratorModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.SequenceNumberGeneratorModel"
    linkageType: null
    functionLinenumber: 15
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.ComponentModel].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.SequenceNumberGeneratorModel:16,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ComponentModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.ComponentModel"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 8
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.ComponentModel:24,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ComponentModel].setClassName(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.ComponentModel"
    linkageType: null
    functionLinenumber: 47
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 9
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.SequenceNumberGeneratorAction].validPreconditions(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.SequenceNumberGeneratorAction"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 4
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].<init>(ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].validateClassAttribute()"
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].isValid()"
    functionUses: 1
    ICount: 9
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.SequenceNumberGeneratorAction:40,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].<init>(ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    - Src: "ch.qos.logback.core.joran.action.SequenceNumberGeneratorAction:41,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].validateClassAttribute()"
    - Src: "ch.qos.logback.core.joran.action.SequenceNumberGeneratorAction:42,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].isValid()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].<init>(ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 1
    returnType: "void"
    argCount: 4
    argTypes:
    - "ch.qos.logback.core.spi.ContextAware"
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>(ch.qos.logback.core.spi.ContextAware)"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].getContext()"
    - "[ch.qos.logback.core.pattern.DynamicConverter].getContext()"
    - "[ch.qos.logback.core.LayoutBase:ch.qos.logback.core.spi.ContextAwareBase:ch.qos.logback.core.spi.ContextAwareImpl].getContext()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAware].getContext()"
    functionUses: 16
    ICount: 13
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:33,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>(ch.qos.logback.core.spi.ContextAware)"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:34,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].getContext()"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:34,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].validateClassAttribute()"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 53
    functionDepth: 3
    returnType: "ch.qos.logback.core.joran.action.PreconditionValidator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].generic(java.lang.String)"
    functionUses: 6
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:54,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].generic(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].generic(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 69
    functionDepth: 2
    returnType: "ch.qos.logback.core.joran.action.PreconditionValidator"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.xml.sax.helpers.AttributesImpl].getValue(java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.joran.action.Action].getLineNumber(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext)"
    - "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,int)"
    functionUses: 7
    ICount: 13
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.action.PreconditionValidator:71"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.PreconditionValidator:75"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:70,1"
      Dst: "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:71,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:73,1"
      Dst: "[ch.qos.logback.core.joran.action.Action].getLineNumber(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext)"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:73,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,int)"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:72,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 282
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    - "[java.lang.String].length()"
    functionUses: 62
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].length()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].isValid()"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 79
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 16
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.beans.BeanUtil].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.util.beans.BeanUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:10,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.beans.BeanUtil].isAdder(java.lang.reflect.Method)"
    functionSourceFile: "ch.qos.logback.core.joran.util.beans.BeanUtil"
    linkageType: null
    functionLinenumber: 24
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Method"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.beans.BeanUtil].getParameterCount(java.lang.reflect.Method)"
    - "[java.lang.reflect.Method].getReturnType()"
    - "[java.lang.reflect.Method].getName()"
    - "[java.lang.String].startsWith(java.lang.String)"
    functionUses: 1
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanUtil:26"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:29"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:28"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanUtil:30"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:33"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:32"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:25,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanUtil].getParameterCount(java.lang.reflect.Method)"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:29,1"
      Dst: "[java.lang.reflect.Method].getReturnType()"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:33,1"
      Dst: "[java.lang.reflect.Method].getName()"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:34,1"
      Dst: "[java.lang.String].startsWith(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.beans.BeanUtil].isGetter(java.lang.reflect.Method)"
    functionSourceFile: "ch.qos.logback.core.joran.util.beans.BeanUtil"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Method"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.beans.BeanUtil].getParameterCount(java.lang.reflect.Method)"
    - "[java.lang.reflect.Method].getReturnType()"
    - "[java.lang.reflect.Method].getName()"
    - "[java.lang.String].startsWith(java.lang.String)"
    - "[java.lang.Object].equals(java.lang.Object)"
    functionUses: 1
    ICount: 23
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanUtil:44"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:47"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:46"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanUtil:48"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:51"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:50"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanUtil:52"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:55"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:54"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanUtil:52"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:55"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:54"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanUtil:55"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:60"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:59"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanUtil:56"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:60"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:59"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanUtil:56"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:60"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:59"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:43,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanUtil].getParameterCount(java.lang.reflect.Method)"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:47,1"
      Dst: "[java.lang.reflect.Method].getReturnType()"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:51,1"
      Dst: "[java.lang.reflect.Method].getName()"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:52,1"
      Dst: "[java.lang.String].startsWith(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:56,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 12
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.joran.util.beans.BeanUtil].getParameterCount(java.lang.reflect.Method)"
    functionSourceFile: "ch.qos.logback.core.joran.util.beans.BeanUtil"
    linkageType: null
    functionLinenumber: 63
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Method"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.reflect.Method].getParameterTypes()"
    functionUses: 3
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:64,1"
      Dst: "[java.lang.reflect.Method].getParameterTypes()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.beans.BeanUtil].isSetter(java.lang.reflect.Method)"
    functionSourceFile: "ch.qos.logback.core.joran.util.beans.BeanUtil"
    linkageType: null
    functionLinenumber: 72
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Method"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.beans.BeanUtil].getParameterCount(java.lang.reflect.Method)"
    - "[java.lang.reflect.Method].getReturnType()"
    - "[java.lang.reflect.Method].getName()"
    - "[java.lang.String].startsWith(java.lang.String)"
    functionUses: 1
    ICount: 13
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanUtil:74"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:77"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:76"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanUtil:78"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:81"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:80"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanUtil:82"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:85"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:84"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:73,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanUtil].getParameterCount(java.lang.reflect.Method)"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:77,1"
      Dst: "[java.lang.reflect.Method].getReturnType()"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:81,1"
      Dst: "[java.lang.reflect.Method].getName()"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:82,1"
      Dst: "[java.lang.String].startsWith(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.beans.BeanUtil].getPropertyName(java.lang.reflect.Method)"
    functionSourceFile: "ch.qos.logback.core.joran.util.beans.BeanUtil"
    linkageType: null
    functionLinenumber: 93
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Method"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.beans.BeanUtil].getSubstringIfPrefixMatches(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.joran.util.beans.BeanUtil].toLowerCamelCase(java.lang.String)"
    - "[java.lang.reflect.Method].getName()"
    functionUses: 3
    ICount: 12
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanUtil:96"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:99"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:98"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanUtil:99"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:102"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:101"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanUtil:102"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:105"
        BranchSideFuncs:
        - "getSubstringIfPrefixMatches(java.lang.String,java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:104"
        BranchSideFuncs:
        - "toLowerCamelCase(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:94,1"
      Dst: "[java.lang.reflect.Method].getName()"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:95,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanUtil].getSubstringIfPrefixMatches(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:105,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanUtil].toLowerCamelCase(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.joran.util.beans.BeanUtil].toLowerCamelCase(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.util.beans.BeanUtil"
    linkageType: null
    functionLinenumber: 117
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].isEmpty()"
    - "[java.lang.String].length()"
    - "[java.lang.String].charAt(int)"
    - "[java.lang.Character].isUpperCase(char)"
    - "[java.lang.String].toCharArray()"
    - "[java.lang.Character].toLowerCase(char)"
    - "[java.lang.String].<init>(char[])"
    functionUses: 3
    ICount: 22
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanUtil:118"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:121"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:120"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanUtil:121"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:124"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:123"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanUtil:124"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:127"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:126"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanUtil:124"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:127"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:126"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanUtil:124"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:127"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:126"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:121,1"
      Dst: "[java.lang.String].isEmpty()"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:124,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:124,1"
      Dst: "[java.lang.String].charAt(int)"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:124,1"
      Dst: "[java.lang.Character].isUpperCase(char)"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:127,1"
      Dst: "[java.lang.String].toCharArray()"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:128,1"
      Dst: "[java.lang.Character].toLowerCase(char)"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:129,1"
      Dst: "[java.lang.String].<init>(char[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.joran.util.beans.BeanUtil].getSubstringIfPrefixMatches(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.util.beans.BeanUtil"
    linkageType: null
    functionLinenumber: 132
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].startsWith(java.lang.String)"
    - "[java.lang.String].length()"
    - "[java.lang.String].substring(int)"
    functionUses: 4
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanUtil:133"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:136"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanUtil:135"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:133,1"
      Dst: "[java.lang.String].startsWith(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:134,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanUtil:134,1"
      Dst: "[java.lang.String].substring(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ElementSelector].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementSelector"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ElementPath].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementSelector:33,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ElementSelector].<init>(java.util.List)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementSelector"
    linkageType: null
    functionLinenumber: 36
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ElementPath].<init>(java.util.List)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementSelector:37,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].<init>(java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ElementSelector].<init>(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementSelector"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ElementPath].<init>(java.lang.String)"
    functionUses: 35
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementSelector:47,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ElementSelector].fullPathMatch(ch.qos.logback.core.joran.spi.ElementPath)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementSelector"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.joran.spi.ElementPath"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ElementPath].size()"
    - "[ch.qos.logback.core.joran.spi.ElementSelector].equalityCheck(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.joran.spi.ElementPath].get(int)"
    functionUses: 1
    ICount: 17
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.ElementSelector:51"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:55"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:54"
        BranchSideFuncs:
        - "size()"
    - Branch String: "ch.qos.logback.core.joran.spi.ElementSelector:56"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:62"
        BranchSideFuncs:
        - "equalityCheck(java.lang.String,java.lang.String)"
        - "get(int)"
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:61"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.ElementSelector:57"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:55"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:54"
        BranchSideFuncs:
        - "size()"
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementSelector:51,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].size()"
    - Src: "ch.qos.logback.core.joran.spi.ElementSelector:57,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].get(int)"
    - Src: "ch.qos.logback.core.joran.spi.ElementSelector:57,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementSelector].equalityCheck(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.spi.ElementPath].size()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementPath"
    linkageType: null
    functionLinenumber: 119
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].size()"
    functionUses: 14
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:120,1"
      Dst: "[java.util.ArrayList].size()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ElementPath].get(int)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementPath"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].get(int)"
    functionUses: 9
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:101,1"
      Dst: "[java.util.ArrayList].get(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ElementSelector].equalityCheck(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementSelector"
    linkageType: null
    functionLinenumber: 142
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    functionUses: 5
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementSelector:143,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ElementSelector].getTailMatchLength(ch.qos.logback.core.joran.spi.ElementPath)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementSelector"
    linkageType: null
    functionLinenumber: 70
    functionDepth: 1
    returnType: "int"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.joran.spi.ElementPath"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ElementSelector].equalityCheck(java.lang.String,java.lang.String)"
    - "[java.util.ArrayList].size()"
    - "[java.util.ArrayList].get(int)"
    functionUses: 1
    ICount: 33
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.ElementSelector:71"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:75"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:74"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.ElementSelector:79"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:80"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:79"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.ElementSelector:79"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:83"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:82"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.ElementSelector:83"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:83"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:82"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.ElementSelector:87"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:97"
        BranchSideFuncs:
        - "equalityCheck(java.lang.String,java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:96"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.ElementSelector:91"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:96"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementSelector:75,1"
      Dst: "[java.util.ArrayList].size()"
    - Src: "ch.qos.logback.core.joran.spi.ElementSelector:88,1"
      Dst: "[java.util.ArrayList].get(int)"
    - Src: "ch.qos.logback.core.joran.spi.ElementSelector:91,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementSelector].equalityCheck(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 13
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.joran.spi.ElementSelector].equalityCheck(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementSelector"
    linkageType: null
    functionLinenumber: 142
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    functionUses: 5
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementSelector:143,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ElementSelector].isContainedIn(ch.qos.logback.core.joran.spi.ElementPath)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementSelector"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.joran.spi.ElementPath"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ElementPath].toStableString()"
    - "[java.lang.String].contains(java.lang.CharSequence)"
    functionUses: 1
    ICount: 8
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.ElementSelector:101"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:104"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:103"
        BranchSideFuncs:
        - "toStableString()"
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementSelector:104,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].toStableString()"
    - Src: "ch.qos.logback.core.joran.spi.ElementSelector:104,1"
      Dst: "[java.lang.String].contains(java.lang.CharSequence)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ElementPath].toStableString()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementPath"
    linkageType: null
    functionLinenumber: 123
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.util.ArrayList].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 3
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.ElementPath:125"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:128"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:127"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:124,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:125,1"
      Dst: "[java.util.ArrayList].iterator()"
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:125,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:125,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:126,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:128,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.spi.ElementSelector].getPrefixMatchLength(ch.qos.logback.core.joran.spi.ElementPath)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementSelector"
    linkageType: null
    functionLinenumber: 112
    functionDepth: 1
    returnType: "int"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.joran.spi.ElementPath"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ElementSelector].equalityCheck(java.lang.String,java.lang.String)"
    - "[java.util.ArrayList].size()"
    - "[java.util.ArrayList].get(int)"
    functionUses: 1
    ICount: 31
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.ElementSelector:113"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:117"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:116"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.ElementSelector:121"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:122"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:121"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.ElementSelector:121"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:125"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:124"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.ElementSelector:125"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:125"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:124"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.ElementSelector:128"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:139"
        BranchSideFuncs:
        - "equalityCheck(java.lang.String,java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:138"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.ElementSelector:132"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:138"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementSelector:117,1"
      Dst: "[java.util.ArrayList].size()"
    - Src: "ch.qos.logback.core.joran.spi.ElementSelector:129,1"
      Dst: "[java.util.ArrayList].get(int)"
    - Src: "ch.qos.logback.core.joran.spi.ElementSelector:132,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementSelector].equalityCheck(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 13
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.joran.spi.ElementSelector].equalityCheck(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementSelector"
    linkageType: null
    functionLinenumber: 142
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    functionUses: 5
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementSelector:143,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ElementSelector].equalityCheck(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementSelector"
    linkageType: null
    functionLinenumber: 142
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    functionUses: 5
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementSelector:143,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ElementSelector].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementSelector"
    linkageType: null
    functionLinenumber: 147
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ElementPath].size()"
    - "[ch.qos.logback.core.joran.spi.ElementSelector].equalityCheck(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.joran.spi.ElementPath].get(int)"
    functionUses: 7
    ICount: 22
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.ElementSelector:148"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:149"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:148"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.ElementSelector:148"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:152"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:151"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.ElementSelector:154"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:158"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:157"
        BranchSideFuncs:
        - "size()"
    - Branch String: "ch.qos.logback.core.joran.spi.ElementSelector:160"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:167"
        BranchSideFuncs:
        - "equalityCheck(java.lang.String,java.lang.String)"
        - "get(int)"
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:166"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.ElementSelector:161"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:158"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:157"
        BranchSideFuncs:
        - "size()"
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementSelector:154,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].size()"
    - Src: "ch.qos.logback.core.joran.spi.ElementSelector:161,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].get(int)"
    - Src: "ch.qos.logback.core.joran.spi.ElementSelector:161,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementSelector].equalityCheck(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 11
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.joran.spi.ElementPath].size()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementPath"
    linkageType: null
    functionLinenumber: 119
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].size()"
    functionUses: 14
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:120,1"
      Dst: "[java.util.ArrayList].size()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ElementPath].get(int)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementPath"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].get(int)"
    functionUses: 9
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:101,1"
      Dst: "[java.util.ArrayList].get(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ElementSelector].equalityCheck(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementSelector"
    linkageType: null
    functionLinenumber: 142
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    functionUses: 5
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementSelector:143,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ElementSelector].hashCode()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementSelector"
    linkageType: null
    functionLinenumber: 171
    functionDepth: 1
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ElementPath].size()"
    - "[ch.qos.logback.core.joran.spi.ElementPath].get(int)"
    - "[java.lang.String].toLowerCase()"
    - "[java.lang.String].hashCode()"
    functionUses: 4
    ICount: 12
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.ElementSelector:175"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:179"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementSelector:173,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].size()"
    - Src: "ch.qos.logback.core.joran.spi.ElementSelector:178,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].get(int)"
    - Src: "ch.qos.logback.core.joran.spi.ElementSelector:178,1"
      Dst: "[java.lang.String].toLowerCase()"
    - Src: "ch.qos.logback.core.joran.spi.ElementSelector:178,1"
      Dst: "[java.lang.String].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.spi.ElementPath].size()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementPath"
    linkageType: null
    functionLinenumber: 119
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].size()"
    functionUses: 14
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:120,1"
      Dst: "[java.util.ArrayList].size()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ElementPath].get(int)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementPath"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].get(int)"
    functionUses: 9
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:101,1"
      Dst: "[java.util.ArrayList].get(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].<init>()"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:28,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 3
    returnType: "java.lang.Object"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Class"
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].getClassLoaderOfObject(java.lang.Object)"
    - "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,java.lang.ClassLoader)"
    functionUses: 12
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:32,1"
      Dst: "[ch.qos.logback.core.util.Loader].getClassLoaderOfObject(java.lang.Object)"
    - Src: "ch.qos.logback.core.util.OptionHelper:33,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,java.lang.ClassLoader)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].instantiateByClassNameAndParameter(java.lang.String,java.lang.Class,ch.qos.logback.core.Context,java.lang.Class,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 3
    returnType: "java.lang.Object"
    argCount: 5
    argTypes:
    - "java.lang.String"
    - "java.lang.Class"
    - "ch.qos.logback.core.Context"
    - "java.lang.Class"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].getClassLoaderOfObject(java.lang.Object)"
    - "[ch.qos.logback.core.util.OptionHelper].instantiateByClassNameAndParameter(java.lang.String,java.lang.Class,java.lang.ClassLoader,java.lang.Class,java.lang.Object)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:38,1"
      Dst: "[ch.qos.logback.core.util.Loader].getClassLoaderOfObject(java.lang.Object)"
    - Src: "ch.qos.logback.core.util.OptionHelper:39,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].instantiateByClassNameAndParameter(java.lang.String,java.lang.Class,java.lang.ClassLoader,java.lang.Class,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.Loader].getClassLoaderOfObject(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.util.Loader"
    linkageType: null
    functionLinenumber: 142
    functionDepth: 2
    returnType: "java.lang.ClassLoader"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].getClassLoaderOfClass(java.lang.Class)"
    - "[java.lang.NullPointerException].<init>(java.lang.String)"
    - "[java.lang.Object].getClass()"
    functionUses: 5
    ICount: 8
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.Loader:143"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.Loader:146"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.Loader:145"
        BranchSideFuncs:
        - "getClassLoaderOfClass(java.lang.Class)"
    Callsites:
    - Src: "ch.qos.logback.core.util.Loader:144,1"
      Dst: "[java.lang.NullPointerException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.util.Loader:146,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.util.Loader:146,1"
      Dst: "[ch.qos.logback.core.util.Loader].getClassLoaderOfClass(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].instantiateByClassNameAndParameter(java.lang.String,java.lang.Class,java.lang.ClassLoader,java.lang.Class,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 5
    argTypes:
    - "java.lang.String"
    - "java.lang.Class"
    - "java.lang.ClassLoader"
    - "java.lang.Class"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.IncompatibleClassException].<init>(java.lang.Class,java.lang.Class)"
    - "[ch.qos.logback.core.util.DynamicClassLoadingException].<init>(java.lang.String,java.lang.Throwable)"
    - "[java.lang.NullPointerException].<init>()"
    - "[java.lang.ClassLoader].loadClass(java.lang.String)"
    - "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    - "[java.lang.Class].getConstructor(java.lang.Class[])"
    - "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 35
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.OptionHelper:51"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:56"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:55"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:57"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:60"
        BranchSideFuncs:
        - "<init>(java.lang.Class,java.lang.Class)"
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:59"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:60"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:63"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:62"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:52,1"
      Dst: "[java.lang.NullPointerException].<init>()"
    - Src: "ch.qos.logback.core.util.OptionHelper:56,1"
      Dst: "[java.lang.ClassLoader].loadClass(java.lang.String)"
    - Src: "ch.qos.logback.core.util.OptionHelper:57,1"
      Dst: "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    - Src: "ch.qos.logback.core.util.OptionHelper:58,1"
      Dst: "[ch.qos.logback.core.util.IncompatibleClassException].<init>(java.lang.Class,java.lang.Class)"
    - Src: "ch.qos.logback.core.util.OptionHelper:61,1"
      Dst: "[java.lang.Class].getConstructor(java.lang.Class[])"
    - Src: "ch.qos.logback.core.util.OptionHelper:61,1"
      Dst: "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    - Src: "ch.qos.logback.core.util.OptionHelper:69,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.util.OptionHelper:69,1"
      Dst: "[ch.qos.logback.core.util.DynamicClassLoadingException].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,java.lang.ClassLoader)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 2
    returnType: "java.lang.Object"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Class"
    - "java.lang.ClassLoader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.OptionHelper].instantiateByClassNameAndParameter(java.lang.String,java.lang.Class,java.lang.ClassLoader,java.lang.Class,java.lang.Object)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:44,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].instantiateByClassNameAndParameter(java.lang.String,java.lang.Class,java.lang.ClassLoader,java.lang.Class,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].instantiateByClassNameAndParameter(java.lang.String,java.lang.Class,java.lang.ClassLoader,java.lang.Class,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 5
    argTypes:
    - "java.lang.String"
    - "java.lang.Class"
    - "java.lang.ClassLoader"
    - "java.lang.Class"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.IncompatibleClassException].<init>(java.lang.Class,java.lang.Class)"
    - "[ch.qos.logback.core.util.DynamicClassLoadingException].<init>(java.lang.String,java.lang.Throwable)"
    - "[java.lang.NullPointerException].<init>()"
    - "[java.lang.ClassLoader].loadClass(java.lang.String)"
    - "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    - "[java.lang.Class].getConstructor(java.lang.Class[])"
    - "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 35
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.OptionHelper:51"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:56"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:55"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:57"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:60"
        BranchSideFuncs:
        - "<init>(java.lang.Class,java.lang.Class)"
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:59"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:60"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:63"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:62"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:52,1"
      Dst: "[java.lang.NullPointerException].<init>()"
    - Src: "ch.qos.logback.core.util.OptionHelper:56,1"
      Dst: "[java.lang.ClassLoader].loadClass(java.lang.String)"
    - Src: "ch.qos.logback.core.util.OptionHelper:57,1"
      Dst: "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    - Src: "ch.qos.logback.core.util.OptionHelper:58,1"
      Dst: "[ch.qos.logback.core.util.IncompatibleClassException].<init>(java.lang.Class,java.lang.Class)"
    - Src: "ch.qos.logback.core.util.OptionHelper:61,1"
      Dst: "[java.lang.Class].getConstructor(java.lang.Class[])"
    - Src: "ch.qos.logback.core.util.OptionHelper:61,1"
      Dst: "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    - Src: "ch.qos.logback.core.util.OptionHelper:69,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.util.OptionHelper:69,1"
      Dst: "[ch.qos.logback.core.util.DynamicClassLoadingException].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 12
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "ch.qos.logback.core.spi.PropertyContainer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.OptionHelper].substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:104,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 111
    functionDepth: 11
    returnType: "java.lang.String"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "ch.qos.logback.core.spi.PropertyContainer"
    - "ch.qos.logback.core.spi.PropertyContainer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.subst.NodeToStringTransformer].substituteVariable(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    functionUses: 3
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:112,1"
      Dst: "[ch.qos.logback.core.subst.NodeToStringTransformer].substituteVariable(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 111
    functionDepth: 11
    returnType: "java.lang.String"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "ch.qos.logback.core.spi.PropertyContainer"
    - "ch.qos.logback.core.spi.PropertyContainer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.subst.NodeToStringTransformer].substituteVariable(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    functionUses: 3
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:112,1"
      Dst: "[ch.qos.logback.core.subst.NodeToStringTransformer].substituteVariable(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].propertyLookup(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "ch.qos.logback.core.spi.PropertyContainer"
    - "ch.qos.logback.core.spi.PropertyContainer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.PropertyContainer].getProperty(java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].getSystemProperty(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].getEnv(java.lang.String)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.OptionHelper:122"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:126"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:125"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:122"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:126"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:125"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:126"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:129"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:128"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:129"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:132"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:131"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:119,1"
      Dst: "[ch.qos.logback.core.spi.PropertyContainer].getProperty(java.lang.String)"
    - Src: "ch.qos.logback.core.util.OptionHelper:127,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].getSystemProperty(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.util.OptionHelper:130,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].getEnv(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.util.OptionHelper].getSystemProperty(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 145
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].getProperty(java.lang.String,java.lang.String)"
    functionUses: 3
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:146,1"
      Dst: "[java.lang.System].getProperty(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].getEnv(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 159
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].getenv(java.lang.String)"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:160,1"
      Dst: "[java.lang.System].getenv(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].getSystemProperty(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 174
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].getProperty(java.lang.String)"
    functionUses: 4
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:175,1"
      Dst: "[java.lang.System].getProperty(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].setSystemProperties(ch.qos.logback.core.spi.ContextAware,java.util.Properties)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 181
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.spi.ContextAware"
    - "java.util.Properties"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.OptionHelper].setSystemProperty(ch.qos.logback.core.spi.ContextAware,java.lang.String,java.lang.String)"
    - "[java.util.Properties].keySet()"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.Properties].getProperty(java.lang.String)"
    functionUses: 1
    ICount: 12
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.OptionHelper:182"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:187"
        BranchSideFuncs:
        - "setSystemProperty(ch.qos.logback.core.spi.ContextAware,java.lang.String,java.lang.String)"
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:186"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:182,1"
      Dst: "[java.util.Properties].keySet()"
    - Src: "ch.qos.logback.core.util.OptionHelper:182,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "ch.qos.logback.core.util.OptionHelper:182,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.util.OptionHelper:182,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.util.OptionHelper:184,1"
      Dst: "[java.util.Properties].getProperty(java.lang.String)"
    - Src: "ch.qos.logback.core.util.OptionHelper:185,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].setSystemProperty(ch.qos.logback.core.spi.ContextAware,java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.OptionHelper].setSystemProperty(ch.qos.logback.core.spi.ContextAware,java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 190
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.spi.ContextAware"
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].addError(java.lang.String,java.lang.Throwable)"
    - "[java.lang.System].setProperty(java.lang.String,java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAware].addError(java.lang.String,java.lang.Throwable)"
    functionUses: 3
    ICount: 9
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:191,1"
      Dst: "[java.lang.System].setProperty(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.util.OptionHelper:193,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.util.OptionHelper:193,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].getSystemProperties()"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 204
    functionDepth: 0
    returnType: "java.util.Properties"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].getProperties()"
    - "[java.util.Properties].<init>()"
    functionUses: 1
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:205,1"
      Dst: "[java.lang.System].getProperties()"
    - Src: "ch.qos.logback.core.util.OptionHelper:207,1"
      Dst: "[java.util.Properties].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].extractDefaultReplacement(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 219
    functionDepth: 0
    returnType: "java.lang.String[]"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].indexOf(java.lang.String)"
    - "[java.lang.String].substring(int,int)"
    - "[java.lang.String].substring(int)"
    functionUses: 1
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.OptionHelper:221"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:224"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:223"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:226"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:230"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:229"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:225,1"
      Dst: "[java.lang.String].indexOf(java.lang.String)"
    - Src: "ch.qos.logback.core.util.OptionHelper:227,1"
      Dst: "[java.lang.String].substring(int,int)"
    - Src: "ch.qos.logback.core.util.OptionHelper:228,1"
      Dst: "[java.lang.String].substring(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.OptionHelper].toBoolean(java.lang.String,boolean)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 240
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    functionUses: 5
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.OptionHelper:241"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:245"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:244"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:247"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:251"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:250"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:251"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:255"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:254"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:245,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.util.OptionHelper:247,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].isEmpty(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:263,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 282
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    - "[java.lang.String].length()"
    functionUses: 62
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].length()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmpty(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    - "[java.lang.String].length()"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.OptionHelper:273"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:272"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:273"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:272"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:273,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.util.OptionHelper:273,1"
      Dst: "[java.lang.String].length()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 282
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    - "[java.lang.String].length()"
    functionUses: 62
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].length()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmpty(java.lang.Object[])"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 287
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 6
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.OptionHelper:288"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:289"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:288"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:288"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:291"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:290"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.OptionHelper].isNotEmtpy(java.lang.Object[])"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 294
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmpty(java.lang.Object[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.OptionHelper:295"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:294"
        BranchSideFuncs:
        - "isNullOrEmpty(java.lang.Object[])"
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:295,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmpty(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmpty(java.lang.Object[])"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 287
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 6
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.OptionHelper:288"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:289"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:288"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:288"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:291"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:290"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.model.processor.LogbackClassicDefaultNestedComponentRules].<init>()"
    functionSourceFile: "ch.qos.logback.classic.model.processor.LogbackClassicDefaultNestedComponentRules"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.LogbackClassicDefaultNestedComponentRules:42,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.LogbackClassicDefaultNestedComponentRules].addDefaultNestedComponentRegistryRules(ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry)"
    functionSourceFile: "ch.qos.logback.classic.model.processor.LogbackClassicDefaultNestedComponentRules"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry].add(java.lang.Class,java.lang.String,java.lang.Class)"
    - "[ch.qos.logback.core.net.ssl.SSLNestedComponentRegistryRules].addDefaultNestedComponentRegistryRules(ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry)"
    functionUses: 2
    ICount: 8
    EdgeCount: 6
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.LogbackClassicDefaultNestedComponentRules:47,1"
      Dst: "[ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry].add(java.lang.Class,java.lang.String,java.lang.Class)"
    - Src: "ch.qos.logback.classic.model.processor.LogbackClassicDefaultNestedComponentRules:55,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLNestedComponentRegistryRules].addDefaultNestedComponentRegistryRules(ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.LogbackClassicDefaultNestedComponentRules].createTuplesList()"
    functionSourceFile: "ch.qos.logback.classic.model.processor.LogbackClassicDefaultNestedComponentRules"
    linkageType: null
    functionLinenumber: 59
    functionDepth: 1
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.ParentTag_Tag_Class_Tuple].<init>(java.lang.String,java.lang.String,java.lang.String)"
    - "[java.util.ArrayList].<init>()"
    - "[java.lang.Class].getName()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 48
    EdgeCount: 9
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.LogbackClassicDefaultNestedComponentRules:60,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.classic.model.processor.LogbackClassicDefaultNestedComponentRules:62,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.classic.model.processor.LogbackClassicDefaultNestedComponentRules:62,1"
      Dst: "[ch.qos.logback.core.joran.util.ParentTag_Tag_Class_Tuple].<init>(java.lang.String,java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.LogbackClassicDefaultNestedComponentRules:62,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.ParentTag_Tag_Class_Tuple].<init>(java.lang.String,java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.util.ParentTag_Tag_Class_Tuple"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 9
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.ParentTag_Tag_Class_Tuple:33,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.DynamicThresholdFilter].<init>()"
    functionSourceFile: "ch.qos.logback.classic.turbo.DynamicThresholdFilter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.turbo.TurboFilter].<init>()"
    - "[java.util.HashMap].<init>()"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.turbo.DynamicThresholdFilter:130,1"
      Dst: "[ch.qos.logback.classic.turbo.TurboFilter].<init>()"
    - Src: "ch.qos.logback.classic.turbo.DynamicThresholdFilter:131,1"
      Dst: "[java.util.HashMap].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.DynamicThresholdFilter].getKey()"
    functionSourceFile: "ch.qos.logback.classic.turbo.DynamicThresholdFilter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.DynamicThresholdFilter].setKey(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.turbo.DynamicThresholdFilter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.DynamicThresholdFilter].getDefaultThreshold()"
    functionSourceFile: "ch.qos.logback.classic.turbo.DynamicThresholdFilter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.classic.Level"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.DynamicThresholdFilter].setDefaultThreshold(ch.qos.logback.classic.Level)"
    functionSourceFile: "ch.qos.logback.classic.turbo.DynamicThresholdFilter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.Level"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.DynamicThresholdFilter].getOnHigherOrEqual()"
    functionSourceFile: "ch.qos.logback.classic.turbo.DynamicThresholdFilter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.core.spi.FilterReply"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.DynamicThresholdFilter].setOnHigherOrEqual(ch.qos.logback.core.spi.FilterReply)"
    functionSourceFile: "ch.qos.logback.classic.turbo.DynamicThresholdFilter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.spi.FilterReply"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.DynamicThresholdFilter].getOnLower()"
    functionSourceFile: "ch.qos.logback.classic.turbo.DynamicThresholdFilter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.core.spi.FilterReply"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.DynamicThresholdFilter].setOnLower(ch.qos.logback.core.spi.FilterReply)"
    functionSourceFile: "ch.qos.logback.classic.turbo.DynamicThresholdFilter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.spi.FilterReply"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.DynamicThresholdFilter].addMDCValueLevelPair(ch.qos.logback.classic.turbo.MDCValueLevelPair)"
    functionSourceFile: "ch.qos.logback.classic.turbo.DynamicThresholdFilter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.turbo.MDCValueLevelPair"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.turbo.MDCValueLevelPair].getValue()"
    - "[java.util.Map].containsKey(java.lang.Object)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.classic.turbo.MDCValueLevelPair].getLevel()"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.turbo.DynamicThresholdFilter:199"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.turbo.DynamicThresholdFilter:202"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.turbo.DynamicThresholdFilter:201"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.turbo.DynamicThresholdFilter:199,1"
      Dst: "[ch.qos.logback.classic.turbo.MDCValueLevelPair].getValue()"
    - Src: "ch.qos.logback.classic.turbo.DynamicThresholdFilter:199,1"
      Dst: "[java.util.Map].containsKey(java.lang.Object)"
    - Src: "ch.qos.logback.classic.turbo.DynamicThresholdFilter:200,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.turbo.DynamicThresholdFilter:200,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.classic.turbo.DynamicThresholdFilter:202,1"
      Dst: "[ch.qos.logback.classic.turbo.MDCValueLevelPair].getLevel()"
    - Src: "ch.qos.logback.classic.turbo.DynamicThresholdFilter:202,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.turbo.MDCValueLevelPair].getValue()"
    functionSourceFile: "ch.qos.logback.classic.turbo.MDCValueLevelPair"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.MDCValueLevelPair].getLevel()"
    functionSourceFile: "ch.qos.logback.classic.turbo.MDCValueLevelPair"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.classic.Level"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.DynamicThresholdFilter].start()"
    functionSourceFile: "ch.qos.logback.classic.turbo.DynamicThresholdFilter"
    linkageType: null
    functionLinenumber: 210
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.classic.turbo.TurboFilter].start()"
    functionUses: 5
    ICount: 6
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.turbo.DynamicThresholdFilter:211"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.turbo.DynamicThresholdFilter:214"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.turbo.DynamicThresholdFilter:213"
        BranchSideFuncs:
        - "start()"
    Callsites:
    - Src: "ch.qos.logback.classic.turbo.DynamicThresholdFilter:212,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.classic.turbo.DynamicThresholdFilter:214,1"
      Dst: "[ch.qos.logback.classic.turbo.TurboFilter].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.DynamicThresholdFilter].decide(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.turbo.DynamicThresholdFilter"
    linkageType: null
    functionLinenumber: 240
    functionDepth: 1
    returnType: "ch.qos.logback.core.spi.FilterReply"
    argCount: 6
    argTypes:
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Logger"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.MDC].get(java.lang.String)"
    - "[ch.qos.logback.classic.turbo.TurboFilter].isStarted()"
    - "[ch.qos.logback.classic.Level].isGreaterOrEqual(ch.qos.logback.classic.Level)"
    - "[java.util.Map].get(java.lang.Object)"
    functionUses: 2
    ICount: 26
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.turbo.DynamicThresholdFilter:242"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.turbo.DynamicThresholdFilter:246"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.turbo.DynamicThresholdFilter:245"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.turbo.DynamicThresholdFilter:247"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.turbo.DynamicThresholdFilter:250"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.turbo.DynamicThresholdFilter:249"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.turbo.DynamicThresholdFilter:250"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.turbo.DynamicThresholdFilter:253"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.turbo.DynamicThresholdFilter:252"
        BranchSideFuncs:
        - "isGreaterOrEqual(ch.qos.logback.classic.Level)"
    - Branch String: "ch.qos.logback.classic.turbo.DynamicThresholdFilter:253"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.turbo.DynamicThresholdFilter:256"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.turbo.DynamicThresholdFilter:255"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.turbo.DynamicThresholdFilter:241,1"
      Dst: "[org.slf4j.MDC].get(java.lang.String)"
    - Src: "ch.qos.logback.classic.turbo.DynamicThresholdFilter:242,1"
      Dst: "[ch.qos.logback.classic.turbo.TurboFilter].isStarted()"
    - Src: "ch.qos.logback.classic.turbo.DynamicThresholdFilter:248,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "ch.qos.logback.classic.turbo.DynamicThresholdFilter:253,1"
      Dst: "[ch.qos.logback.classic.Level].isGreaterOrEqual(ch.qos.logback.classic.Level)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 3
  - functionName: "[org.slf4j.MDC].get(java.lang.String)"
    functionSourceFile: "org.slf4j.MDC"
    linkageType: null
    functionLinenumber: 175
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.util.LogbackMDCAdapterSimple].get(java.lang.String)"
    - "[ch.qos.logback.classic.util.LogbackMDCAdapter].get(java.lang.String)"
    - "[org.slf4j.helpers.BasicMDCAdapter].get(java.lang.String)"
    - "[org.slf4j.helpers.NOPMDCAdapter].get(java.lang.String)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - "[org.slf4j.spi.MDCAdapter].get(java.lang.String)"
    functionUses: 2
    ICount: 13
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "org.slf4j.MDC:176"
      Branch Sides:
      - BranchSide: "org.slf4j.MDC:180"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.MDC:179"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.MDC:180"
      Branch Sides:
      - BranchSide: "org.slf4j.MDC:183"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.MDC:182"
        BranchSideFuncs:
        - "get(java.lang.String)"
    Callsites:
    - Src: "org.slf4j.MDC:177,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "org.slf4j.MDC:181,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - Src: "org.slf4j.MDC:183,1"
      Dst: "[org.slf4j.spi.MDCAdapter].get(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Level].isGreaterOrEqual(ch.qos.logback.classic.Level)"
    functionSourceFile: "ch.qos.logback.classic.Level"
    linkageType: null
    functionLinenumber: 146
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.Level"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Level:147"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Level:146"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.model.ReceiverModel].<init>()"
    functionSourceFile: "ch.qos.logback.classic.model.ReceiverModel"
    linkageType: null
    functionLinenumber: 17
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.ComponentModel].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.ReceiverModel:18,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.ReceiverModel].makeNewInstance()"
    functionSourceFile: "ch.qos.logback.classic.model.ReceiverModel"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 3
    returnType: "ch.qos.logback.classic.model.ReceiverModel"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.model.ReceiverModel].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.ReceiverModel:24,1"
      Dst: "[ch.qos.logback.classic.model.ReceiverModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.ReceiverModel].<init>()"
    functionSourceFile: "ch.qos.logback.classic.model.ReceiverModel"
    linkageType: null
    functionLinenumber: 17
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.ComponentModel].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.ReceiverModel:18,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ComponentModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.ComponentModel"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 8
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.ComponentModel:24,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.LevelConverter].<init>()"
    functionSourceFile: "ch.qos.logback.classic.pattern.LevelConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.ClassicConverter].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.LevelConverter:23,1"
      Dst: "[ch.qos.logback.classic.pattern.ClassicConverter].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.LevelConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.pattern.LevelConverter"
    linkageType: null
    functionLinenumber: 25
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].getLevel()"
    - "[ch.qos.logback.classic.Level].toString()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    functionUses: 1
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.LevelConverter:26,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    - Src: "ch.qos.logback.classic.pattern.LevelConverter:26,1"
      Dst: "[ch.qos.logback.classic.Level].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Level].toString()"
    functionSourceFile: "ch.qos.logback.classic.Level"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 6
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.LevelConverter].convert(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.pattern.LevelConverter"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.LevelConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 11
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.LevelConverter:23,1"
      Dst: "[ch.qos.logback.classic.pattern.LevelConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.LevelConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.pattern.LevelConverter"
    linkageType: null
    functionLinenumber: 25
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].getLevel()"
    - "[ch.qos.logback.classic.Level].toString()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    functionUses: 1
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.LevelConverter:26,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    - Src: "ch.qos.logback.classic.pattern.LevelConverter:26,1"
      Dst: "[ch.qos.logback.classic.Level].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.CharSequenceState].<init>(char)"
    functionSourceFile: "ch.qos.logback.core.util.CharSequenceState"
    linkageType: null
    functionLinenumber: 24
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.CharSequenceState:25,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.CharSequenceState].incrementOccurrences()"
    functionSourceFile: "ch.qos.logback.core.util.CharSequenceState"
    linkageType: null
    functionLinenumber: 30
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.FilterAttachableImpl].<init>()"
    functionSourceFile: "ch.qos.logback.core.spi.FilterAttachableImpl"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].<init>(java.lang.Object[])"
    - "[java.lang.Object].<init>()"
    functionUses: 2
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.FilterAttachableImpl:27,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.spi.FilterAttachableImpl:29,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].<init>(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.FilterAttachableImpl].addFilter(ch.qos.logback.core.filter.Filter)"
    functionSourceFile: "ch.qos.logback.core.spi.FilterAttachableImpl"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.filter.Filter"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.FilterAttachableImpl:36,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: 137
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].markAsStale()"
    - "[java.util.concurrent.CopyOnWriteArrayList].add(java.lang.Object)"
    functionUses: 75
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:138,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].add(java.lang.Object)"
    - Src: "ch.qos.logback.core.util.COWArrayList:139,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].markAsStale()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.COWArrayList].markAsStale()"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: 127
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicBoolean].set(boolean)"
    functionUses: 9
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:128,1"
      Dst: "[java.util.concurrent.atomic.AtomicBoolean].set(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.FilterAttachableImpl].clearAllFilters()"
    functionSourceFile: "ch.qos.logback.core.spi.FilterAttachableImpl"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].clear()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.FilterAttachableImpl:43,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].clear()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.COWArrayList].clear()"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: 184
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].markAsStale()"
    - "[java.util.concurrent.CopyOnWriteArrayList].clear()"
    functionUses: 6
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:185,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].markAsStale()"
    - Src: "ch.qos.logback.core.util.COWArrayList:186,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].clear()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.FilterAttachableImpl].getFilterChainDecision(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.spi.FilterAttachableImpl"
    linkageType: null
    functionLinenumber: 52
    functionDepth: 3
    returnType: "ch.qos.logback.core.spi.FilterReply"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].asTypedArray()"
    - "[ch.qos.logback.classic.filter.ThresholdFilter].decide(java.lang.Object)"
    - "[ch.qos.logback.classic.filter.LevelFilter].decide(java.lang.Object)"
    - "[ch.qos.logback.core.filter.EvaluatorFilter].decide(java.lang.Object)"
    - "[ch.qos.logback.core.filter.Filter].decide(java.lang.Object)"
    functionUses: 2
    ICount: 19
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.FilterAttachableImpl:56"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.FilterAttachableImpl:64"
        BranchSideFuncs:
        - "decide(java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.spi.FilterAttachableImpl:63"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.FilterAttachableImpl:58"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.FilterAttachableImpl:59"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.FilterAttachableImpl:58"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.FilterAttachableImpl:58"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.FilterAttachableImpl:53"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.FilterAttachableImpl:52"
        BranchSideFuncs:
        - "asTypedArray()"
    Callsites:
    - Src: "ch.qos.logback.core.spi.FilterAttachableImpl:53,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].asTypedArray()"
    - Src: "ch.qos.logback.core.spi.FilterAttachableImpl:57,1"
      Dst: "[ch.qos.logback.core.filter.Filter].decide(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.util.COWArrayList].asTypedArray()"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: 122
    functionDepth: 2
    returnType: "java.lang.Object[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].refreshCopyIfNecessary()"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:123,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].refreshCopyIfNecessary()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.FilterAttachableImpl].getCopyOfAttachedFiltersList()"
    functionSourceFile: "ch.qos.logback.core.spi.FilterAttachableImpl"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>(java.util.Collection)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.FilterAttachableImpl:68,1"
      Dst: "[java.util.ArrayList].<init>(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.FormatInfo].<init>()"
    functionSourceFile: "ch.qos.logback.core.pattern.FormatInfo"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.FormatInfo:28,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.FormatInfo].<init>(int,int)"
    functionSourceFile: "ch.qos.logback.core.pattern.FormatInfo"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.FormatInfo:31,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.FormatInfo].<init>(int,int,boolean,boolean)"
    functionSourceFile: "ch.qos.logback.core.pattern.FormatInfo"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 4
    argTypes:
    - "int"
    - "int"
    - "boolean"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.FormatInfo:36,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.FormatInfo].valueOf(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.pattern.FormatInfo"
    linkageType: null
    functionLinenumber: 51
    functionDepth: 1
    returnType: "ch.qos.logback.core.pattern.FormatInfo"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.FormatInfo].<init>()"
    - "[java.lang.NullPointerException].<init>(java.lang.String)"
    - "[java.lang.String].indexOf(int)"
    - "[java.lang.String].substring(int,int)"
    - "[java.lang.String].length()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.String].substring(int)"
    - "[java.lang.Integer].parseInt(java.lang.String)"
    functionUses: 1
    ICount: 44
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.FormatInfo:52"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:56"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:55"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "ch.qos.logback.core.pattern.FormatInfo:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:69"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:68"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.FormatInfo:63"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:66"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:65"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.FormatInfo:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:82"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:81"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.FormatInfo:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:82"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:81"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.FormatInfo:74"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:77"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:76"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.FormatInfo:82"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:92"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:91"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.FormatInfo:82"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:92"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:91"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.FormatInfo:84"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:87"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:86"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.FormatInfo:53,1"
      Dst: "[java.lang.NullPointerException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.pattern.FormatInfo:56,1"
      Dst: "[ch.qos.logback.core.pattern.FormatInfo].<init>()"
    - Src: "ch.qos.logback.core.pattern.FormatInfo:58,1"
      Dst: "[java.lang.String].indexOf(int)"
    - Src: "ch.qos.logback.core.pattern.FormatInfo:62,1"
      Dst: "[java.lang.String].substring(int,int)"
    - Src: "ch.qos.logback.core.pattern.FormatInfo:63,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.core.pattern.FormatInfo:64,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.pattern.FormatInfo:64,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.pattern.FormatInfo:66,1"
      Dst: "[java.lang.String].substring(int)"
    - Src: "ch.qos.logback.core.pattern.FormatInfo:73,1"
      Dst: "[java.lang.Integer].parseInt(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 18
    CyclomaticComplexity: 8
  - functionName: "[ch.qos.logback.core.pattern.FormatInfo].isLeftPad()"
    functionSourceFile: "ch.qos.logback.core.pattern.FormatInfo"
    linkageType: null
    functionLinenumber: 96
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.FormatInfo].setLeftPad(boolean)"
    functionSourceFile: "ch.qos.logback.core.pattern.FormatInfo"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.FormatInfo].getMax()"
    functionSourceFile: "ch.qos.logback.core.pattern.FormatInfo"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.FormatInfo].setMax(int)"
    functionSourceFile: "ch.qos.logback.core.pattern.FormatInfo"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.FormatInfo].getMin()"
    functionSourceFile: "ch.qos.logback.core.pattern.FormatInfo"
    linkageType: null
    functionLinenumber: 112
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.FormatInfo].setMin(int)"
    functionSourceFile: "ch.qos.logback.core.pattern.FormatInfo"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.FormatInfo].isLeftTruncate()"
    functionSourceFile: "ch.qos.logback.core.pattern.FormatInfo"
    linkageType: null
    functionLinenumber: 120
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.FormatInfo].setLeftTruncate(boolean)"
    functionSourceFile: "ch.qos.logback.core.pattern.FormatInfo"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.FormatInfo].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.pattern.FormatInfo"
    linkageType: null
    functionLinenumber: 128
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 7
    ICount: 24
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.FormatInfo:129"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:132"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:131"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.FormatInfo:132"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:135"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:134"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.FormatInfo:137"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.FormatInfo:137"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.FormatInfo:137"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.FormatInfo:137"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:-2"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 11
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.pattern.FormatInfo].hashCode()"
    functionSourceFile: "ch.qos.logback.core.pattern.FormatInfo"
    linkageType: null
    functionLinenumber: 141
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 5
    ICount: 20
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.FormatInfo:144"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:142"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:141"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.FormatInfo:145"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:144"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:143"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.pattern.FormatInfo].toString()"
    functionSourceFile: "ch.qos.logback.core.pattern.FormatInfo"
    linkageType: null
    functionLinenumber: 149
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int,boolean,boolean)"
    functionUses: 3
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.FormatInfo:150,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int,boolean,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__15].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__15"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__15].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__15:-1,1"
      Dst: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__15].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__15].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__15"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__15:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__15].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__15"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__15:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__15].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__15"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.conditional.IfModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__15:-1,1"
      Dst: "[ch.qos.logback.core.model.processor.conditional.IfModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.conditional.IfModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.conditional.IfModelHandler"
    linkageType: null
    functionLinenumber: 44
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.conditional.IfModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.conditional.IfModelHandler:45,1"
      Dst: "[ch.qos.logback.core.model.processor.conditional.IfModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.conditional.IfModelHandler].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.model.processor.conditional.IfModelHandler"
    linkageType: null
    functionLinenumber: 40
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.conditional.IfModelHandler:41,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.LevelModel].<init>()"
    functionSourceFile: "ch.qos.logback.classic.model.LevelModel"
    linkageType: null
    functionLinenumber: 6
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.LevelModel:7,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.LevelModel].makeNewInstance()"
    functionSourceFile: "ch.qos.logback.classic.model.LevelModel"
    linkageType: null
    functionLinenumber: 13
    functionDepth: 2
    returnType: "ch.qos.logback.classic.model.LevelModel"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.model.LevelModel].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.LevelModel:14,1"
      Dst: "[ch.qos.logback.classic.model.LevelModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.LevelModel].<init>()"
    functionSourceFile: "ch.qos.logback.classic.model.LevelModel"
    linkageType: null
    functionLinenumber: 6
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.LevelModel:7,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.ArrayList].<init>()"
    functionUses: 16
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:27,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.model.Model:40,1"
      Dst: "[java.util.ArrayList].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.LevelModel].mirror(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.classic.model.LevelModel"
    linkageType: null
    functionLinenumber: 18
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].mirror(ch.qos.logback.core.model.Model)"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.LevelModel:20,1"
      Dst: "[ch.qos.logback.core.model.Model].mirror(ch.qos.logback.core.model.Model)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].mirror(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 56
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 11
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.LevelModel].getValue()"
    functionSourceFile: "ch.qos.logback.classic.model.LevelModel"
    linkageType: null
    functionLinenumber: 24
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.LevelModel].setValue(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.model.LevelModel"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.LevelModel].hashCode()"
    functionSourceFile: "ch.qos.logback.classic.model.LevelModel"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 1
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].hashCode()"
    - "[java.util.Objects].hash(java.lang.Object[])"
    functionUses: 5
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.LevelModel:35,1"
      Dst: "[ch.qos.logback.core.model.Model].hashCode()"
    - Src: "ch.qos.logback.classic.model.LevelModel:36,1"
      Dst: "[java.util.Objects].hash(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].hashCode()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 145
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Integer].valueOf(int)"
    - "[java.util.Objects].hash(java.lang.Object[])"
    functionUses: 15
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:146,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "ch.qos.logback.core.model.Model:146,1"
      Dst: "[java.util.Objects].hash(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.LevelModel].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.model.LevelModel"
    linkageType: null
    functionLinenumber: 41
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].equals(java.lang.Object)"
    - "[java.lang.Object].getClass()"
    - "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    functionUses: 6
    ICount: 16
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.model.LevelModel:42"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.LevelModel:44"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.model.LevelModel:43"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "ch.qos.logback.classic.model.LevelModel:44"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.LevelModel:46"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.model.LevelModel:45"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.model.LevelModel:46"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.LevelModel:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.model.LevelModel:47"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.LevelModel:44,1"
      Dst: "[ch.qos.logback.core.model.Model].equals(java.lang.Object)"
    - Src: "ch.qos.logback.classic.model.LevelModel:46,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.classic.model.LevelModel:49,1"
      Dst: "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 150
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    functionUses: 16
    ICount: 30
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.Model:151"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:153"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:152"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:153"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:155"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:154"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:155"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:157"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:156"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:158"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:-1"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:158"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:-1"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:159"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:159"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:-2"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:155,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.model.Model:158,1"
      Dst: "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 13
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.joran.action.NOPAction].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.action.NOPAction"
    linkageType: null
    functionLinenumber: 25
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.Action].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.NOPAction:26,1"
      Dst: "[ch.qos.logback.core.joran.action.Action].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.NOPAction].begin(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.NOPAction"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.NOPAction].end(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.action.NOPAction"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.ParamAction].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.action.ParamAction"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.ParamAction:23,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.ParamAction].validPreconditions(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.ParamAction"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 4
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].<init>(ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].validateNameAttribute()"
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].validateValueAttribute()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.joran.action.Action].atLine(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext)"
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].isValid()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 14
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.ParamAction:27,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].<init>(ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    - Src: "ch.qos.logback.core.joran.action.ParamAction:28,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].validateNameAttribute()"
    - Src: "ch.qos.logback.core.joran.action.ParamAction:29,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].validateValueAttribute()"
    - Src: "ch.qos.logback.core.joran.action.ParamAction:31,1"
      Dst: "[ch.qos.logback.core.joran.action.Action].atLine(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext)"
    - Src: "ch.qos.logback.core.joran.action.ParamAction:31,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.ParamAction:31,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.ParamAction:34,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].isValid()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].<init>(ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 1
    returnType: "void"
    argCount: 4
    argTypes:
    - "ch.qos.logback.core.spi.ContextAware"
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>(ch.qos.logback.core.spi.ContextAware)"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].getContext()"
    - "[ch.qos.logback.core.pattern.DynamicConverter].getContext()"
    - "[ch.qos.logback.core.LayoutBase:ch.qos.logback.core.spi.ContextAwareBase:ch.qos.logback.core.spi.ContextAwareImpl].getContext()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAware].getContext()"
    functionUses: 16
    ICount: 13
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:33,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>(ch.qos.logback.core.spi.ContextAware)"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:34,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].getContext()"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:34,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].validateNameAttribute()"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 57
    functionDepth: 3
    returnType: "ch.qos.logback.core.joran.action.PreconditionValidator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].generic(java.lang.String)"
    functionUses: 5
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:58,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].generic(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].generic(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 69
    functionDepth: 2
    returnType: "ch.qos.logback.core.joran.action.PreconditionValidator"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.xml.sax.helpers.AttributesImpl].getValue(java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.joran.action.Action].getLineNumber(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext)"
    - "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,int)"
    functionUses: 7
    ICount: 13
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.action.PreconditionValidator:71"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.PreconditionValidator:75"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:70,1"
      Dst: "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:71,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:73,1"
      Dst: "[ch.qos.logback.core.joran.action.Action].getLineNumber(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext)"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:73,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,int)"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:72,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].validateValueAttribute()"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 61
    functionDepth: 3
    returnType: "ch.qos.logback.core.joran.action.PreconditionValidator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].generic(java.lang.String)"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:62,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].generic(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 96
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].isValid()"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 79
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 16
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.ParamAction].buildCurrentModel(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.ParamAction"
    linkageType: null
    functionLinenumber: 40
    functionDepth: 3
    returnType: "ch.qos.logback.core.model.Model"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.ParamModel].<init>()"
    - "[org.xml.sax.helpers.AttributesImpl].getValue(java.lang.String)"
    - "[ch.qos.logback.core.model.NamedModel].setName(java.lang.String)"
    - "[ch.qos.logback.core.model.ParamModel].setValue(java.lang.String)"
    - "[org.xml.sax.Attributes].getValue(java.lang.String)"
    functionUses: 1
    ICount: 11
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.ParamAction:41,1"
      Dst: "[ch.qos.logback.core.model.ParamModel].<init>()"
    - Src: "ch.qos.logback.core.joran.action.ParamAction:42,1"
      Dst: "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.ParamAction:42,1"
      Dst: "[ch.qos.logback.core.model.NamedModel].setName(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.ParamAction:43,1"
      Dst: "[ch.qos.logback.core.model.ParamModel].setValue(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ParamModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.ParamModel"
    linkageType: null
    functionLinenumber: 4
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.NamedModel].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.ParamModel:5,1"
      Dst: "[ch.qos.logback.core.model.NamedModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.NamedModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.NamedModel"
    linkageType: null
    functionLinenumber: 17
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 5
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.NamedModel:18,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.NamedModel].setName(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.NamedModel"
    linkageType: null
    functionLinenumber: 40
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ParamModel].setValue(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.ParamModel"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ImportModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.ImportModel"
    linkageType: null
    functionLinenumber: 15
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.ImportModel:16,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ImportModel].makeNewInstance()"
    functionSourceFile: "ch.qos.logback.core.model.ImportModel"
    linkageType: null
    functionLinenumber: 24
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.ImportModel"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.ImportModel].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.ImportModel:25,1"
      Dst: "[ch.qos.logback.core.model.ImportModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ImportModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.ImportModel"
    linkageType: null
    functionLinenumber: 15
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.ImportModel:16,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.ArrayList].<init>()"
    functionUses: 16
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:27,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.model.Model:40,1"
      Dst: "[java.util.ArrayList].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ImportModel].mirror(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.ImportModel"
    linkageType: null
    functionLinenumber: 29
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].mirror(ch.qos.logback.core.model.Model)"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.ImportModel:31,1"
      Dst: "[ch.qos.logback.core.model.Model].mirror(ch.qos.logback.core.model.Model)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].mirror(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 56
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 11
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ImportModel].getClassName()"
    functionSourceFile: "ch.qos.logback.core.model.ImportModel"
    linkageType: null
    functionLinenumber: 35
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ImportModel].setClassName(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.ImportModel"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.AllowAllModelFilter].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.processor.AllowAllModelFilter"
    linkageType: null
    functionLinenumber: 5
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.AllowAllModelFilter:6,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.AllowAllModelFilter].decide(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.AllowAllModelFilter"
    linkageType: null
    functionLinenumber: 9
    functionDepth: 0
    returnType: "ch.qos.logback.core.spi.FilterReply"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.color.HighlightingCompositeConverter].<init>()"
    functionSourceFile: "ch.qos.logback.classic.pattern.color.HighlightingCompositeConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.color.ForegroundCompositeConverterBase].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.color.HighlightingCompositeConverter:26,1"
      Dst: "[ch.qos.logback.core.pattern.color.ForegroundCompositeConverterBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.color.HighlightingCompositeConverter].getForegroundColorCode(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.pattern.color.HighlightingCompositeConverter"
    linkageType: null
    functionLinenumber: 29
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].getLevel()"
    - "[ch.qos.logback.classic.Level].toInt()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    functionUses: 1
    ICount: 9
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.color.HighlightingCompositeConverter:30,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    - Src: "ch.qos.logback.classic.pattern.color.HighlightingCompositeConverter:31,1"
      Dst: "[ch.qos.logback.classic.Level].toInt()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Level].toInt()"
    functionSourceFile: "ch.qos.logback.classic.Level"
    linkageType: null
    functionLinenumber: 107
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.color.HighlightingCompositeConverter].getForegroundColorCode(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.pattern.color.HighlightingCompositeConverter"
    linkageType: null
    functionLinenumber: 25
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.color.HighlightingCompositeConverter].getForegroundColorCode(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.color.HighlightingCompositeConverter:26,1"
      Dst: "[ch.qos.logback.classic.pattern.color.HighlightingCompositeConverter].getForegroundColorCode(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.color.HighlightingCompositeConverter].getForegroundColorCode(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.pattern.color.HighlightingCompositeConverter"
    linkageType: null
    functionLinenumber: 29
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].getLevel()"
    - "[ch.qos.logback.classic.Level].toInt()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    functionUses: 1
    ICount: 9
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.color.HighlightingCompositeConverter:30,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    - Src: "ch.qos.logback.classic.pattern.color.HighlightingCompositeConverter:31,1"
      Dst: "[ch.qos.logback.classic.Level].toInt()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.LoggerFactoryFriend].<init>()"
    functionSourceFile: "org.slf4j.LoggerFactoryFriend"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.LoggerFactoryFriend:38,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.LoggerFactoryFriend].reset()"
    functionSourceFile: "org.slf4j.LoggerFactoryFriend"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.LoggerFactory].reset()"
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.LoggerFactoryFriend:44,1"
      Dst: "[org.slf4j.LoggerFactory].reset()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.LoggerFactory].reset()"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.LoggerFactoryFriend].setDetectLoggerNameMismatch(boolean)"
    functionSourceFile: "org.slf4j.LoggerFactoryFriend"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLConfigurableSocket].<init>(javax.net.ssl.SSLSocket)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLConfigurableSocket"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "javax.net.ssl.SSLSocket"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLConfigurableSocket:29,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLConfigurableSocket].getDefaultProtocols()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLConfigurableSocket"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 0
    returnType: "java.lang.String[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.net.ssl.SSLSocket].getEnabledProtocols()"
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLConfigurableSocket:34,1"
      Dst: "[javax.net.ssl.SSLSocket].getEnabledProtocols()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLConfigurableSocket].getSupportedProtocols()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLConfigurableSocket"
    linkageType: null
    functionLinenumber: 37
    functionDepth: 0
    returnType: "java.lang.String[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.net.ssl.SSLSocket].getSupportedProtocols()"
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLConfigurableSocket:38,1"
      Dst: "[javax.net.ssl.SSLSocket].getSupportedProtocols()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLConfigurableSocket].setEnabledProtocols(java.lang.String[])"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLConfigurableSocket"
    linkageType: null
    functionLinenumber: 41
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.net.ssl.SSLSocket].setEnabledProtocols(java.lang.String[])"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLConfigurableSocket:42,1"
      Dst: "[javax.net.ssl.SSLSocket].setEnabledProtocols(java.lang.String[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLConfigurableSocket].getDefaultCipherSuites()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLConfigurableSocket"
    linkageType: null
    functionLinenumber: 45
    functionDepth: 0
    returnType: "java.lang.String[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.net.ssl.SSLSocket].getEnabledCipherSuites()"
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLConfigurableSocket:46,1"
      Dst: "[javax.net.ssl.SSLSocket].getEnabledCipherSuites()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLConfigurableSocket].getSupportedCipherSuites()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLConfigurableSocket"
    linkageType: null
    functionLinenumber: 49
    functionDepth: 0
    returnType: "java.lang.String[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.net.ssl.SSLSocket].getSupportedCipherSuites()"
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLConfigurableSocket:50,1"
      Dst: "[javax.net.ssl.SSLSocket].getSupportedCipherSuites()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLConfigurableSocket].setEnabledCipherSuites(java.lang.String[])"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLConfigurableSocket"
    linkageType: null
    functionLinenumber: 53
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.net.ssl.SSLSocket].setEnabledCipherSuites(java.lang.String[])"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLConfigurableSocket:54,1"
      Dst: "[javax.net.ssl.SSLSocket].setEnabledCipherSuites(java.lang.String[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLConfigurableSocket].setNeedClientAuth(boolean)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLConfigurableSocket"
    linkageType: null
    functionLinenumber: 57
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.net.ssl.SSLSocket].setNeedClientAuth(boolean)"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLConfigurableSocket:58,1"
      Dst: "[javax.net.ssl.SSLSocket].setNeedClientAuth(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLConfigurableSocket].setWantClientAuth(boolean)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLConfigurableSocket"
    linkageType: null
    functionLinenumber: 61
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.net.ssl.SSLSocket].setWantClientAuth(boolean)"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLConfigurableSocket:62,1"
      Dst: "[javax.net.ssl.SSLSocket].setWantClientAuth(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLConfigurableSocket].setHostnameVerification(boolean)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLConfigurableSocket"
    linkageType: null
    functionLinenumber: 66
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.net.ssl.SSLSocket].getSSLParameters()"
    - "[javax.net.ssl.SSLParameters].setEndpointIdentificationAlgorithm(java.lang.String)"
    - "[javax.net.ssl.SSLSocket].setSSLParameters(javax.net.ssl.SSLParameters)"
    functionUses: 1
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.SSLConfigurableSocket:67"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLConfigurableSocket:70"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLConfigurableSocket:69"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLConfigurableSocket:70,1"
      Dst: "[javax.net.ssl.SSLSocket].getSSLParameters()"
    - Src: "ch.qos.logback.core.net.ssl.SSLConfigurableSocket:71,1"
      Dst: "[javax.net.ssl.SSLParameters].setEndpointIdentificationAlgorithm(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLConfigurableSocket:72,1"
      Dst: "[javax.net.ssl.SSLSocket].setSSLParameters(javax.net.ssl.SSLParameters)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.OnConsoleStatusListener].<init>()"
    functionSourceFile: "ch.qos.logback.core.status.OnConsoleStatusListener"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.OnPrintStreamStatusListenerBase].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.OnConsoleStatusListener:23,1"
      Dst: "[ch.qos.logback.core.status.OnPrintStreamStatusListenerBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.OnConsoleStatusListener].getPrintStream()"
    functionSourceFile: "ch.qos.logback.core.status.OnConsoleStatusListener"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 0
    returnType: "java.io.PrintStream"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.CompositeNode].<init>(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.CompositeNode"
    linkageType: null
    functionLinenumber: 19
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.SimpleKeywordNode].<init>(int,java.lang.Object)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.CompositeNode:20,1"
      Dst: "[ch.qos.logback.core.pattern.parser.SimpleKeywordNode].<init>(int,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.CompositeNode].getChildNode()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.CompositeNode"
    linkageType: null
    functionLinenumber: 24
    functionDepth: 0
    returnType: "ch.qos.logback.core.pattern.parser.Node"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.CompositeNode].setChildNode(ch.qos.logback.core.pattern.parser.Node)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.CompositeNode"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.pattern.parser.Node"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.CompositeNode].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.CompositeNode"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 4
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.SimpleKeywordNode].equals(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.parser.FormattingNode].equals(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.parser.Node].equals(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.parser.CompositeNode].equals(java.lang.Object)"
    functionUses: 8
    ICount: 21
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.CompositeNode:33"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.CompositeNode:36"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.CompositeNode:35"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.CompositeNode:36"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.CompositeNode:39"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.CompositeNode:38"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "ch.qos.logback.core.pattern.parser.CompositeNode:41"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.CompositeNode:38"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "ch.qos.logback.core.pattern.parser.CompositeNode:41"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.CompositeNode:38"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.CompositeNode:33,1"
      Dst: "[ch.qos.logback.core.pattern.parser.SimpleKeywordNode].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.pattern.parser.CompositeNode:41,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Node].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.pattern.parser.SimpleKeywordNode].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.SimpleKeywordNode"
    linkageType: null
    functionLinenumber: 38
    functionDepth: 3
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.FormattingNode].equals(java.lang.Object)"
    - "[java.util.List].equals(java.lang.Object)"
    functionUses: 9
    ICount: 21
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.SimpleKeywordNode:39"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.SimpleKeywordNode:43"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.SimpleKeywordNode:42"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.SimpleKeywordNode:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.SimpleKeywordNode:46"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.SimpleKeywordNode:45"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.SimpleKeywordNode:48"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.SimpleKeywordNode:45"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.SimpleKeywordNode:48"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.SimpleKeywordNode:45"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.SimpleKeywordNode:39,1"
      Dst: "[ch.qos.logback.core.pattern.parser.FormattingNode].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.pattern.parser.SimpleKeywordNode:48,1"
      Dst: "[java.util.List].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.pattern.parser.FormattingNode].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.FormattingNode"
    linkageType: null
    functionLinenumber: 38
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.Node].equals(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.FormatInfo].equals(java.lang.Object)"
    functionUses: 9
    ICount: 21
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.FormattingNode:39"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.FormattingNode:43"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.FormattingNode:42"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.FormattingNode:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.FormattingNode:46"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.FormattingNode:45"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "ch.qos.logback.core.pattern.parser.FormattingNode:48"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.FormattingNode:45"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "ch.qos.logback.core.pattern.parser.FormattingNode:48"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.FormattingNode:45"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.FormattingNode:39,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Node].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.pattern.parser.FormattingNode:48,1"
      Dst: "[ch.qos.logback.core.pattern.FormatInfo].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.pattern.parser.Node].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Node"
    linkageType: null
    functionLinenumber: 56
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.model.RootLoggerModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.parser.SimpleKeywordNode].equals(java.lang.Object)"
    - "[ch.qos.logback.classic.spi.StackTraceElementProxy].equals(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.parser.CompositeNode].equals(java.lang.Object)"
    - "[org.slf4j.helpers.SubstituteLogger].equals(java.lang.Object)"
    - "[org.slf4j.event.KeyValuePair].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.PropertyModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.DefineModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.parser.FormattingNode].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.ParamModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.InsertFromJNDIModel].equals(java.lang.Object)"
    - "[ch.qos.logback.classic.model.LevelModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.NamedModel].equals(java.lang.Object)"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].equals(java.lang.Object)"
    - "[ch.qos.logback.classic.spi.ClassPackagingData].equals(java.lang.Object)"
    - "[ch.qos.logback.core.subst.Node].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.TimestampModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.parser.Node].equals(java.lang.Object)"
    - "[ch.qos.logback.classic.model.LoggerModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].equals(java.lang.Object)"
    - "[ch.qos.logback.core.joran.spi.ElementSelector].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.NamedComponentModel].equals(java.lang.Object)"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].equals(java.lang.Object)"
    - "[ch.qos.logback.core.subst.Token].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.AppenderRefModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.conditional.IfModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.status.StatusBase].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.Model].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.ComponentModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble].equals(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.parser.Token].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.SerializeModelModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.joran.spi.ElementPath].equals(java.lang.Object)"
    - "[ch.qos.logback.core.spi.AbstractComponentTracker$Entry].equals(java.lang.Object)"
    - "[ch.qos.logback.classic.model.ConfigurationModel].equals(java.lang.Object)"
    - "[org.slf4j.helpers.BasicMarker].equals(java.lang.Object)"
    - "[ch.qos.logback.classic.spi.LoggerContextVO].equals(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.FormatInfo].equals(java.lang.Object)"
    - "[java.lang.Object].equals(java.lang.Object)"
    functionUses: 9
    ICount: 33
    EdgeCount: 42
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.Node:57"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Node:60"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.Node:59"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.Node:60"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Node:63"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.Node:62"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.Node:65"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Node:-1"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.pattern.parser.Node:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.Node:65"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Node:63"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.pattern.parser.Node:62"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.Node:65"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Node:-1"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.pattern.parser.Node:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.Node:65"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Node:-1"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.pattern.parser.Node:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.Node:65"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Node:63"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.pattern.parser.Node:62"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.Node:66"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Node:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.Node:65"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Node:-1"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.pattern.parser.Node:-2"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Node:65,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.pattern.parser.Node:66,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Node].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 16
    CyclomaticComplexity: 8
  - functionName: "[ch.qos.logback.core.pattern.FormatInfo].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.pattern.FormatInfo"
    linkageType: null
    functionLinenumber: 128
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 7
    ICount: 24
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.FormatInfo:129"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:132"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:131"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.FormatInfo:132"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:135"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:134"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.FormatInfo:137"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.FormatInfo:137"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.FormatInfo:137"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.FormatInfo:137"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:-2"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 11
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.pattern.parser.CompositeNode].hashCode()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.CompositeNode"
    linkageType: null
    functionLinenumber: 45
    functionDepth: 3
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.SimpleKeywordNode].hashCode()"
    functionUses: 4
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.CompositeNode:46,1"
      Dst: "[ch.qos.logback.core.pattern.parser.SimpleKeywordNode].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.SimpleKeywordNode].hashCode()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.SimpleKeywordNode"
    linkageType: null
    functionLinenumber: 52
    functionDepth: 2
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.FormattingNode].hashCode()"
    functionUses: 5
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.SimpleKeywordNode:53,1"
      Dst: "[ch.qos.logback.core.pattern.parser.FormattingNode].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.FormattingNode].hashCode()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.FormattingNode"
    linkageType: null
    functionLinenumber: 52
    functionDepth: 1
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.Node].hashCode()"
    - "[ch.qos.logback.core.pattern.FormatInfo].hashCode()"
    functionUses: 5
    ICount: 11
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.FormattingNode:54"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.FormattingNode:53"
        BranchSideFuncs:
        - "hashCode()"
      - BranchSide: "ch.qos.logback.core.pattern.parser.FormattingNode:52"
        BranchSideFuncs:
        - "hashCode()"
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.FormattingNode:53,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Node].hashCode()"
    - Src: "ch.qos.logback.core.pattern.parser.FormattingNode:54,1"
      Dst: "[ch.qos.logback.core.pattern.FormatInfo].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.pattern.parser.Node].hashCode()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Node"
    linkageType: null
    functionLinenumber: 70
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.FormattingNode].hashCode()"
    - "[ch.qos.logback.core.subst.Token].hashCode()"
    - "[ch.qos.logback.core.model.Model].hashCode()"
    - "[ch.qos.logback.core.model.NamedComponentModel].hashCode()"
    - "[ch.qos.logback.core.pattern.parser.CompositeNode].hashCode()"
    - "[ch.qos.logback.classic.model.RootLoggerModel].hashCode()"
    - "[ch.qos.logback.core.model.conditional.IfModel].hashCode()"
    - "[org.slf4j.helpers.BasicMarker].hashCode()"
    - "[org.slf4j.helpers.SubstituteLogger].hashCode()"
    - "[ch.qos.logback.core.model.NamedModel].hashCode()"
    - "[ch.qos.logback.core.model.ComponentModel].hashCode()"
    - "[ch.qos.logback.core.spi.AbstractComponentTracker$Entry].hashCode()"
    - "[ch.qos.logback.core.joran.spi.ElementSelector].hashCode()"
    - "[ch.qos.logback.core.status.StatusBase].hashCode()"
    - "[ch.qos.logback.classic.model.LoggerModel].hashCode()"
    - "[ch.qos.logback.core.subst.Node].hashCode()"
    - "[ch.qos.logback.classic.spi.LoggerContextVO].hashCode()"
    - "[ch.qos.logback.core.model.AppenderRefModel].hashCode()"
    - "[ch.qos.logback.core.pattern.parser.SimpleKeywordNode].hashCode()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].hashCode()"
    - "[ch.qos.logback.core.model.InsertFromJNDIModel].hashCode()"
    - "[ch.qos.logback.core.pattern.parser.Node].hashCode()"
    - "[ch.qos.logback.core.model.SerializeModelModel].hashCode()"
    - "[ch.qos.logback.core.pattern.parser.Token].hashCode()"
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].hashCode()"
    - "[ch.qos.logback.classic.spi.StackTraceElementProxy].hashCode()"
    - "[org.slf4j.event.KeyValuePair].hashCode()"
    - "[ch.qos.logback.core.model.PropertyModel].hashCode()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].hashCode()"
    - "[ch.qos.logback.core.model.ParamModel].hashCode()"
    - "[ch.qos.logback.core.model.DefineModel].hashCode()"
    - "[ch.qos.logback.core.model.TimestampModel].hashCode()"
    - "[ch.qos.logback.classic.model.LevelModel].hashCode()"
    - "[ch.qos.logback.classic.model.ConfigurationModel].hashCode()"
    - "[ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble].hashCode()"
    - "[ch.qos.logback.classic.spi.ClassPackagingData].hashCode()"
    - "[ch.qos.logback.core.pattern.FormatInfo].hashCode()"
    - "[java.lang.Object].hashCode()"
    functionUses: 5
    ICount: 11
    EdgeCount: 37
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.Node:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Node:71"
        BranchSideFuncs:
        - "hashCode()"
      - BranchSide: "ch.qos.logback.core.pattern.parser.Node:70"
        BranchSideFuncs:
        - "hashCode()"
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Node:72,1"
      Dst: "[java.lang.Object].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.pattern.FormatInfo].hashCode()"
    functionSourceFile: "ch.qos.logback.core.pattern.FormatInfo"
    linkageType: null
    functionLinenumber: 141
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 5
    ICount: 20
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.FormatInfo:144"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:142"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:141"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.FormatInfo:145"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:144"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.FormatInfo:143"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.pattern.parser.CompositeNode].toString()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.CompositeNode"
    linkageType: null
    functionLinenumber: 49
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.Node].printNext()"
    - "[java.lang.StringBuilder].<init>()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.pattern.parser.Node)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 3
    ICount: 14
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.CompositeNode:51"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.CompositeNode:54"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.CompositeNode:53"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.CompositeNode:50,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.core.pattern.parser.CompositeNode:52,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.pattern.parser.Node)"
    - Src: "ch.qos.logback.core.pattern.parser.CompositeNode:52,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.core.pattern.parser.CompositeNode:56,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Node].printNext()"
    - Src: "ch.qos.logback.core.pattern.parser.CompositeNode:57,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.pattern.parser.Node].printNext()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Node"
    linkageType: null
    functionLinenumber: 76
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.pattern.parser.Node)"
    functionUses: 3
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.Node:77"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Node:80"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.Node:79"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Node:78,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.pattern.parser.Node)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.conditional.ThenModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.conditional.ThenModel"
    linkageType: null
    functionLinenumber: 4
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.conditional.ThenModel:5,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.conditional.ThenModel].makeNewInstance()"
    functionSourceFile: "ch.qos.logback.core.model.conditional.ThenModel"
    linkageType: null
    functionLinenumber: 10
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.conditional.ThenModel"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.conditional.ThenModel].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.conditional.ThenModel:11,1"
      Dst: "[ch.qos.logback.core.model.conditional.ThenModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.conditional.ThenModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.conditional.ThenModel"
    linkageType: null
    functionLinenumber: 4
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.conditional.ThenModel:5,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.ArrayList].<init>()"
    functionUses: 16
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:27,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.model.Model:40,1"
      Dst: "[java.util.ArrayList].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.LineOfCallerConverter].<init>()"
    functionSourceFile: "ch.qos.logback.classic.pattern.LineOfCallerConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.ClassicConverter].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.LineOfCallerConverter:20,1"
      Dst: "[ch.qos.logback.classic.pattern.ClassicConverter].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.LineOfCallerConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.pattern.LineOfCallerConverter"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].getCallerData()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getCallerData()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getCallerData()"
    - "[java.lang.StackTraceElement].getLineNumber()"
    - "[java.lang.Integer].toString(int)"
    functionUses: 1
    ICount: 11
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.LineOfCallerConverter:24"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.LineOfCallerConverter:27"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.LineOfCallerConverter:26"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.LineOfCallerConverter:24"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.LineOfCallerConverter:27"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.LineOfCallerConverter:26"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.LineOfCallerConverter:23,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getCallerData()"
    - Src: "ch.qos.logback.classic.pattern.LineOfCallerConverter:25,1"
      Dst: "[java.lang.StackTraceElement].getLineNumber()"
    - Src: "ch.qos.logback.classic.pattern.LineOfCallerConverter:25,1"
      Dst: "[java.lang.Integer].toString(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.pattern.LineOfCallerConverter].convert(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.pattern.LineOfCallerConverter"
    linkageType: null
    functionLinenumber: 19
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.LineOfCallerConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 11
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.LineOfCallerConverter:20,1"
      Dst: "[ch.qos.logback.classic.pattern.LineOfCallerConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.LineOfCallerConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.pattern.LineOfCallerConverter"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].getCallerData()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getCallerData()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getCallerData()"
    - "[java.lang.StackTraceElement].getLineNumber()"
    - "[java.lang.Integer].toString(int)"
    functionUses: 1
    ICount: 11
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.LineOfCallerConverter:24"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.LineOfCallerConverter:27"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.LineOfCallerConverter:26"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.LineOfCallerConverter:24"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.LineOfCallerConverter:27"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.LineOfCallerConverter:26"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.LineOfCallerConverter:23,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getCallerData()"
    - Src: "ch.qos.logback.classic.pattern.LineOfCallerConverter:25,1"
      Dst: "[java.lang.StackTraceElement].getLineNumber()"
    - Src: "ch.qos.logback.classic.pattern.LineOfCallerConverter:25,1"
      Dst: "[java.lang.Integer].toString(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.subst.Node].<init>(ch.qos.logback.core.subst.Node$Type,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.subst.Node"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.subst.Node$Type"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 2
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.Node:27,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.Node].<init>(ch.qos.logback.core.subst.Node$Type,java.lang.Object,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.subst.Node"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.subst.Node$Type"
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.Node:32,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.Node].append(ch.qos.logback.core.subst.Node)"
    functionSourceFile: "ch.qos.logback.core.subst.Node"
    linkageType: null
    functionLinenumber: 38
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.subst.Node"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 5
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.subst.Node:39"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Node:41"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.Node:40"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.subst.Node:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Node:47"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.Node:46"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.subst.Node].toString()"
    functionSourceFile: "ch.qos.logback.core.subst.Node"
    linkageType: null
    functionLinenumber: 52
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.subst.Node].recursive(ch.qos.logback.core.subst.Node,java.lang.StringBuilder)"
    - "[java.lang.Enum].ordinal()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.subst.Node$Type,java.lang.Object)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].toString()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.subst.Node$Type,java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 4
    ICount: 33
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.subst.Node:59"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Node:62"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.Node:61"
        BranchSideFuncs:
        - "recursive(ch.qos.logback.core.subst.Node,java.lang.StringBuilder)"
    - Branch String: "ch.qos.logback.core.subst.Node:64"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Node:66"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.Node:65"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.Node:53,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "ch.qos.logback.core.subst.Node:55,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.subst.Node$Type,java.lang.Object)"
    - Src: "ch.qos.logback.core.subst.Node:57,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.core.subst.Node:60,1"
      Dst: "[ch.qos.logback.core.subst.Node].recursive(ch.qos.logback.core.subst.Node,java.lang.StringBuilder)"
    - Src: "ch.qos.logback.core.subst.Node:63,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "ch.qos.logback.core.subst.Node:63,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.subst.Node$Type,java.lang.String)"
    - Src: "ch.qos.logback.core.subst.Node:65,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.subst.Node:66,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.subst.Node].recursive(ch.qos.logback.core.subst.Node,java.lang.StringBuilder)"
    functionSourceFile: "ch.qos.logback.core.subst.Node"
    linkageType: null
    functionLinenumber: 82
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.subst.Node"
    - "java.lang.StringBuilder"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.subst.Node].toString()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 2
    ICount: 12
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.subst.Node:84"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Node:88"
        BranchSideFuncs:
        - "toString()"
      - BranchSide: "ch.qos.logback.core.subst.Node:87"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.Node:85,1"
      Dst: "[ch.qos.logback.core.subst.Node].toString()"
    - Src: "ch.qos.logback.core.subst.Node:85,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.subst.Node].dump()"
    functionSourceFile: "ch.qos.logback.core.subst.Node"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 3
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.subst.Node].toString()"
    - "[java.io.PrintStream].print(java.lang.String)"
    - "[ch.qos.logback.core.subst.Node].dump()"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.subst.Node:75"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Node:78"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.Node:77"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.Node:73,1"
      Dst: "[ch.qos.logback.core.subst.Node].toString()"
    - Src: "ch.qos.logback.core.subst.Node:73,1"
      Dst: "[java.io.PrintStream].print(java.lang.String)"
    - Src: "ch.qos.logback.core.subst.Node:76,1"
      Dst: "[ch.qos.logback.core.subst.Node].dump()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.subst.Node].toString()"
    functionSourceFile: "ch.qos.logback.core.subst.Node"
    linkageType: null
    functionLinenumber: 52
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.subst.Node].recursive(ch.qos.logback.core.subst.Node,java.lang.StringBuilder)"
    - "[java.lang.Enum].ordinal()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.subst.Node$Type,java.lang.Object)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].toString()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.subst.Node$Type,java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 4
    ICount: 33
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.subst.Node:59"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Node:62"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.Node:61"
        BranchSideFuncs:
        - "recursive(ch.qos.logback.core.subst.Node,java.lang.StringBuilder)"
    - Branch String: "ch.qos.logback.core.subst.Node:64"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Node:66"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.Node:65"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.Node:53,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "ch.qos.logback.core.subst.Node:55,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.subst.Node$Type,java.lang.Object)"
    - Src: "ch.qos.logback.core.subst.Node:57,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.core.subst.Node:60,1"
      Dst: "[ch.qos.logback.core.subst.Node].recursive(ch.qos.logback.core.subst.Node,java.lang.StringBuilder)"
    - Src: "ch.qos.logback.core.subst.Node:63,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "ch.qos.logback.core.subst.Node:63,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.subst.Node$Type,java.lang.String)"
    - Src: "ch.qos.logback.core.subst.Node:65,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.subst.Node:66,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.subst.Node].recursive(ch.qos.logback.core.subst.Node,java.lang.StringBuilder)"
    functionSourceFile: "ch.qos.logback.core.subst.Node"
    linkageType: null
    functionLinenumber: 82
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.subst.Node"
    - "java.lang.StringBuilder"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.subst.Node].toString()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 2
    ICount: 12
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.subst.Node:84"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Node:88"
        BranchSideFuncs:
        - "toString()"
      - BranchSide: "ch.qos.logback.core.subst.Node:87"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.Node:85,1"
      Dst: "[ch.qos.logback.core.subst.Node].toString()"
    - Src: "ch.qos.logback.core.subst.Node:85,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.subst.Node].setNext(ch.qos.logback.core.subst.Node)"
    functionSourceFile: "ch.qos.logback.core.subst.Node"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.subst.Node"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.Node].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.subst.Node"
    linkageType: null
    functionLinenumber: 96
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.model.RootLoggerModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.parser.SimpleKeywordNode].equals(java.lang.Object)"
    - "[ch.qos.logback.classic.spi.StackTraceElementProxy].equals(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.parser.CompositeNode].equals(java.lang.Object)"
    - "[org.slf4j.helpers.SubstituteLogger].equals(java.lang.Object)"
    - "[org.slf4j.event.KeyValuePair].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.PropertyModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.DefineModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.parser.FormattingNode].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.ParamModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.InsertFromJNDIModel].equals(java.lang.Object)"
    - "[ch.qos.logback.classic.model.LevelModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.NamedModel].equals(java.lang.Object)"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].equals(java.lang.Object)"
    - "[ch.qos.logback.classic.spi.ClassPackagingData].equals(java.lang.Object)"
    - "[ch.qos.logback.core.subst.Node].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.TimestampModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.parser.Node].equals(java.lang.Object)"
    - "[ch.qos.logback.classic.model.LoggerModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].equals(java.lang.Object)"
    - "[ch.qos.logback.core.joran.spi.ElementSelector].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.NamedComponentModel].equals(java.lang.Object)"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].equals(java.lang.Object)"
    - "[ch.qos.logback.core.subst.Token].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.AppenderRefModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.conditional.IfModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.status.StatusBase].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.Model].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.ComponentModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble].equals(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.parser.Token].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.SerializeModelModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.joran.spi.ElementPath].equals(java.lang.Object)"
    - "[ch.qos.logback.core.spi.AbstractComponentTracker$Entry].equals(java.lang.Object)"
    - "[ch.qos.logback.classic.model.ConfigurationModel].equals(java.lang.Object)"
    - "[org.slf4j.helpers.BasicMarker].equals(java.lang.Object)"
    - "[ch.qos.logback.classic.spi.LoggerContextVO].equals(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.FormatInfo].equals(java.lang.Object)"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Object].equals(java.lang.Object)"
    functionUses: 7
    ICount: 45
    EdgeCount: 76
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.subst.Node:97"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Node:99"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.Node:98"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.subst.Node:99"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Node:100"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.Node:99"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.subst.Node:99"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Node:102"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.Node:101"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.subst.Node:104"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Node:106"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.Node:105"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.subst.Node:106"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Node:106"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.Node:105"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.subst.Node:106"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Node:108"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.Node:107"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.subst.Node:106"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Node:108"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.Node:107"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.subst.Node:108"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Node:108"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.Node:107"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.subst.Node:108"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Node:110"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.Node:109"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "ch.qos.logback.core.subst.Node:108"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Node:110"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.Node:109"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "ch.qos.logback.core.subst.Node:110"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Node:110"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.Node:109"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "ch.qos.logback.core.subst.Node:110"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Node:113"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.Node:112"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.subst.Node:110"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Node:113"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.Node:112"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.Node:99,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.subst.Node:106,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.subst.Node:110,1"
      Dst: "[ch.qos.logback.core.subst.Node].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 23
    CyclomaticComplexity: 8
  - functionName: "[ch.qos.logback.core.subst.Node].hashCode()"
    functionSourceFile: "ch.qos.logback.core.subst.Node"
    linkageType: null
    functionLinenumber: 117
    functionDepth: 1
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.FormattingNode].hashCode()"
    - "[ch.qos.logback.core.subst.Token].hashCode()"
    - "[ch.qos.logback.core.model.Model].hashCode()"
    - "[ch.qos.logback.core.model.NamedComponentModel].hashCode()"
    - "[ch.qos.logback.core.pattern.parser.CompositeNode].hashCode()"
    - "[ch.qos.logback.classic.model.RootLoggerModel].hashCode()"
    - "[ch.qos.logback.core.model.conditional.IfModel].hashCode()"
    - "[org.slf4j.helpers.BasicMarker].hashCode()"
    - "[org.slf4j.helpers.SubstituteLogger].hashCode()"
    - "[ch.qos.logback.core.model.NamedModel].hashCode()"
    - "[ch.qos.logback.core.model.ComponentModel].hashCode()"
    - "[ch.qos.logback.core.spi.AbstractComponentTracker$Entry].hashCode()"
    - "[ch.qos.logback.core.joran.spi.ElementSelector].hashCode()"
    - "[ch.qos.logback.core.status.StatusBase].hashCode()"
    - "[ch.qos.logback.classic.model.LoggerModel].hashCode()"
    - "[ch.qos.logback.core.subst.Node].hashCode()"
    - "[ch.qos.logback.classic.spi.LoggerContextVO].hashCode()"
    - "[ch.qos.logback.core.model.AppenderRefModel].hashCode()"
    - "[ch.qos.logback.core.pattern.parser.SimpleKeywordNode].hashCode()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].hashCode()"
    - "[ch.qos.logback.core.model.InsertFromJNDIModel].hashCode()"
    - "[ch.qos.logback.core.pattern.parser.Node].hashCode()"
    - "[ch.qos.logback.core.model.SerializeModelModel].hashCode()"
    - "[ch.qos.logback.core.pattern.parser.Token].hashCode()"
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].hashCode()"
    - "[ch.qos.logback.classic.spi.StackTraceElementProxy].hashCode()"
    - "[org.slf4j.event.KeyValuePair].hashCode()"
    - "[ch.qos.logback.core.model.PropertyModel].hashCode()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].hashCode()"
    - "[ch.qos.logback.core.model.ParamModel].hashCode()"
    - "[ch.qos.logback.core.model.DefineModel].hashCode()"
    - "[ch.qos.logback.core.model.TimestampModel].hashCode()"
    - "[ch.qos.logback.classic.model.LevelModel].hashCode()"
    - "[ch.qos.logback.classic.model.ConfigurationModel].hashCode()"
    - "[ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble].hashCode()"
    - "[ch.qos.logback.classic.spi.ClassPackagingData].hashCode()"
    - "[ch.qos.logback.core.pattern.FormatInfo].hashCode()"
    - "[java.lang.Enum].hashCode()"
    - "[java.lang.Object].hashCode()"
    functionUses: 5
    ICount: 32
    EdgeCount: 74
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.subst.Node:118"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Node:118"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.Node:117"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.subst.Node:119"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Node:119"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.Node:118"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.subst.Node:120"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Node:119"
        BranchSideFuncs:
        - "hashCode()"
      - BranchSide: "ch.qos.logback.core.subst.Node:118"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.subst.Node:121"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Node:120"
        BranchSideFuncs:
        - "hashCode()"
      - BranchSide: "ch.qos.logback.core.subst.Node:119"
        BranchSideFuncs:
        - "hashCode()"
    Callsites:
    - Src: "ch.qos.logback.core.subst.Node:118,1"
      Dst: "[java.lang.Enum].hashCode()"
    - Src: "ch.qos.logback.core.subst.Node:119,1"
      Dst: "[java.lang.Object].hashCode()"
    - Src: "ch.qos.logback.core.subst.Node:121,1"
      Dst: "[ch.qos.logback.core.subst.Node].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 13
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.util.StringUtil].<init>()"
    functionSourceFile: "ch.qos.logback.core.util.StringUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.StringUtil:20,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.StringUtil].isNullOrEmpty(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.StringUtil"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].isEmpty()"
    functionUses: 1
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.StringUtil:29"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StringUtil:28"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.StringUtil:29"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StringUtil:28"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.StringUtil:29,1"
      Dst: "[java.lang.String].isEmpty()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.util.StringUtil].notNullNorEmpty(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.StringUtil"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.StringUtil].isNullOrEmpty(java.lang.String)"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.StringUtil:40"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StringUtil:39"
        BranchSideFuncs:
        - "isNullOrEmpty(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.util.StringUtil:40,1"
      Dst: "[ch.qos.logback.core.util.StringUtil].isNullOrEmpty(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.StringUtil].isNullOrEmpty(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.StringUtil"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].isEmpty()"
    functionUses: 1
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.StringUtil:29"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StringUtil:28"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.StringUtil:29"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StringUtil:28"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.StringUtil:29,1"
      Dst: "[java.lang.String].isEmpty()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.sift.SiftingAppender].<init>()"
    functionSourceFile: "ch.qos.logback.classic.sift.SiftingAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.sift.SiftingAppenderBase].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.sift.SiftingAppender:36,1"
      Dst: "[ch.qos.logback.core.sift.SiftingAppenderBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.sift.SiftingAppender].getTimestamp(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.sift.SiftingAppender"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 0
    returnType: "long"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getTimeStamp()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getTimeStamp()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.sift.SiftingAppender:40,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getTimeStamp()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.sift.SiftingAppender].setDiscriminator(ch.qos.logback.core.sift.Discriminator)"
    functionSourceFile: "ch.qos.logback.classic.sift.SiftingAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.sift.Discriminator"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.sift.SiftingAppenderBase].setDiscriminator(ch.qos.logback.core.sift.Discriminator)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.sift.SiftingAppender:46,1"
      Dst: "[ch.qos.logback.core.sift.SiftingAppenderBase].setDiscriminator(ch.qos.logback.core.sift.Discriminator)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.sift.SiftingAppender].eventMarksEndOfLife(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.sift.SiftingAppender"
    linkageType: null
    functionLinenumber: 49
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getMarkerList()"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[org.slf4j.helpers.BasicMarker].contains(org.slf4j.Marker)"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getMarkerList()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[org.slf4j.Marker].contains(org.slf4j.Marker)"
    functionUses: 1
    ICount: 16
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.sift.SiftingAppender:51"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.sift.SiftingAppender:54"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.sift.SiftingAppender:53"
        BranchSideFuncs:
        - "iterator()"
    - Branch String: "ch.qos.logback.classic.sift.SiftingAppender:54"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.sift.SiftingAppender:58"
        BranchSideFuncs:
        - "iterator()"
        - "contains(org.slf4j.Marker)"
      - BranchSide: "ch.qos.logback.classic.sift.SiftingAppender:57"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.sift.SiftingAppender:55"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.sift.SiftingAppender:57"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.sift.SiftingAppender:56"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.sift.SiftingAppender:50,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getMarkerList()"
    - Src: "ch.qos.logback.classic.sift.SiftingAppender:54,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.classic.sift.SiftingAppender:54,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.classic.sift.SiftingAppender:54,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.classic.sift.SiftingAppender:55,1"
      Dst: "[org.slf4j.Marker].contains(org.slf4j.Marker)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.sift.SiftingAppender].eventMarksEndOfLife(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.sift.SiftingAppender"
    linkageType: null
    functionLinenumber: 35
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.sift.SiftingAppender].eventMarksEndOfLife(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.sift.SiftingAppender:36,1"
      Dst: "[ch.qos.logback.classic.sift.SiftingAppender].eventMarksEndOfLife(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.sift.SiftingAppender].eventMarksEndOfLife(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.sift.SiftingAppender"
    linkageType: null
    functionLinenumber: 49
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getMarkerList()"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[org.slf4j.helpers.BasicMarker].contains(org.slf4j.Marker)"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getMarkerList()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[org.slf4j.Marker].contains(org.slf4j.Marker)"
    functionUses: 1
    ICount: 16
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.sift.SiftingAppender:51"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.sift.SiftingAppender:54"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.sift.SiftingAppender:53"
        BranchSideFuncs:
        - "iterator()"
    - Branch String: "ch.qos.logback.classic.sift.SiftingAppender:54"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.sift.SiftingAppender:58"
        BranchSideFuncs:
        - "iterator()"
        - "contains(org.slf4j.Marker)"
      - BranchSide: "ch.qos.logback.classic.sift.SiftingAppender:57"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.sift.SiftingAppender:55"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.sift.SiftingAppender:57"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.sift.SiftingAppender:56"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.sift.SiftingAppender:50,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getMarkerList()"
    - Src: "ch.qos.logback.classic.sift.SiftingAppender:54,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.classic.sift.SiftingAppender:54,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.classic.sift.SiftingAppender:54,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.classic.sift.SiftingAppender:55,1"
      Dst: "[org.slf4j.Marker].contains(org.slf4j.Marker)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.sift.SiftingAppender].getTimestamp(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.sift.SiftingAppender"
    linkageType: null
    functionLinenumber: 35
    functionDepth: 1
    returnType: "long"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.sift.SiftingAppender].getTimestamp(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.sift.SiftingAppender:36,1"
      Dst: "[ch.qos.logback.classic.sift.SiftingAppender].getTimestamp(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.sift.SiftingAppender].getTimestamp(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.sift.SiftingAppender"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 0
    returnType: "long"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getTimeStamp()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getTimeStamp()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.sift.SiftingAppender:40,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getTimeStamp()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_3__67].bootstrap$(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_3__67"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_3__67].<init>(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_3__67:-1,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_3__67].<init>(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_3__67].<init>(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_3__67"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_3__67:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_3__67].get()"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_3__67"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker].lambda$link$3()"
    functionUses: 3
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_3__67:-1,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker].lambda$link$3()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker].lambda$link$3()"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker"
    linkageType: null
    functionLinenumber: 82
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.AppenderRefDependencyAnalyser].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:83,1"
      Dst: "[ch.qos.logback.core.model.processor.AppenderRefDependencyAnalyser].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.AppenderRefDependencyAnalyser].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.model.processor.AppenderRefDependencyAnalyser"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.AppenderRefDependencyAnalyser:24,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.BasicMarker].<init>(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.BasicMarker"
    linkageType: null
    functionLinenumber: 44
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.concurrent.CopyOnWriteArrayList].<init>()"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.BasicMarker:46"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.BasicMarker:49"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.BasicMarker:48"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.BasicMarker:45,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "org.slf4j.helpers.BasicMarker:43,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].<init>()"
    - Src: "org.slf4j.helpers.BasicMarker:47,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.BasicMarker].getName()"
    functionSourceFile: "org.slf4j.helpers.BasicMarker"
    linkageType: null
    functionLinenumber: 52
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.BasicMarker].add(org.slf4j.Marker)"
    functionSourceFile: "org.slf4j.helpers.BasicMarker"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.slf4j.Marker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[org.slf4j.helpers.BasicMarker].contains(org.slf4j.Marker)"
    - "[org.slf4j.Marker].contains(org.slf4j.Marker)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.BasicMarker:57"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.BasicMarker:62"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.BasicMarker:61"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.BasicMarker:62"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.BasicMarker:65"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.BasicMarker:64"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.BasicMarker:65"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.BasicMarker:68"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.BasicMarker:58,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "org.slf4j.helpers.BasicMarker:62,1"
      Dst: "[org.slf4j.helpers.BasicMarker].contains(org.slf4j.Marker)"
    - Src: "org.slf4j.helpers.BasicMarker:65,1"
      Dst: "[org.slf4j.Marker].contains(org.slf4j.Marker)"
    - Src: "org.slf4j.helpers.BasicMarker:69,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.BasicMarker].contains(org.slf4j.Marker)"
    functionSourceFile: "org.slf4j.helpers.BasicMarker"
    linkageType: null
    functionLinenumber: 90
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "org.slf4j.Marker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.BasicMarker].equals(java.lang.Object)"
    - "[org.slf4j.helpers.BasicMarker].hasReferences()"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[org.slf4j.helpers.BasicMarker].contains(org.slf4j.Marker)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[org.slf4j.Marker].contains(org.slf4j.Marker)"
    functionUses: 4
    ICount: 22
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.BasicMarker:91"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.BasicMarker:95"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.BasicMarker:94"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "org.slf4j.helpers.BasicMarker:95"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.BasicMarker:99"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.BasicMarker:98"
        BranchSideFuncs:
        - "hasReferences()"
    - Branch String: "org.slf4j.helpers.BasicMarker:99"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.BasicMarker:106"
        BranchSideFuncs:
        - "iterator()"
      - BranchSide: "org.slf4j.helpers.BasicMarker:105"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.BasicMarker:100"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.BasicMarker:106"
        BranchSideFuncs:
        - "iterator()"
        - "contains(org.slf4j.Marker)"
      - BranchSide: "org.slf4j.helpers.BasicMarker:105"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.BasicMarker:101"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.BasicMarker:104"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.BasicMarker:103"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.BasicMarker:92,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "org.slf4j.helpers.BasicMarker:95,1"
      Dst: "[org.slf4j.helpers.BasicMarker].equals(java.lang.Object)"
    - Src: "org.slf4j.helpers.BasicMarker:99,1"
      Dst: "[org.slf4j.helpers.BasicMarker].hasReferences()"
    - Src: "org.slf4j.helpers.BasicMarker:100,1"
      Dst: "[java.util.List].iterator()"
    - Src: "org.slf4j.helpers.BasicMarker:100,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "org.slf4j.helpers.BasicMarker:100,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "org.slf4j.helpers.BasicMarker:101,1"
      Dst: "[org.slf4j.Marker].contains(org.slf4j.Marker)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 11
    CyclomaticComplexity: 3
  - functionName: "[org.slf4j.helpers.BasicMarker].equals(java.lang.Object)"
    functionSourceFile: "org.slf4j.helpers.BasicMarker"
    linkageType: null
    functionLinenumber: 135
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.BasicMarker].getName()"
    - "[org.slf4j.Marker].getName()"
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 7
    ICount: 14
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.BasicMarker:136"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.BasicMarker:138"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.BasicMarker:137"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.BasicMarker:138"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.BasicMarker:140"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.BasicMarker:139"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.BasicMarker:140"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.BasicMarker:143"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.BasicMarker:142"
        BranchSideFuncs:
        - "getName()"
    Callsites:
    - Src: "org.slf4j.helpers.BasicMarker:144,1"
      Dst: "[org.slf4j.Marker].getName()"
    - Src: "org.slf4j.helpers.BasicMarker:144,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.BasicMarker].hasReferences()"
    functionSourceFile: "org.slf4j.helpers.BasicMarker"
    linkageType: null
    functionLinenumber: 73
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[java.util.List].size()"
    functionUses: 3
    ICount: 8
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.BasicMarker:74"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.BasicMarker:73"
        BranchSideFuncs:
        - "size()"
    Callsites:
    - Src: "org.slf4j.helpers.BasicMarker:74,1"
      Dst: "[java.util.List].size()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.helpers.BasicMarker].hasReferences()"
    functionSourceFile: "org.slf4j.helpers.BasicMarker"
    linkageType: null
    functionLinenumber: 73
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[java.util.List].size()"
    functionUses: 3
    ICount: 8
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.BasicMarker:74"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.BasicMarker:73"
        BranchSideFuncs:
        - "size()"
    Callsites:
    - Src: "org.slf4j.helpers.BasicMarker:74,1"
      Dst: "[java.util.List].size()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.helpers.BasicMarker].hasChildren()"
    functionSourceFile: "org.slf4j.helpers.BasicMarker"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.BasicMarker].hasReferences()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.BasicMarker:79,1"
      Dst: "[org.slf4j.helpers.BasicMarker].hasReferences()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.BasicMarker].hasReferences()"
    functionSourceFile: "org.slf4j.helpers.BasicMarker"
    linkageType: null
    functionLinenumber: 73
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[java.util.List].size()"
    functionUses: 3
    ICount: 8
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.BasicMarker:74"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.BasicMarker:73"
        BranchSideFuncs:
        - "size()"
    Callsites:
    - Src: "org.slf4j.helpers.BasicMarker:74,1"
      Dst: "[java.util.List].size()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.helpers.BasicMarker].iterator()"
    functionSourceFile: "org.slf4j.helpers.BasicMarker"
    linkageType: null
    functionLinenumber: 82
    functionDepth: 0
    returnType: "java.util.Iterator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[java.util.List].iterator()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.BasicMarker:83,1"
      Dst: "[java.util.List].iterator()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.BasicMarker].remove(org.slf4j.Marker)"
    functionSourceFile: "org.slf4j.helpers.BasicMarker"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "org.slf4j.Marker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.List].remove(java.lang.Object)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.BasicMarker:87,1"
      Dst: "[java.util.List].remove(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.BasicMarker].contains(org.slf4j.Marker)"
    functionSourceFile: "org.slf4j.helpers.BasicMarker"
    linkageType: null
    functionLinenumber: 90
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "org.slf4j.Marker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.BasicMarker].equals(java.lang.Object)"
    - "[org.slf4j.helpers.BasicMarker].hasReferences()"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[org.slf4j.helpers.BasicMarker].contains(org.slf4j.Marker)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[org.slf4j.Marker].contains(org.slf4j.Marker)"
    functionUses: 4
    ICount: 22
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.BasicMarker:91"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.BasicMarker:95"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.BasicMarker:94"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "org.slf4j.helpers.BasicMarker:95"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.BasicMarker:99"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.BasicMarker:98"
        BranchSideFuncs:
        - "hasReferences()"
    - Branch String: "org.slf4j.helpers.BasicMarker:99"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.BasicMarker:106"
        BranchSideFuncs:
        - "iterator()"
      - BranchSide: "org.slf4j.helpers.BasicMarker:105"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.BasicMarker:100"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.BasicMarker:106"
        BranchSideFuncs:
        - "iterator()"
        - "contains(org.slf4j.Marker)"
      - BranchSide: "org.slf4j.helpers.BasicMarker:105"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.BasicMarker:101"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.BasicMarker:104"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.BasicMarker:103"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.BasicMarker:92,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "org.slf4j.helpers.BasicMarker:95,1"
      Dst: "[org.slf4j.helpers.BasicMarker].equals(java.lang.Object)"
    - Src: "org.slf4j.helpers.BasicMarker:99,1"
      Dst: "[org.slf4j.helpers.BasicMarker].hasReferences()"
    - Src: "org.slf4j.helpers.BasicMarker:100,1"
      Dst: "[java.util.List].iterator()"
    - Src: "org.slf4j.helpers.BasicMarker:100,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "org.slf4j.helpers.BasicMarker:100,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "org.slf4j.helpers.BasicMarker:101,1"
      Dst: "[org.slf4j.Marker].contains(org.slf4j.Marker)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 11
    CyclomaticComplexity: 3
  - functionName: "[org.slf4j.helpers.BasicMarker].contains(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.BasicMarker"
    linkageType: null
    functionLinenumber: 112
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.BasicMarker].hasReferences()"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[org.slf4j.helpers.BasicMarker].contains(java.lang.String)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[org.slf4j.Marker].contains(java.lang.String)"
    functionUses: 2
    ICount: 23
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.BasicMarker:113"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.BasicMarker:117"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.BasicMarker:116"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.BasicMarker:117"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.BasicMarker:121"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.BasicMarker:120"
        BranchSideFuncs:
        - "hasReferences()"
    - Branch String: "org.slf4j.helpers.BasicMarker:121"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.BasicMarker:128"
        BranchSideFuncs:
        - "iterator()"
      - BranchSide: "org.slf4j.helpers.BasicMarker:127"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.BasicMarker:122"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.BasicMarker:128"
        BranchSideFuncs:
        - "iterator()"
        - "contains(java.lang.String)"
      - BranchSide: "org.slf4j.helpers.BasicMarker:127"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.BasicMarker:123"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.BasicMarker:126"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.BasicMarker:125"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.BasicMarker:114,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "org.slf4j.helpers.BasicMarker:117,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "org.slf4j.helpers.BasicMarker:121,1"
      Dst: "[org.slf4j.helpers.BasicMarker].hasReferences()"
    - Src: "org.slf4j.helpers.BasicMarker:122,1"
      Dst: "[java.util.List].iterator()"
    - Src: "org.slf4j.helpers.BasicMarker:122,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "org.slf4j.helpers.BasicMarker:122,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "org.slf4j.helpers.BasicMarker:123,1"
      Dst: "[org.slf4j.Marker].contains(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 11
    CyclomaticComplexity: 3
  - functionName: "[org.slf4j.helpers.BasicMarker].hasReferences()"
    functionSourceFile: "org.slf4j.helpers.BasicMarker"
    linkageType: null
    functionLinenumber: 73
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[java.util.List].size()"
    functionUses: 3
    ICount: 8
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.BasicMarker:74"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.BasicMarker:73"
        BranchSideFuncs:
        - "size()"
    Callsites:
    - Src: "org.slf4j.helpers.BasicMarker:74,1"
      Dst: "[java.util.List].size()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.helpers.BasicMarker].equals(java.lang.Object)"
    functionSourceFile: "org.slf4j.helpers.BasicMarker"
    linkageType: null
    functionLinenumber: 135
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.BasicMarker].getName()"
    - "[org.slf4j.Marker].getName()"
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 7
    ICount: 14
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.BasicMarker:136"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.BasicMarker:138"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.BasicMarker:137"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.BasicMarker:138"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.BasicMarker:140"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.BasicMarker:139"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.BasicMarker:140"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.BasicMarker:143"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.BasicMarker:142"
        BranchSideFuncs:
        - "getName()"
    Callsites:
    - Src: "org.slf4j.helpers.BasicMarker:144,1"
      Dst: "[org.slf4j.Marker].getName()"
    - Src: "org.slf4j.helpers.BasicMarker:144,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.BasicMarker].hashCode()"
    functionSourceFile: "org.slf4j.helpers.BasicMarker"
    linkageType: null
    functionLinenumber: 147
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].hashCode()"
    functionUses: 4
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.BasicMarker:148,1"
      Dst: "[java.lang.String].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.BasicMarker].toString()"
    functionSourceFile: "org.slf4j.helpers.BasicMarker"
    linkageType: null
    functionLinenumber: 151
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.BasicMarker].hasReferences()"
    - "[org.slf4j.helpers.BasicMarker].getName()"
    - "[org.slf4j.helpers.BasicMarker].iterator()"
    - "[java.lang.StringBuilder].<init>(java.lang.String)"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[org.slf4j.Marker].getName()"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 5
    ICount: 24
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.BasicMarker:152"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.BasicMarker:155"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.BasicMarker:154"
        BranchSideFuncs:
        - "iterator()"
    - Branch String: "org.slf4j.helpers.BasicMarker:159"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.BasicMarker:166"
        BranchSideFuncs:
        - "getName()"
      - BranchSide: "org.slf4j.helpers.BasicMarker:165"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.BasicMarker:162"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.BasicMarker:159"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.BasicMarker:158"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.BasicMarker:152,1"
      Dst: "[org.slf4j.helpers.BasicMarker].hasReferences()"
    - Src: "org.slf4j.helpers.BasicMarker:153,1"
      Dst: "[org.slf4j.helpers.BasicMarker].getName()"
    - Src: "org.slf4j.helpers.BasicMarker:155,1"
      Dst: "[org.slf4j.helpers.BasicMarker].iterator()"
    - Src: "org.slf4j.helpers.BasicMarker:157,1"
      Dst: "[java.lang.StringBuilder].<init>(java.lang.String)"
    - Src: "org.slf4j.helpers.BasicMarker:158,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "org.slf4j.helpers.BasicMarker:158,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.slf4j.helpers.BasicMarker:159,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "org.slf4j.helpers.BasicMarker:160,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "org.slf4j.helpers.BasicMarker:161,1"
      Dst: "[org.slf4j.Marker].getName()"
    - Src: "org.slf4j.helpers.BasicMarker:168,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[org.slf4j.helpers.BasicMarker].hasReferences()"
    functionSourceFile: "org.slf4j.helpers.BasicMarker"
    linkageType: null
    functionLinenumber: 73
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[java.util.List].size()"
    functionUses: 3
    ICount: 8
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.BasicMarker:74"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.BasicMarker:73"
        BranchSideFuncs:
        - "size()"
    Callsites:
    - Src: "org.slf4j.helpers.BasicMarker:74,1"
      Dst: "[java.util.List].size()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.helpers.BasicMarker].getName()"
    functionSourceFile: "org.slf4j.helpers.BasicMarker"
    linkageType: null
    functionLinenumber: 52
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.BasicMarker].iterator()"
    functionSourceFile: "org.slf4j.helpers.BasicMarker"
    linkageType: null
    functionLinenumber: 82
    functionDepth: 0
    returnType: "java.util.Iterator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[java.util.List].iterator()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.BasicMarker:83,1"
      Dst: "[java.util.List].iterator()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.color.BoldGreenCompositeConverter].<init>()"
    functionSourceFile: "ch.qos.logback.core.pattern.color.BoldGreenCompositeConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.color.ForegroundCompositeConverterBase].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.color.BoldGreenCompositeConverter:27,1"
      Dst: "[ch.qos.logback.core.pattern.color.ForegroundCompositeConverterBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.color.BoldGreenCompositeConverter].getForegroundColorCode(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.pattern.color.BoldGreenCompositeConverter"
    linkageType: null
    functionLinenumber: 30
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.StringToObjectConverter].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.util.StringToObjectConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:30,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.StringToObjectConverter].canBeBuiltFromSimpleString(java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.joran.util.StringToObjectConverter"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.StringToObjectConverter].followsTheValueOfConvention(java.lang.Class)"
    - "[ch.qos.logback.core.joran.util.StringToObjectConverter].isOfTypeCharset(java.lang.Class)"
    - "[java.lang.Class].getPackage()"
    - "[java.lang.Class].isPrimitive()"
    - "[java.lang.Package].getName()"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.lang.Class].isEnum()"
    functionUses: 1
    ICount: 21
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.StringToObjectConverter:36"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:38"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:37"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.StringToObjectConverter:38"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:40"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:39"
        BranchSideFuncs:
        - "followsTheValueOfConvention(java.lang.Class)"
    - Branch String: "ch.qos.logback.core.joran.util.StringToObjectConverter:38"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:40"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:39"
        BranchSideFuncs:
        - "followsTheValueOfConvention(java.lang.Class)"
    - Branch String: "ch.qos.logback.core.joran.util.StringToObjectConverter:40"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:42"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:41"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.StringToObjectConverter:42"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:44"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:43"
        BranchSideFuncs:
        - "isOfTypeCharset(java.lang.Class)"
    - Branch String: "ch.qos.logback.core.joran.util.StringToObjectConverter:44"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:47"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:46"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:35,1"
      Dst: "[java.lang.Class].getPackage()"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:36,1"
      Dst: "[java.lang.Class].isPrimitive()"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:38,1"
      Dst: "[java.lang.Package].getName()"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:38,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:40,1"
      Dst: "[ch.qos.logback.core.joran.util.StringToObjectConverter].followsTheValueOfConvention(java.lang.Class)"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:42,1"
      Dst: "[java.lang.Class].isEnum()"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:44,1"
      Dst: "[ch.qos.logback.core.joran.util.StringToObjectConverter].isOfTypeCharset(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 12
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.util.StringToObjectConverter].convertArg(ch.qos.logback.core.spi.ContextAware,java.lang.String,java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.joran.util.StringToObjectConverter"
    linkageType: null
    functionLinenumber: 54
    functionDepth: 2
    returnType: "java.lang.Object"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.spi.ContextAware"
    - "java.lang.String"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.StringToObjectConverter].convertToEnum(ch.qos.logback.core.spi.ContextAware,java.lang.String,java.lang.Class)"
    - "[ch.qos.logback.core.joran.util.StringToObjectConverter].followsTheValueOfConvention(java.lang.Class)"
    - "[ch.qos.logback.core.joran.util.StringToObjectConverter].convertByValueOfMethod(ch.qos.logback.core.spi.ContextAware,java.lang.Class,java.lang.String)"
    - "[ch.qos.logback.core.joran.util.StringToObjectConverter].isOfTypeCharset(java.lang.Class)"
    - "[ch.qos.logback.core.joran.util.StringToObjectConverter].convertToCharset(ch.qos.logback.core.spi.ContextAware,java.lang.String)"
    - "[java.lang.String].trim()"
    - "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    - "[java.lang.Integer].valueOf(java.lang.String)"
    - "[java.lang.Long].valueOf(java.lang.String)"
    - "[java.lang.Float].valueOf(java.lang.String)"
    - "[java.lang.Double].valueOf(java.lang.String)"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - "[java.lang.Class].isEnum()"
    functionUses: 2
    ICount: 56
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.StringToObjectConverter:55"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:58"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:57"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.StringToObjectConverter:59"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:61"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:60"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.StringToObjectConverter:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:63"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:62"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.StringToObjectConverter:63"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:65"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:64"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.StringToObjectConverter:65"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:67"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:66"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.StringToObjectConverter:67"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:69"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:68"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.StringToObjectConverter:69"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:75"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:74"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.StringToObjectConverter:70"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:72"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:71"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.StringToObjectConverter:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:83"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:82"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.StringToObjectConverter:75"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:77"
        BranchSideFuncs:
        - "convertToEnum(ch.qos.logback.core.spi.ContextAware,java.lang.String,java.lang.Class)"
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:76"
        BranchSideFuncs:
        - "followsTheValueOfConvention(java.lang.Class)"
    - Branch String: "ch.qos.logback.core.joran.util.StringToObjectConverter:77"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:79"
        BranchSideFuncs:
        - "convertByValueOfMethod(ch.qos.logback.core.spi.ContextAware,java.lang.Class,java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:78"
        BranchSideFuncs:
        - "isOfTypeCharset(java.lang.Class)"
    - Branch String: "ch.qos.logback.core.joran.util.StringToObjectConverter:79"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:83"
        BranchSideFuncs:
        - "convertToCharset(ch.qos.logback.core.spi.ContextAware,java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:82"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:58,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:59,1"
      Dst: "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:62,1"
      Dst: "[java.lang.Integer].valueOf(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:64,1"
      Dst: "[java.lang.Long].valueOf(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:66,1"
      Dst: "[java.lang.Float].valueOf(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:68,1"
      Dst: "[java.lang.Double].valueOf(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:70,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:75,1"
      Dst: "[java.lang.Class].isEnum()"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:76,1"
      Dst: "[ch.qos.logback.core.joran.util.StringToObjectConverter].convertToEnum(ch.qos.logback.core.spi.ContextAware,java.lang.String,java.lang.Class)"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:77,1"
      Dst: "[ch.qos.logback.core.joran.util.StringToObjectConverter].followsTheValueOfConvention(java.lang.Class)"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:78,1"
      Dst: "[ch.qos.logback.core.joran.util.StringToObjectConverter].convertByValueOfMethod(ch.qos.logback.core.spi.ContextAware,java.lang.Class,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:79,1"
      Dst: "[ch.qos.logback.core.joran.util.StringToObjectConverter].isOfTypeCharset(java.lang.Class)"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:80,1"
      Dst: "[ch.qos.logback.core.joran.util.StringToObjectConverter].convertToCharset(ch.qos.logback.core.spi.ContextAware,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 24
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.util.StringToObjectConverter].isOfTypeCharset(java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.joran.util.StringToObjectConverter"
    linkageType: null
    functionLinenumber: 86
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    functionUses: 2
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:87,1"
      Dst: "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.StringToObjectConverter].convertToCharset(ch.qos.logback.core.spi.ContextAware,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.util.StringToObjectConverter"
    linkageType: null
    functionLinenumber: 91
    functionDepth: 0
    returnType: "java.nio.charset.Charset"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.spi.ContextAware"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].addError(java.lang.String,java.lang.Throwable)"
    - "[java.nio.charset.Charset].forName(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAware].addError(java.lang.String,java.lang.Throwable)"
    functionUses: 1
    ICount: 8
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:92,1"
      Dst: "[java.nio.charset.Charset].forName(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:94,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:94,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.StringToObjectConverter].getValueOfMethod(java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.joran.util.StringToObjectConverter"
    linkageType: null
    functionLinenumber: 101
    functionDepth: 0
    returnType: "java.lang.reflect.Method"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].getMethod(java.lang.String,java.lang.Class[])"
    functionUses: 1
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:102,1"
      Dst: "[java.lang.Class].getMethod(java.lang.String,java.lang.Class[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.StringToObjectConverter].followsTheValueOfConvention(java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.joran.util.StringToObjectConverter"
    linkageType: null
    functionLinenumber: 110
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.StringToObjectConverter].getValueOfMethod(java.lang.Class)"
    - "[java.lang.reflect.Method].getModifiers()"
    - "[java.lang.reflect.Modifier].isStatic(int)"
    functionUses: 2
    ICount: 7
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.StringToObjectConverter:112"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:115"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.StringToObjectConverter:114"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:111,1"
      Dst: "[ch.qos.logback.core.joran.util.StringToObjectConverter].getValueOfMethod(java.lang.Class)"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:115,1"
      Dst: "[java.lang.reflect.Method].getModifiers()"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:116,1"
      Dst: "[java.lang.reflect.Modifier].isStatic(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.StringToObjectConverter].convertByValueOfMethod(ch.qos.logback.core.spi.ContextAware,java.lang.Class,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.util.StringToObjectConverter"
    linkageType: null
    functionLinenumber: 120
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.spi.ContextAware"
    - "java.lang.Class"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.DynamicConverter].addError(java.lang.String)"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].addError(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addError(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[java.lang.Class].getMethod(java.lang.String,java.lang.Class[])"
    - "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAware].addError(java.lang.String)"
    functionUses: 1
    ICount: 14
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:121,1"
      Dst: "[java.lang.Class].getMethod(java.lang.String,java.lang.Class[])"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:122,1"
      Dst: "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:124,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:124,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:124,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.StringToObjectConverter].convertToEnum(ch.qos.logback.core.spi.ContextAware,java.lang.String,java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.joran.util.StringToObjectConverter"
    linkageType: null
    functionLinenumber: 131
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.spi.ContextAware"
    - "java.lang.String"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.StringToObjectConverter:132,1"
      Dst: "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.StringToObjectConverter].isBuildableFromSimpleString()"
    functionSourceFile: "ch.qos.logback.core.joran.util.StringToObjectConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.AppenderModelHandler].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.model.processor.AppenderModelHandler"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.AppenderModelHandler:34,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.AppenderModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.AppenderModelHandler"
    linkageType: null
    functionLinenumber: 38
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.AppenderModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.AppenderModelHandler:39,1"
      Dst: "[ch.qos.logback.core.model.processor.AppenderModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.AppenderModelHandler].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.model.processor.AppenderModelHandler"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.AppenderModelHandler:34,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.AppenderModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.AppenderModelHandler"
    linkageType: null
    functionLinenumber: 44
    functionDepth: 13
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.NamedComponentModel].getName()"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].hasDependers(java.lang.String)"
    - "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$1].hasDependers(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.model.Model].markAsSkipped()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.model.ComponentModel].getClassName()"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getImport(java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.AppenderBase:ch.qos.logback.core.UnsynchronizedAppenderBase].setName(java.lang.String)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].pushObject(java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.model.processor.ModelHandlerException].<init>(java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAware].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.Appender].setName(java.lang.String)"
    functionUses: 3
    ICount: 41
    EdgeCount: 16
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.AppenderModelHandler:52"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.AppenderModelHandler:59"
        BranchSideFuncs:
        - "markAsSkipped()"
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.model.processor.AppenderModelHandler:58"
        BranchSideFuncs:
        - "getClassName()"
        - "addError(java.lang.String,java.lang.Throwable)"
        - "getImport(java.lang.String)"
        - "pushObject(java.lang.Object)"
        - "<init>(java.lang.Throwable)"
        - "setContext(ch.qos.logback.core.Context)"
        - "instantiateByClassName(java.lang.String,java.lang.Class,ch.qos.logback.core.Context)"
        - "setName(java.lang.String)"
        - "addInfo(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.AppenderModelHandler:50,1"
      Dst: "[ch.qos.logback.core.model.NamedComponentModel].getName()"
    - Src: "ch.qos.logback.core.model.processor.AppenderModelHandler:50,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.AppenderModelHandler:52,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].hasDependers(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.AppenderModelHandler:53,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.AppenderModelHandler:53,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.AppenderModelHandler:55,1"
      Dst: "[ch.qos.logback.core.model.Model].markAsSkipped()"
    - Src: "ch.qos.logback.core.model.processor.AppenderModelHandler:59,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.AppenderModelHandler:61,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].getClassName()"
    - Src: "ch.qos.logback.core.model.processor.AppenderModelHandler:62,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getImport(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.AppenderModelHandler:67,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.model.processor.AppenderModelHandler:69,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.model.processor.AppenderModelHandler:70,1"
      Dst: "[ch.qos.logback.core.Appender].setName(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.AppenderModelHandler:71,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].pushObject(java.lang.Object)"
    - Src: "ch.qos.logback.core.model.processor.AppenderModelHandler:74,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.model.processor.AppenderModelHandler:75,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerException].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.NamedComponentModel].getName()"
    functionSourceFile: "ch.qos.logback.core.model.NamedComponentModel"
    linkageType: null
    functionLinenumber: 35
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 152
    functionDepth: 12
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.OptionHelper].substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 26
    ICount: 11
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:153"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:158"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:157"
        BranchSideFuncs:
        - "substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:158,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:160,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:160,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].hasDependers(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 215
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[java.lang.String].trim()"
    - "[java.lang.String].length()"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 1
    ICount: 20
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:216"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:217"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:216"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:216"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:220"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:219"
        BranchSideFuncs:
        - "iterator()"
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:220"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:225"
        BranchSideFuncs:
        - "iterator()"
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:224"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:221"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:223"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:222"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:216,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:216,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:217,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:220,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:220,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:220,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:221,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 96
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].markAsSkipped()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 63
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 7
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ComponentModel].getClassName()"
    functionSourceFile: "ch.qos.logback.core.model.ComponentModel"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 11
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getImport(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 287
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map].get(java.lang.Object)"
    functionUses: 9
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:288"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:291"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:290"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:292"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:295"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:294"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:291,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 3
    returnType: "java.lang.Object"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Class"
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].getClassLoaderOfObject(java.lang.Object)"
    - "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,java.lang.ClassLoader)"
    functionUses: 12
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:32,1"
      Dst: "[ch.qos.logback.core.util.Loader].getClassLoaderOfObject(java.lang.Object)"
    - Src: "ch.qos.logback.core.util.OptionHelper:33,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,java.lang.ClassLoader)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].pushObject(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 126
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].push(java.lang.Object)"
    functionUses: 12
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:127,1"
      Dst: "[java.util.Stack].push(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 74
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelHandlerException].<init>(java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelHandlerException"
    linkageType: null
    functionLinenumber: 10
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Exception].<init>(java.lang.Throwable)"
    functionUses: 5
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelHandlerException:11,1"
      Dst: "[java.lang.Exception].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.AppenderModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.AppenderModelHandler"
    linkageType: null
    functionLinenumber: 79
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.AbstractSSLSocketAppender].start()"
    - "[ch.qos.logback.core.net.SMTPAppenderBase].start()"
    - "[ch.qos.logback.core.net.AbstractSocketAppender].start()"
    - "[ch.qos.logback.classic.net.SMTPAppender].start()"
    - "[ch.qos.logback.core.ConsoleAppender].start()"
    - "[ch.qos.logback.core.OutputStreamAppender].start()"
    - "[ch.qos.logback.core.read.CyclicBufferAppender].start()"
    - "[ch.qos.logback.core.FileAppender].start()"
    - "[ch.qos.logback.core.net.server.AbstractServerSocketAppender].start()"
    - "[ch.qos.logback.core.AsyncAppenderBase].start()"
    - "[ch.qos.logback.core.net.SyslogAppenderBase].start()"
    - "[ch.qos.logback.core.sift.SiftingAppenderBase].start()"
    - "[ch.qos.logback.core.rolling.RollingFileAppender].start()"
    - "[ch.qos.logback.core.net.server.SSLServerSocketAppenderBase].start()"
    - "[ch.qos.logback.classic.helpers.WithLayoutListAppender].start()"
    - "[ch.qos.logback.classic.net.SyslogAppender].start()"
    - "[ch.qos.logback.core.testUtil.StringListAppender].start()"
    - "[ch.qos.logback.core.AppenderBase].start()"
    - "[ch.qos.logback.core.AppenderBase:ch.qos.logback.core.UnsynchronizedAppenderBase].getName()"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].markStartOfNamedDependee(java.lang.String)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekObject()"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getObjectMap()"
    - "[ch.qos.logback.core.UnsynchronizedAppenderBase].getName()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].popObject()"
    - "[ch.qos.logback.core.spi.LifeCycle].start()"
    - "[ch.qos.logback.core.Appender].getName()"
    - "[java.util.Map].get(java.lang.Object)"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 3
    ICount: 33
    EdgeCount: 26
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.AppenderModelHandler:80"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.AppenderModelHandler:81"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.AppenderModelHandler:80"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.AppenderModelHandler:80"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.AppenderModelHandler:83"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.AppenderModelHandler:82"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.AppenderModelHandler:83"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.AppenderModelHandler:86"
        BranchSideFuncs:
        - "start()"
      - BranchSide: "ch.qos.logback.core.model.processor.AppenderModelHandler:85"
        BranchSideFuncs:
        - "getObjectMap()"
        - "markStartOfNamedDependee(java.lang.String)"
        - "peekObject()"
    - Branch String: "ch.qos.logback.core.model.processor.AppenderModelHandler:95"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.AppenderModelHandler:99"
        BranchSideFuncs:
        - "getName()"
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.model.processor.AppenderModelHandler:98"
        BranchSideFuncs:
        - "popObject()"
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.AppenderModelHandler:84,1"
      Dst: "[ch.qos.logback.core.spi.LifeCycle].start()"
    - Src: "ch.qos.logback.core.model.processor.AppenderModelHandler:86,1"
      Dst: "[ch.qos.logback.core.Appender].getName()"
    - Src: "ch.qos.logback.core.model.processor.AppenderModelHandler:86,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].markStartOfNamedDependee(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.AppenderModelHandler:88,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekObject()"
    - Src: "ch.qos.logback.core.model.processor.AppenderModelHandler:91,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getObjectMap()"
    - Src: "ch.qos.logback.core.model.processor.AppenderModelHandler:92,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "ch.qos.logback.core.model.processor.AppenderModelHandler:93,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - Src: "ch.qos.logback.core.model.processor.AppenderModelHandler:96,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.AppenderModelHandler:96,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.AppenderModelHandler:99,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].popObject()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].markStartOfNamedDependee(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 229
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:230,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekObject()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 122
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].peek()"
    functionUses: 16
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:123,1"
      Dst: "[java.util.Stack].peek()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getObjectMap()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 77
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 96
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].popObject()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 130
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].pop()"
    functionUses: 12
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:131,1"
      Dst: "[java.util.Stack].pop()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.EnvUtil].<init>()"
    functionSourceFile: "ch.qos.logback.core.util.EnvUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.EnvUtil:24,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.EnvUtil].logbackVersion()"
    functionSourceFile: "ch.qos.logback.core.util.EnvUtil"
    linkageType: null
    functionLinenumber: 35
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.EnvUtil].logbackVersionByModule()"
    - "[java.lang.Class].getPackage()"
    - "[java.lang.Package].getImplementationVersion()"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.EnvUtil:37"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:40"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:39"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.EnvUtil:41"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:44"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:43"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.EnvUtil:36,1"
      Dst: "[ch.qos.logback.core.util.EnvUtil].logbackVersionByModule()"
    - Src: "ch.qos.logback.core.util.EnvUtil:40,1"
      Dst: "[java.lang.Class].getPackage()"
    - Src: "ch.qos.logback.core.util.EnvUtil:44,1"
      Dst: "[java.lang.Package].getImplementationVersion()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.EnvUtil].logbackVersionByModule()"
    functionSourceFile: "ch.qos.logback.core.util.EnvUtil"
    linkageType: null
    functionLinenumber: 55
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].getModule()"
    - "[java.lang.Module].getDescriptor()"
    - "[java.lang.module.ModuleDescriptor].rawVersion()"
    - "[java.util.Optional].orElse(java.lang.Object)"
    functionUses: 1
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.EnvUtil:57"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:60"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:59"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.EnvUtil:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:63"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:62"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.EnvUtil:56,1"
      Dst: "[java.lang.Class].getModule()"
    - Src: "ch.qos.logback.core.util.EnvUtil:60,1"
      Dst: "[java.lang.Module].getDescriptor()"
    - Src: "ch.qos.logback.core.util.EnvUtil:63,1"
      Dst: "[java.lang.module.ModuleDescriptor].rawVersion()"
    - Src: "ch.qos.logback.core.util.EnvUtil:64,1"
      Dst: "[java.util.Optional].orElse(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.EnvUtil].logbackVersionByModule()"
    functionSourceFile: "ch.qos.logback.core.util.EnvUtil"
    linkageType: null
    functionLinenumber: 55
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].getModule()"
    - "[java.lang.Module].getDescriptor()"
    - "[java.lang.module.ModuleDescriptor].rawVersion()"
    - "[java.util.Optional].orElse(java.lang.Object)"
    functionUses: 1
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.EnvUtil:57"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:60"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:59"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.EnvUtil:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:63"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:62"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.EnvUtil:56,1"
      Dst: "[java.lang.Class].getModule()"
    - Src: "ch.qos.logback.core.util.EnvUtil:60,1"
      Dst: "[java.lang.Module].getDescriptor()"
    - Src: "ch.qos.logback.core.util.EnvUtil:63,1"
      Dst: "[java.lang.module.ModuleDescriptor].rawVersion()"
    - Src: "ch.qos.logback.core.util.EnvUtil:64,1"
      Dst: "[java.util.Optional].orElse(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.EnvUtil].getJDKVersion(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.EnvUtil"
    linkageType: null
    functionLinenumber: 67
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].toCharArray()"
    - "[java.lang.Character].isDigit(char)"
    functionUses: 1
    ICount: 19
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.EnvUtil:70"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:79"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:78"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.EnvUtil:71"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:73"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:72"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.EnvUtil:73"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:79"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:78"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.EnvUtil:70,1"
      Dst: "[java.lang.String].toCharArray()"
    - Src: "ch.qos.logback.core.util.EnvUtil:71,1"
      Dst: "[java.lang.Character].isDigit(char)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.util.EnvUtil].isJDK_N_OrHigher(int)"
    functionSourceFile: "ch.qos.logback.core.util.EnvUtil"
    linkageType: null
    functionLinenumber: 82
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.EnvUtil].getJDKVersion(java.lang.String)"
    - "[java.lang.System].getProperty(java.lang.String,java.lang.String)"
    - "[java.lang.String].isEmpty()"
    functionUses: 2
    ICount: 12
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.EnvUtil:84"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:87"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:86"
        BranchSideFuncs:
        - "getJDKVersion(java.lang.String)"
    - Branch String: "ch.qos.logback.core.util.EnvUtil:88"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:86"
        BranchSideFuncs:
        - "getJDKVersion(java.lang.String)"
    - Branch String: "ch.qos.logback.core.util.EnvUtil:88"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:86"
        BranchSideFuncs:
        - "getJDKVersion(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.util.EnvUtil:83,1"
      Dst: "[java.lang.System].getProperty(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.util.EnvUtil:84,1"
      Dst: "[java.lang.String].isEmpty()"
    - Src: "ch.qos.logback.core.util.EnvUtil:87,1"
      Dst: "[ch.qos.logback.core.util.EnvUtil].getJDKVersion(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.util.EnvUtil].isJDK5()"
    functionSourceFile: "ch.qos.logback.core.util.EnvUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.EnvUtil].isJDK_N_OrHigher(int)"
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.EnvUtil:92,1"
      Dst: "[ch.qos.logback.core.util.EnvUtil].isJDK_N_OrHigher(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.EnvUtil].isJDK_N_OrHigher(int)"
    functionSourceFile: "ch.qos.logback.core.util.EnvUtil"
    linkageType: null
    functionLinenumber: 82
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.EnvUtil].getJDKVersion(java.lang.String)"
    - "[java.lang.System].getProperty(java.lang.String,java.lang.String)"
    - "[java.lang.String].isEmpty()"
    functionUses: 2
    ICount: 12
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.EnvUtil:84"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:87"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:86"
        BranchSideFuncs:
        - "getJDKVersion(java.lang.String)"
    - Branch String: "ch.qos.logback.core.util.EnvUtil:88"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:86"
        BranchSideFuncs:
        - "getJDKVersion(java.lang.String)"
    - Branch String: "ch.qos.logback.core.util.EnvUtil:88"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:86"
        BranchSideFuncs:
        - "getJDKVersion(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.util.EnvUtil:83,1"
      Dst: "[java.lang.System].getProperty(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.util.EnvUtil:84,1"
      Dst: "[java.lang.String].isEmpty()"
    - Src: "ch.qos.logback.core.util.EnvUtil:87,1"
      Dst: "[ch.qos.logback.core.util.EnvUtil].getJDKVersion(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.util.EnvUtil].isJDK6OrHigher()"
    functionSourceFile: "ch.qos.logback.core.util.EnvUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.EnvUtil].isJDK_N_OrHigher(int)"
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.EnvUtil:96,1"
      Dst: "[ch.qos.logback.core.util.EnvUtil].isJDK_N_OrHigher(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.EnvUtil].isJDK_N_OrHigher(int)"
    functionSourceFile: "ch.qos.logback.core.util.EnvUtil"
    linkageType: null
    functionLinenumber: 82
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.EnvUtil].getJDKVersion(java.lang.String)"
    - "[java.lang.System].getProperty(java.lang.String,java.lang.String)"
    - "[java.lang.String].isEmpty()"
    functionUses: 2
    ICount: 12
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.EnvUtil:84"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:87"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:86"
        BranchSideFuncs:
        - "getJDKVersion(java.lang.String)"
    - Branch String: "ch.qos.logback.core.util.EnvUtil:88"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:86"
        BranchSideFuncs:
        - "getJDKVersion(java.lang.String)"
    - Branch String: "ch.qos.logback.core.util.EnvUtil:88"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:86"
        BranchSideFuncs:
        - "getJDKVersion(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.util.EnvUtil:83,1"
      Dst: "[java.lang.System].getProperty(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.util.EnvUtil:84,1"
      Dst: "[java.lang.String].isEmpty()"
    - Src: "ch.qos.logback.core.util.EnvUtil:87,1"
      Dst: "[ch.qos.logback.core.util.EnvUtil].getJDKVersion(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.util.EnvUtil].isJDK7OrHigher()"
    functionSourceFile: "ch.qos.logback.core.util.EnvUtil"
    linkageType: null
    functionLinenumber: 99
    functionDepth: 2
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.EnvUtil].isJDK_N_OrHigher(int)"
    functionUses: 1
    ICount: 2
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.EnvUtil:100,1"
      Dst: "[ch.qos.logback.core.util.EnvUtil].isJDK_N_OrHigher(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.EnvUtil].isJDK16OrHigher()"
    functionSourceFile: "ch.qos.logback.core.util.EnvUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.EnvUtil].isJDK_N_OrHigher(int)"
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.EnvUtil:104,1"
      Dst: "[ch.qos.logback.core.util.EnvUtil].isJDK_N_OrHigher(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.EnvUtil].isJDK_N_OrHigher(int)"
    functionSourceFile: "ch.qos.logback.core.util.EnvUtil"
    linkageType: null
    functionLinenumber: 82
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.EnvUtil].getJDKVersion(java.lang.String)"
    - "[java.lang.System].getProperty(java.lang.String,java.lang.String)"
    - "[java.lang.String].isEmpty()"
    functionUses: 2
    ICount: 12
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.EnvUtil:84"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:87"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:86"
        BranchSideFuncs:
        - "getJDKVersion(java.lang.String)"
    - Branch String: "ch.qos.logback.core.util.EnvUtil:88"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:86"
        BranchSideFuncs:
        - "getJDKVersion(java.lang.String)"
    - Branch String: "ch.qos.logback.core.util.EnvUtil:88"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:86"
        BranchSideFuncs:
        - "getJDKVersion(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.util.EnvUtil:83,1"
      Dst: "[java.lang.System].getProperty(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.util.EnvUtil:84,1"
      Dst: "[java.lang.String].isEmpty()"
    - Src: "ch.qos.logback.core.util.EnvUtil:87,1"
      Dst: "[ch.qos.logback.core.util.EnvUtil].getJDKVersion(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.util.EnvUtil].isJDK18OrHigher()"
    functionSourceFile: "ch.qos.logback.core.util.EnvUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.EnvUtil].isJDK_N_OrHigher(int)"
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.EnvUtil:108,1"
      Dst: "[ch.qos.logback.core.util.EnvUtil].isJDK_N_OrHigher(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.EnvUtil].isJDK_N_OrHigher(int)"
    functionSourceFile: "ch.qos.logback.core.util.EnvUtil"
    linkageType: null
    functionLinenumber: 82
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.EnvUtil].getJDKVersion(java.lang.String)"
    - "[java.lang.System].getProperty(java.lang.String,java.lang.String)"
    - "[java.lang.String].isEmpty()"
    functionUses: 2
    ICount: 12
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.EnvUtil:84"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:87"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:86"
        BranchSideFuncs:
        - "getJDKVersion(java.lang.String)"
    - Branch String: "ch.qos.logback.core.util.EnvUtil:88"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:86"
        BranchSideFuncs:
        - "getJDKVersion(java.lang.String)"
    - Branch String: "ch.qos.logback.core.util.EnvUtil:88"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:86"
        BranchSideFuncs:
        - "getJDKVersion(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.util.EnvUtil:83,1"
      Dst: "[java.lang.System].getProperty(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.util.EnvUtil:84,1"
      Dst: "[java.lang.String].isEmpty()"
    - Src: "ch.qos.logback.core.util.EnvUtil:87,1"
      Dst: "[ch.qos.logback.core.util.EnvUtil].getJDKVersion(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.util.EnvUtil].isJDK21OrHigher()"
    functionSourceFile: "ch.qos.logback.core.util.EnvUtil"
    linkageType: null
    functionLinenumber: 115
    functionDepth: 2
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.EnvUtil].isJDK_N_OrHigher(int)"
    functionUses: 3
    ICount: 2
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.EnvUtil:116,1"
      Dst: "[ch.qos.logback.core.util.EnvUtil].isJDK_N_OrHigher(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.EnvUtil].isJaninoAvailable()"
    functionSourceFile: "ch.qos.logback.core.util.EnvUtil"
    linkageType: null
    functionLinenumber: 119
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].getClassLoader()"
    - "[java.lang.ClassLoader].loadClass(java.lang.String)"
    functionUses: 1
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.EnvUtil:123"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:120"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:119"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.EnvUtil:120,1"
      Dst: "[java.lang.Class].getClassLoader()"
    - Src: "ch.qos.logback.core.util.EnvUtil:122,1"
      Dst: "[java.lang.ClassLoader].loadClass(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.EnvUtil].isWindows()"
    functionSourceFile: "ch.qos.logback.core.util.EnvUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].getProperty(java.lang.String)"
    - "[java.lang.String].startsWith(java.lang.String)"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.EnvUtil:130,1"
      Dst: "[java.lang.System].getProperty(java.lang.String)"
    - Src: "ch.qos.logback.core.util.EnvUtil:131,1"
      Dst: "[java.lang.String].startsWith(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.EnvUtil].isClassAvailable(java.lang.Class,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.EnvUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].getClassLoaderOfClass(java.lang.Class)"
    - "[java.lang.ClassLoader].loadClass(java.lang.String)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.EnvUtil:138"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:135"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:134"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.EnvUtil:135,1"
      Dst: "[ch.qos.logback.core.util.Loader].getClassLoaderOfClass(java.lang.Class)"
    - Src: "ch.qos.logback.core.util.EnvUtil:137,1"
      Dst: "[java.lang.ClassLoader].loadClass(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.Loader].getClassLoaderOfClass(java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.util.Loader"
    linkageType: null
    functionLinenumber: 173
    functionDepth: 1
    returnType: "java.lang.ClassLoader"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].systemClassloaderIfNull(java.lang.ClassLoader)"
    - "[java.lang.Class].getClassLoader()"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.Loader:174,1"
      Dst: "[java.lang.Class].getClassLoader()"
    - Src: "ch.qos.logback.core.util.Loader:175,1"
      Dst: "[ch.qos.logback.core.util.Loader].systemClassloaderIfNull(java.lang.ClassLoader)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.ActionUtil].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.action.ActionUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.ActionUtil:19,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.ActionUtil].stringToScope(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.action.ActionUtil"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 0
    returnType: "ch.qos.logback.core.joran.action.ActionUtil$Scope"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].toString()"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    functionUses: 4
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.action.ActionUtil:32"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.ActionUtil:34"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.action.ActionUtil:33"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.action.ActionUtil:34"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.ActionUtil:37"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.action.ActionUtil:36"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.ActionUtil:32,1"
      Dst: "[java.lang.Enum].toString()"
    - Src: "ch.qos.logback.core.joran.action.ActionUtil:32,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.ActionUtil].setProperty(ch.qos.logback.core.model.processor.ModelInterpretationContext,java.lang.String,java.lang.String,ch.qos.logback.core.joran.action.ActionUtil$Scope)"
    functionSourceFile: "ch.qos.logback.core.joran.action.ActionUtil"
    linkageType: null
    functionLinenumber: 53
    functionDepth: 1
    returnType: "void"
    argCount: 4
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "java.lang.String"
    - "java.lang.String"
    - "ch.qos.logback.core.joran.action.ActionUtil$Scope"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].addSubstitutionProperty(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - "[ch.qos.logback.classic.LoggerContext].putProperty(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.ContextBase].putProperty(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].setSystemProperty(ch.qos.logback.core.spi.ContextAware,java.lang.String,java.lang.String)"
    - "[java.lang.Enum].ordinal()"
    - "[ch.qos.logback.core.Context].putProperty(java.lang.String,java.lang.String)"
    functionUses: 3
    ICount: 15
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.ActionUtil:54,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "ch.qos.logback.core.joran.action.ActionUtil:56,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].addSubstitutionProperty(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.ActionUtil:59,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - Src: "ch.qos.logback.core.joran.action.ActionUtil:59,1"
      Dst: "[ch.qos.logback.core.Context].putProperty(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.ActionUtil:62,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].setSystemProperty(ch.qos.logback.core.spi.ContextAware,java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__46].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__46"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__46].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__46:-1,1"
      Dst: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__46].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__46].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__46"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__46:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__46].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__46"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__46:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__46].get()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__46"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.AppenderAction].<init>()"
    functionUses: 3
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__46:-1,1"
      Dst: "[ch.qos.logback.core.joran.action.AppenderAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.AppenderAction].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.action.AppenderAction"
    linkageType: null
    functionLinenumber: 8
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.AppenderAction:9,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.beans.BeanDescriptionCache].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.joran.util.beans.BeanDescriptionCache"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[java.util.HashMap].<init>()"
    functionUses: 1
    ICount: 8
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescriptionCache:27,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescriptionCache:24,1"
      Dst: "[java.util.HashMap].<init>()"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescriptionCache:28,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.beans.BeanDescriptionCache].getBeanDescriptionFactory()"
    functionSourceFile: "ch.qos.logback.core.joran.util.beans.BeanDescriptionCache"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 2
    returnType: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory].<init>(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    functionUses: 1
    ICount: 9
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanDescriptionCache:32"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanDescriptionCache:35"
        BranchSideFuncs:
        - "getContext()"
        - "<init>(ch.qos.logback.core.Context)"
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanDescriptionCache:34"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescriptionCache:33,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescriptionCache:33,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 0
    returnType: "ch.qos.logback.core.Context"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 35
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:23,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:24,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 34
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:34,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 67
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:45"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:44"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:47"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:46,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.util.beans.BeanDescriptionCache].getBeanDescription(java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.joran.util.beans.BeanDescriptionCache"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 3
    returnType: "ch.qos.logback.core.joran.util.beans.BeanDescription"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory].create(java.lang.Class)"
    - "[ch.qos.logback.core.joran.util.beans.BeanDescriptionCache].getBeanDescriptionFactory()"
    - "[java.util.Map].containsKey(java.lang.Object)"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - "[java.util.Map].get(java.lang.Object)"
    functionUses: 1
    ICount: 13
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanDescriptionCache:47"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanDescriptionCache:51"
        BranchSideFuncs:
        - "getBeanDescriptionFactory()"
        - "create(java.lang.Class)"
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanDescriptionCache:50"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescriptionCache:47,1"
      Dst: "[java.util.Map].containsKey(java.lang.Object)"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescriptionCache:48,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanDescriptionCache].getBeanDescriptionFactory()"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescriptionCache:48,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory].create(java.lang.Class)"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescriptionCache:49,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescriptionCache:51,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.util.beans.BeanDescriptionCache].getBeanDescriptionFactory()"
    functionSourceFile: "ch.qos.logback.core.joran.util.beans.BeanDescriptionCache"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 2
    returnType: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory].<init>(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    functionUses: 1
    ICount: 9
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanDescriptionCache:32"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanDescriptionCache:35"
        BranchSideFuncs:
        - "getContext()"
        - "<init>(ch.qos.logback.core.Context)"
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanDescriptionCache:34"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescriptionCache:33,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescriptionCache:33,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory].create(java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 2
    returnType: "ch.qos.logback.core.joran.util.beans.BeanDescription"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.beans.BeanUtil].isAdder(java.lang.reflect.Method)"
    - "[ch.qos.logback.core.joran.util.beans.BeanUtil].isGetter(java.lang.reflect.Method)"
    - "[ch.qos.logback.core.joran.util.beans.BeanUtil].isSetter(java.lang.reflect.Method)"
    - "[ch.qos.logback.core.joran.util.beans.BeanUtil].getPropertyName(java.lang.reflect.Method)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.joran.util.beans.BeanDescription].<init>(java.lang.Class,java.util.Map,java.util.Map,java.util.Map)"
    - "[java.util.HashMap].<init>()"
    - "[java.lang.Class].getMethods()"
    - "[java.lang.reflect.Method].isBridge()"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - "[java.lang.reflect.Method].getName()"
    - "[java.lang.String].startsWith(java.lang.String)"
    - "[java.lang.Class].getCanonicalName()"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    functionUses: 1
    ICount: 63
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:37"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:71"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:70"
        BranchSideFuncs:
        - "<init>(java.lang.Class,java.util.Map,java.util.Map,java.util.Map)"
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:38"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:41"
        BranchSideFuncs:
        - "isSetter(java.lang.reflect.Method)"
        - "isGetter(java.lang.reflect.Method)"
        - "isAdder(java.lang.reflect.Method)"
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:42"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:42"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:41"
        BranchSideFuncs:
        - "isSetter(java.lang.reflect.Method)"
        - "isGetter(java.lang.reflect.Method)"
        - "isAdder(java.lang.reflect.Method)"
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:53"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:52"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:46"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:49"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:48"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:42"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:42"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:41"
        BranchSideFuncs:
        - "isSetter(java.lang.reflect.Method)"
        - "isGetter(java.lang.reflect.Method)"
        - "isAdder(java.lang.reflect.Method)"
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:56"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:61"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:60"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:42"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:33"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:32"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:64"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:33"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:32"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:33,1"
      Dst: "[java.util.HashMap].<init>()"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:36,1"
      Dst: "[java.lang.Class].getMethods()"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:38,1"
      Dst: "[java.lang.reflect.Method].isBridge()"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:42,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanUtil].isGetter(java.lang.reflect.Method)"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:43,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanUtil].getPropertyName(java.lang.reflect.Method)"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:44,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:46,1"
      Dst: "[java.lang.reflect.Method].getName()"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:46,1"
      Dst: "[java.lang.String].startsWith(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:50,1"
      Dst: "[java.lang.Class].getCanonicalName()"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:49,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:51,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:42,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanUtil].isSetter(java.lang.reflect.Method)"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:42,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanUtil].isAdder(java.lang.reflect.Method)"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory:71,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanDescription].<init>(java.lang.Class,java.util.Map,java.util.Map,java.util.Map)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 19
    CyclomaticComplexity: 10
  - functionName: "[ch.qos.logback.core.pattern.util.RegularEscapeUtil].<init>()"
    functionSourceFile: "ch.qos.logback.core.pattern.util.RegularEscapeUtil"
    linkageType: null
    functionLinenumber: 20
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:21,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.util.RegularEscapeUtil].escape(java.lang.String,java.lang.StringBuffer,char,int)"
    functionSourceFile: "ch.qos.logback.core.pattern.util.RegularEscapeUtil"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 1
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.lang.String"
    - "java.lang.StringBuffer"
    - "char"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.util.RegularEscapeUtil].formatEscapeCharsForListing(java.lang.String)"
    - "[java.lang.String].indexOf(int)"
    - "[java.lang.StringBuffer].append(char)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(char,int,java.lang.String)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 3
    ICount: 27
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:24"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:null"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:24,1"
      Dst: "[java.lang.String].indexOf(int)"
    - Src: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:25,1"
      Dst: "[java.lang.StringBuffer].append(char)"
    - Src: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:44,1"
      Dst: "[ch.qos.logback.core.pattern.util.RegularEscapeUtil].formatEscapeCharsForListing(java.lang.String)"
    - Src: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:45,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(char,int,java.lang.String)"
    - Src: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:45,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 6
  - functionName: "[ch.qos.logback.core.pattern.util.RegularEscapeUtil].formatEscapeCharsForListing(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.pattern.util.RegularEscapeUtil"
    linkageType: null
    functionLinenumber: 51
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.String].length()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.String].charAt(int)"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:53"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:55"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:52,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:53,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:54,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:54,1"
      Dst: "[java.lang.String].charAt(int)"
    - Src: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:54,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:56,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.pattern.util.RegularEscapeUtil].formatEscapeCharsForListing(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.pattern.util.RegularEscapeUtil"
    linkageType: null
    functionLinenumber: 51
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.String].length()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.String].charAt(int)"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:53"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:55"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:52,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:53,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:54,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:54,1"
      Dst: "[java.lang.String].charAt(int)"
    - Src: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:54,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:56,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.pattern.util.RegularEscapeUtil].basicEscape(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.pattern.util.RegularEscapeUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].length()"
    - "[java.lang.StringBuilder].<init>(int)"
    - "[java.lang.String].charAt(int)"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 0
    ICount: 52
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:67"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:92"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:91"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:69"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:90"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:89"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:69"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:90"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:89"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:71"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:null"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:73"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:null"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:75"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:null"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:77"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:null"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:79"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:null"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:81"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:null"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:83"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:null"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:85"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:90"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:89"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:63,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:64,1"
      Dst: "[java.lang.StringBuilder].<init>(int)"
    - Src: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:68,1"
      Dst: "[java.lang.String].charAt(int)"
    - Src: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:90,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.core.pattern.util.RegularEscapeUtil:92,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 22
    CyclomaticComplexity: 12
  - functionName: "[ch.qos.logback.core.pattern.ReplacingCompositeConverter].<init>()"
    functionSourceFile: "ch.qos.logback.core.pattern.ReplacingCompositeConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.CompositeConverter].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.ReplacingCompositeConverter:19,1"
      Dst: "[ch.qos.logback.core.pattern.CompositeConverter].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.ReplacingCompositeConverter].start()"
    functionSourceFile: "ch.qos.logback.core.pattern.ReplacingCompositeConverter"
    linkageType: null
    functionLinenumber: 25
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.DynamicConverter].getOptionList()"
    - "[ch.qos.logback.core.pattern.DynamicConverter].addError(java.lang.String)"
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.util.COWArrayList].get(int)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].start()"
    - "[java.util.List].size()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,java.util.List)"
    - "[java.util.List].get(int)"
    - "[java.util.regex.Pattern].compile(java.lang.String)"
    functionUses: 7
    ICount: 21
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.ReplacingCompositeConverter:27"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.ReplacingCompositeConverter:32"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.ReplacingCompositeConverter:31"
        BranchSideFuncs:
        - "size()"
    - Branch String: "ch.qos.logback.core.pattern.ReplacingCompositeConverter:34"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.ReplacingCompositeConverter:39"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.pattern.ReplacingCompositeConverter:38"
        BranchSideFuncs:
        - "start()"
        - "get(int)"
    Callsites:
    - Src: "ch.qos.logback.core.pattern.ReplacingCompositeConverter:26,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].getOptionList()"
    - Src: "ch.qos.logback.core.pattern.ReplacingCompositeConverter:28,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.pattern.ReplacingCompositeConverter:32,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.core.pattern.ReplacingCompositeConverter:35,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,java.util.List)"
    - Src: "ch.qos.logback.core.pattern.ReplacingCompositeConverter:39,1"
      Dst: "[java.util.List].get(int)"
    - Src: "ch.qos.logback.core.pattern.ReplacingCompositeConverter:40,1"
      Dst: "[java.util.regex.Pattern].compile(java.lang.String)"
    - Src: "ch.qos.logback.core.pattern.ReplacingCompositeConverter:42,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.ReplacingCompositeConverter].transform(java.lang.Object,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.pattern.ReplacingCompositeConverter"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - "[java.util.regex.Matcher].replaceAll(java.lang.String)"
    functionUses: 1
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.ReplacingCompositeConverter:47"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.ReplacingCompositeConverter:49"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.ReplacingCompositeConverter:48"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.ReplacingCompositeConverter:49,1"
      Dst: "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - Src: "ch.qos.logback.core.pattern.ReplacingCompositeConverter:49,1"
      Dst: "[java.util.regex.Matcher].replaceAll(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ElementPath].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementPath"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.ArrayList].<init>()"
    functionUses: 3
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:29,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:27,1"
      Dst: "[java.util.ArrayList].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ElementPath].<init>(java.util.List)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementPath"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.ArrayList].<init>()"
    - "[java.util.ArrayList].addAll(java.util.Collection)"
    functionUses: 2
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:32,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:27,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:33,1"
      Dst: "[java.util.ArrayList].addAll(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ElementPath].<init>(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementPath"
    linkageType: null
    functionLinenumber: 40
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.ArrayList].<init>()"
    - "[java.lang.String].split(java.lang.String)"
    - "[java.lang.String].length()"
    - "[java.util.ArrayList].add(java.lang.Object)"
    functionUses: 1
    ICount: 22
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.ElementPath:42"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:46"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:45"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.ElementPath:47"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:50"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:49"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.ElementPath:50"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:55"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:54"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.ElementPath:51"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:50"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:49"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:41,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:27,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:46,1"
      Dst: "[java.lang.String].split(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:51,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:52,1"
      Dst: "[java.util.ArrayList].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.joran.spi.ElementPath].duplicate()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementPath"
    linkageType: null
    functionLinenumber: 57
    functionDepth: 1
    returnType: "ch.qos.logback.core.joran.spi.ElementPath"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ElementPath].<init>()"
    - "[java.util.ArrayList].addAll(java.util.Collection)"
    functionUses: 2
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:58,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].<init>()"
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:59,1"
      Dst: "[java.util.ArrayList].addAll(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ElementPath].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementPath"
    linkageType: null
    functionLinenumber: 65
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ElementPath].size()"
    - "[ch.qos.logback.core.joran.spi.ElementPath].equalityCheck(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.joran.spi.ElementSelector].equalityCheck(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.joran.spi.ElementPath].get(int)"
    functionUses: 7
    ICount: 22
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.ElementPath:66"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:67"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:66"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.ElementPath:66"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:70"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:69"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.ElementPath:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:76"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:75"
        BranchSideFuncs:
        - "size()"
    - Branch String: "ch.qos.logback.core.joran.spi.ElementPath:78"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:85"
        BranchSideFuncs:
        - "equalityCheck(java.lang.String,java.lang.String)"
        - "get(int)"
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:84"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.ElementPath:79"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:76"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:75"
        BranchSideFuncs:
        - "size()"
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:72,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].size()"
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:79,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].get(int)"
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:79,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].equalityCheck(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 11
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.joran.spi.ElementPath].equalityCheck(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementPath"
    linkageType: null
    functionLinenumber: 88
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:89,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ElementPath].getCopyOfPartList()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementPath"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>(java.util.Collection)"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:93,1"
      Dst: "[java.util.ArrayList].<init>(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ElementPath].push(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementPath"
    linkageType: null
    functionLinenumber: 96
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].add(java.lang.Object)"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:97,1"
      Dst: "[java.util.ArrayList].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ElementPath].get(int)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementPath"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].get(int)"
    functionUses: 9
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:101,1"
      Dst: "[java.util.ArrayList].get(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ElementPath].pop()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementPath"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].isEmpty()"
    - "[java.util.ArrayList].size()"
    - "[java.util.ArrayList].remove(int)"
    functionUses: 1
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.ElementPath:105"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:108"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:107"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:105,1"
      Dst: "[java.util.ArrayList].isEmpty()"
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:106,1"
      Dst: "[java.util.ArrayList].size()"
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:106,1"
      Dst: "[java.util.ArrayList].remove(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.spi.ElementPath].peekLast()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementPath"
    linkageType: null
    functionLinenumber: 110
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].isEmpty()"
    - "[java.util.ArrayList].size()"
    - "[java.util.ArrayList].get(int)"
    functionUses: 2
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.ElementPath:111"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:115"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:114"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:111,1"
      Dst: "[java.util.ArrayList].isEmpty()"
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:112,1"
      Dst: "[java.util.ArrayList].size()"
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:113,1"
      Dst: "[java.util.ArrayList].get(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ElementPath].size()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementPath"
    linkageType: null
    functionLinenumber: 119
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].size()"
    functionUses: 14
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:120,1"
      Dst: "[java.util.ArrayList].size()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ElementPath].toStableString()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementPath"
    linkageType: null
    functionLinenumber: 123
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.util.ArrayList].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 3
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.ElementPath:125"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:128"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:127"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:124,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:125,1"
      Dst: "[java.util.ArrayList].iterator()"
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:125,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:125,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:126,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:128,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.spi.ElementPath].toString()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementPath"
    linkageType: null
    functionLinenumber: 132
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ElementPath].toStableString()"
    functionUses: 4
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:133,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].toStableString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ElementPath].toStableString()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementPath"
    linkageType: null
    functionLinenumber: 123
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.util.ArrayList].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 3
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.ElementPath:125"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:128"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:127"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:124,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:125,1"
      Dst: "[java.util.ArrayList].iterator()"
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:125,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:125,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:126,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:128,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.model.processor.conditional.IfModelHandler].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.model.processor.conditional.IfModelHandler"
    linkageType: null
    functionLinenumber: 40
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.conditional.IfModelHandler:41,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.conditional.IfModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.conditional.IfModelHandler"
    linkageType: null
    functionLinenumber: 44
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.conditional.IfModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.conditional.IfModelHandler:45,1"
      Dst: "[ch.qos.logback.core.model.processor.conditional.IfModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.conditional.IfModelHandler].getSupportedModelClass()"
    functionSourceFile: "ch.qos.logback.core.model.processor.conditional.IfModelHandler"
    linkageType: null
    functionLinenumber: 49
    functionDepth: 0
    returnType: "java.lang.Class"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.conditional.IfModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.conditional.IfModelHandler"
    linkageType: null
    functionLinenumber: 55
    functionDepth: 12
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.EnvUtil].isJaninoAvailable()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].pushModel(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.Model].getLineNumber()"
    - "[ch.qos.logback.core.model.conditional.IfModel].getCondition()"
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.model.conditional.IfModel].setBranchState(ch.qos.logback.core.model.conditional.IfModel$BranchState)"
    - "[ch.qos.logback.core.joran.conditional.PropertyEvalScriptBuilder].<init>(ch.qos.logback.core.spi.PropertyContainer)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.joran.conditional.PropertyEvalScriptBuilder].build(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.model.conditional.IfModel].setBranchState(boolean)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int)"
    - "[ch.qos.logback.core.joran.conditional.Condition].evaluate()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,boolean,int)"
    functionUses: 3
    ICount: 53
    EdgeCount: 19
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.conditional.IfModelHandler:58"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.conditional.IfModelHandler:64"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.conditional.IfModelHandler:63"
        BranchSideFuncs:
        - "pushModel(ch.qos.logback.core.model.Model)"
        - "isNullOrEmptyOrAllSpaces(java.lang.String)"
        - "getLineNumber()"
        - "getCondition()"
    - Branch String: "ch.qos.logback.core.model.processor.conditional.IfModelHandler:69"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.conditional.IfModelHandler:98"
        BranchSideFuncs:
        - "pushModel(ch.qos.logback.core.model.Model)"
        - "substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
        - "addError(java.lang.String,java.lang.Throwable)"
        - "build(java.lang.String)"
        - "<init>(ch.qos.logback.core.spi.PropertyContainer)"
        - "setContext(ch.qos.logback.core.Context)"
        - "isNullOrEmptyOrAllSpaces(java.lang.String)"
        - "getLineNumber()"
        - "getCondition()"
      - BranchSide: "ch.qos.logback.core.model.processor.conditional.IfModelHandler:97"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.conditional.IfModelHandler:88"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.conditional.IfModelHandler:93"
        BranchSideFuncs:
        - "setBranchState(boolean)"
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.model.processor.conditional.IfModelHandler:92"
        BranchSideFuncs:
        - "setBranchState(ch.qos.logback.core.model.conditional.IfModel$BranchState)"
        - "addError(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.conditional.IfModelHandler:58,1"
      Dst: "[ch.qos.logback.core.util.EnvUtil].isJaninoAvailable()"
    - Src: "ch.qos.logback.core.model.processor.conditional.IfModelHandler:59,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.conditional.IfModelHandler:64,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].pushModel(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.model.processor.conditional.IfModelHandler:66,1"
      Dst: "[ch.qos.logback.core.model.Model].getLineNumber()"
    - Src: "ch.qos.logback.core.model.processor.conditional.IfModelHandler:68,1"
      Dst: "[ch.qos.logback.core.model.conditional.IfModel].getCondition()"
    - Src: "ch.qos.logback.core.model.processor.conditional.IfModelHandler:69,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.conditional.IfModelHandler:71,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    - Src: "ch.qos.logback.core.model.processor.conditional.IfModelHandler:73,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int)"
    - Src: "ch.qos.logback.core.model.processor.conditional.IfModelHandler:73,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.model.processor.conditional.IfModelHandler:74,1"
      Dst: "[ch.qos.logback.core.model.conditional.IfModel].setBranchState(ch.qos.logback.core.model.conditional.IfModel$BranchState)"
    - Src: "ch.qos.logback.core.model.processor.conditional.IfModelHandler:79,1"
      Dst: "[ch.qos.logback.core.joran.conditional.PropertyEvalScriptBuilder].<init>(ch.qos.logback.core.spi.PropertyContainer)"
    - Src: "ch.qos.logback.core.model.processor.conditional.IfModelHandler:80,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.model.processor.conditional.IfModelHandler:81,1"
      Dst: "[ch.qos.logback.core.joran.conditional.PropertyEvalScriptBuilder].build(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.conditional.IfModelHandler:89,1"
      Dst: "[ch.qos.logback.core.joran.conditional.Condition].evaluate()"
    - Src: "ch.qos.logback.core.model.processor.conditional.IfModelHandler:90,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,boolean,int)"
    - Src: "ch.qos.logback.core.model.processor.conditional.IfModelHandler:90,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.conditional.IfModelHandler:91,1"
      Dst: "[ch.qos.logback.core.model.conditional.IfModel].setBranchState(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 11
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.EnvUtil].isJaninoAvailable()"
    functionSourceFile: "ch.qos.logback.core.util.EnvUtil"
    linkageType: null
    functionLinenumber: 119
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].getClassLoader()"
    - "[java.lang.ClassLoader].loadClass(java.lang.String)"
    functionUses: 1
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.EnvUtil:123"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:120"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:119"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.EnvUtil:120,1"
      Dst: "[java.lang.Class].getClassLoader()"
    - Src: "ch.qos.logback.core.util.EnvUtil:122,1"
      Dst: "[java.lang.ClassLoader].loadClass(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].pushModel(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 96
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].push(java.lang.Object)"
    functionUses: 2
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:97,1"
      Dst: "[java.util.Stack].push(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].getLineNumber()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 112
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 8
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.conditional.IfModel].getCondition()"
    functionSourceFile: "ch.qos.logback.core.model.conditional.IfModel"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 282
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    - "[java.lang.String].length()"
    functionUses: 62
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].length()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.util.OptionHelper].substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 111
    functionDepth: 11
    returnType: "java.lang.String"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "ch.qos.logback.core.spi.PropertyContainer"
    - "ch.qos.logback.core.spi.PropertyContainer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.subst.NodeToStringTransformer].substituteVariable(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    functionUses: 3
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:112,1"
      Dst: "[ch.qos.logback.core.subst.NodeToStringTransformer].substituteVariable(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 74
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.conditional.IfModel].setBranchState(ch.qos.logback.core.model.conditional.IfModel$BranchState)"
    functionSourceFile: "ch.qos.logback.core.model.conditional.IfModel"
    linkageType: null
    functionLinenumber: 54
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.conditional.IfModel$BranchState"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 5
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.conditional.PropertyEvalScriptBuilder].<init>(ch.qos.logback.core.spi.PropertyContainer)"
    functionSourceFile: "ch.qos.logback.core.joran.conditional.PropertyEvalScriptBuilder"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.spi.PropertyContainer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - "[java.util.HashMap].<init>()"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.conditional.PropertyEvalScriptBuilder:34,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - Src: "ch.qos.logback.core.joran.conditional.PropertyEvalScriptBuilder:38,1"
      Dst: "[java.util.HashMap].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 34
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:34,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 67
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:45"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:44"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:47"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:46,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.conditional.PropertyEvalScriptBuilder].build(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.conditional.PropertyEvalScriptBuilder"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "ch.qos.logback.core.joran.conditional.Condition"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.codehaus.janino.ClassBodyEvaluator].<init>()"
    - "[org.codehaus.janino.ClassBodyEvaluator].setImplementedInterfaces(java.lang.Class[])"
    - "[org.codehaus.janino.ClassBodyEvaluator].setExtendedClass(java.lang.Class)"
    - "[java.lang.Class].getClassLoader()"
    - "[org.codehaus.janino.ClassBodyEvaluator].setParentClassLoader(java.lang.ClassLoader)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,java.lang.String)"
    - "[org.codehaus.janino.ClassBodyEvaluator].cook(java.lang.String)"
    - "[org.codehaus.janino.ClassBodyEvaluator].getClazz()"
    - "[java.lang.Class].getDeclaredConstructor(java.lang.Class[])"
    - "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    - "[java.lang.Class].getMethod(java.lang.String,java.lang.Class[])"
    - "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    functionUses: 1
    ICount: 32
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.conditional.PropertyEvalScriptBuilder:43,1"
      Dst: "[org.codehaus.janino.ClassBodyEvaluator].<init>()"
    - Src: "ch.qos.logback.core.joran.conditional.PropertyEvalScriptBuilder:44,1"
      Dst: "[org.codehaus.janino.ClassBodyEvaluator].setImplementedInterfaces(java.lang.Class[])"
    - Src: "ch.qos.logback.core.joran.conditional.PropertyEvalScriptBuilder:45,1"
      Dst: "[org.codehaus.janino.ClassBodyEvaluator].setExtendedClass(java.lang.Class)"
    - Src: "ch.qos.logback.core.joran.conditional.PropertyEvalScriptBuilder:46,1"
      Dst: "[java.lang.Class].getClassLoader()"
    - Src: "ch.qos.logback.core.joran.conditional.PropertyEvalScriptBuilder:46,1"
      Dst: "[org.codehaus.janino.ClassBodyEvaluator].setParentClassLoader(java.lang.ClassLoader)"
    - Src: "ch.qos.logback.core.joran.conditional.PropertyEvalScriptBuilder:47,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.conditional.PropertyEvalScriptBuilder:47,1"
      Dst: "[org.codehaus.janino.ClassBodyEvaluator].cook(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.conditional.PropertyEvalScriptBuilder:49,1"
      Dst: "[org.codehaus.janino.ClassBodyEvaluator].getClazz()"
    - Src: "ch.qos.logback.core.joran.conditional.PropertyEvalScriptBuilder:50,1"
      Dst: "[java.lang.Class].getDeclaredConstructor(java.lang.Class[])"
    - Src: "ch.qos.logback.core.joran.conditional.PropertyEvalScriptBuilder:50,1"
      Dst: "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    - Src: "ch.qos.logback.core.joran.conditional.PropertyEvalScriptBuilder:51,1"
      Dst: "[java.lang.Class].getMethod(java.lang.String,java.lang.Class[])"
    - Src: "ch.qos.logback.core.joran.conditional.PropertyEvalScriptBuilder:53,1"
      Dst: "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.conditional.IfModel].setBranchState(boolean)"
    functionSourceFile: "ch.qos.logback.core.model.conditional.IfModel"
    linkageType: null
    functionLinenumber: 59
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.conditional.IfModel].setBranchState(ch.qos.logback.core.model.conditional.IfModel$BranchState)"
    functionUses: 1
    ICount: 9
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.conditional.IfModel:60"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.conditional.IfModel:63"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.conditional.IfModel:62"
        BranchSideFuncs:
        - "setBranchState(ch.qos.logback.core.model.conditional.IfModel$BranchState)"
    Callsites:
    - Src: "ch.qos.logback.core.model.conditional.IfModel:61,1"
      Dst: "[ch.qos.logback.core.model.conditional.IfModel].setBranchState(ch.qos.logback.core.model.conditional.IfModel$BranchState)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.model.processor.conditional.IfModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.conditional.IfModelHandler"
    linkageType: null
    functionLinenumber: 103
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].isModelStackEmpty()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekModel()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].popModel()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Object,ch.qos.logback.core.model.conditional.IfModel)"
    functionUses: 3
    ICount: 16
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.conditional.IfModelHandler:104"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.conditional.IfModelHandler:109"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.model.processor.conditional.IfModelHandler:108"
        BranchSideFuncs:
        - "peekModel()"
    - Branch String: "ch.qos.logback.core.model.processor.conditional.IfModelHandler:110"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.conditional.IfModelHandler:113"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.model.processor.conditional.IfModelHandler:112"
        BranchSideFuncs:
        - "popModel()"
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.conditional.IfModelHandler:104,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].isModelStackEmpty()"
    - Src: "ch.qos.logback.core.model.processor.conditional.IfModelHandler:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.conditional.IfModelHandler:109,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekModel()"
    - Src: "ch.qos.logback.core.model.processor.conditional.IfModelHandler:111,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Object,ch.qos.logback.core.model.conditional.IfModel)"
    - Src: "ch.qos.logback.core.model.processor.conditional.IfModelHandler:111,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.conditional.IfModelHandler:113,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].popModel()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].isModelStackEmpty()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Vector].isEmpty()"
    functionUses: 3
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:105,1"
      Dst: "[java.util.Vector].isEmpty()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekModel()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 0
    returnType: "ch.qos.logback.core.model.Model"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].peek()"
    functionUses: 4
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:101,1"
      Dst: "[java.util.Stack].peek()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 96
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].popModel()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 108
    functionDepth: 0
    returnType: "ch.qos.logback.core.model.Model"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].pop()"
    functionUses: 2
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:109,1"
      Dst: "[java.util.Stack].pop()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.NamedConverter$NameCache].<init>(ch.qos.logback.classic.pattern.NamedConverter,int)"
    functionSourceFile: "ch.qos.logback.classic.pattern.NamedConverter$NameCache"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.classic.pattern.NamedConverter"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.LinkedHashMap].<init>(int)"
    - "[ch.qos.logback.classic.pattern.NamedConverter$CacheMissCalculator].<init>(ch.qos.logback.classic.pattern.NamedConverter)"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.NamedConverter$NameCache:164,1"
      Dst: "[java.util.LinkedHashMap].<init>(int)"
    - Src: "ch.qos.logback.classic.pattern.NamedConverter$NameCache:161,1"
      Dst: "[ch.qos.logback.classic.pattern.NamedConverter$CacheMissCalculator].<init>(ch.qos.logback.classic.pattern.NamedConverter)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.NamedConverter$NameCache].removeEldestEntry(java.util.Map$Entry)"
    functionSourceFile: "ch.qos.logback.classic.pattern.NamedConverter$NameCache"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.util.Map$Entry"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.NamedConverter$NameCache].shouldDoubleRemovalThreshold()"
    - "[ch.qos.logback.classic.pattern.NamedConverter$CacheMissCalculator].getCacheMissRate()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].addInfo(java.lang.String)"
    - "[ch.qos.logback.classic.pattern.NamedConverter$CacheMissCalculator].updateMilestones()"
    - "[java.util.HashMap].size()"
    functionUses: 0
    ICount: 22
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.NamedConverter$NameCache:174"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.NamedConverter$NameCache:184"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.NamedConverter$NameCache:183"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.NamedConverter$NameCache:184"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.NamedConverter$NameCache:187"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.NamedConverter$NameCache:186"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.NamedConverter$NameCache:174,1"
      Dst: "[ch.qos.logback.classic.pattern.NamedConverter$NameCache].shouldDoubleRemovalThreshold()"
    - Src: "ch.qos.logback.classic.pattern.NamedConverter$NameCache:177,1"
      Dst: "[ch.qos.logback.classic.pattern.NamedConverter$CacheMissCalculator].getCacheMissRate()"
    - Src: "ch.qos.logback.classic.pattern.NamedConverter$NameCache:179,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int)"
    - Src: "ch.qos.logback.classic.pattern.NamedConverter$NameCache:179,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.NamedConverter$NameCache:181,1"
      Dst: "[ch.qos.logback.classic.pattern.NamedConverter$CacheMissCalculator].updateMilestones()"
    - Src: "ch.qos.logback.classic.pattern.NamedConverter$NameCache:184,1"
      Dst: "[java.util.HashMap].size()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.pattern.NamedConverter$NameCache].shouldDoubleRemovalThreshold()"
    functionSourceFile: "ch.qos.logback.classic.pattern.NamedConverter$NameCache"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.NamedConverter$CacheMissCalculator].getCacheMissRate()"
    - "[ch.qos.logback.classic.pattern.NamedConverter].disableCache()"
    functionUses: 0
    ICount: 17
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.NamedConverter$NameCache:195"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.NamedConverter$NameCache:198"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.NamedConverter$NameCache:197"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.NamedConverter$NameCache:198"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.NamedConverter$NameCache:202"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.NamedConverter$NameCache:201"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.NamedConverter$NameCache:202"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.NamedConverter$NameCache:207"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.NamedConverter$NameCache:206"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.NamedConverter$NameCache:192,1"
      Dst: "[ch.qos.logback.classic.pattern.NamedConverter$CacheMissCalculator].getCacheMissRate()"
    - Src: "ch.qos.logback.classic.pattern.NamedConverter$NameCache:203,1"
      Dst: "[ch.qos.logback.classic.pattern.NamedConverter].disableCache()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.NamedConverter$CacheMissCalculator].getCacheMissRate()"
    functionSourceFile: "ch.qos.logback.classic.pattern.NamedConverter$CacheMissCalculator"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "double"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.NamedConverter$CacheMissCalculator:225"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.NamedConverter$CacheMissCalculator:230"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.NamedConverter$CacheMissCalculator].updateMilestones()"
    functionSourceFile: "ch.qos.logback.classic.pattern.NamedConverter$CacheMissCalculator"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.NamedConverter$NameCache].shouldDoubleRemovalThreshold()"
    functionSourceFile: "ch.qos.logback.classic.pattern.NamedConverter$NameCache"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.NamedConverter$CacheMissCalculator].getCacheMissRate()"
    - "[ch.qos.logback.classic.pattern.NamedConverter].disableCache()"
    functionUses: 0
    ICount: 17
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.NamedConverter$NameCache:195"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.NamedConverter$NameCache:198"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.NamedConverter$NameCache:197"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.NamedConverter$NameCache:198"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.NamedConverter$NameCache:202"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.NamedConverter$NameCache:201"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.NamedConverter$NameCache:202"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.NamedConverter$NameCache:207"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.NamedConverter$NameCache:206"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.NamedConverter$NameCache:192,1"
      Dst: "[ch.qos.logback.classic.pattern.NamedConverter$CacheMissCalculator].getCacheMissRate()"
    - Src: "ch.qos.logback.classic.pattern.NamedConverter$NameCache:203,1"
      Dst: "[ch.qos.logback.classic.pattern.NamedConverter].disableCache()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.AsyncAppenderBase$Worker].<init>(ch.qos.logback.core.AsyncAppenderBase)"
    functionSourceFile: "ch.qos.logback.core.AsyncAppenderBase$Worker"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.AsyncAppenderBase"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Thread].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.AsyncAppenderBase$Worker:288,1"
      Dst: "[java.lang.Thread].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.AsyncAppenderBase$Worker].run()"
    functionSourceFile: "ch.qos.logback.core.AsyncAppenderBase$Worker"
    linkageType: null
    functionLinenumber: 290
    functionDepth: 4
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.UnsynchronizedAppenderBase].isStarted()"
    - "[ch.qos.logback.core.spi.AppenderAttachableImpl].appendLoopOnAppenders(java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.spi.AppenderAttachableImpl].detachAndStopAllAppenders()"
    - "[java.util.ArrayList].<init>()"
    - "[java.util.concurrent.BlockingQueue].take()"
    - "[java.util.List].add(java.lang.Object)"
    - "[java.util.concurrent.BlockingQueue].drainTo(java.util.Collection)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.Collection].iterator()"
    - "[java.util.concurrent.BlockingQueue].remove(java.lang.Object)"
    functionUses: 4
    ICount: 34
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.AsyncAppenderBase$Worker:295"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.AsyncAppenderBase$Worker:309"
        BranchSideFuncs:
        - "addInfo(java.lang.String)"
    - Branch String: "ch.qos.logback.core.AsyncAppenderBase$Worker:301"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.AsyncAppenderBase$Worker:307"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.AsyncAppenderBase$Worker:306"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.AsyncAppenderBase$Worker:312"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.AsyncAppenderBase$Worker:317"
        BranchSideFuncs:
        - "appendLoopOnAppenders(java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.AsyncAppenderBase$Worker:316"
        BranchSideFuncs:
        - "detachAndStopAllAppenders()"
    Callsites:
    - Src: "ch.qos.logback.core.AsyncAppenderBase$Worker:295,1"
      Dst: "[ch.qos.logback.core.UnsynchronizedAppenderBase].isStarted()"
    - Src: "ch.qos.logback.core.AsyncAppenderBase$Worker:297,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.core.AsyncAppenderBase$Worker:298,1"
      Dst: "[java.util.concurrent.BlockingQueue].take()"
    - Src: "ch.qos.logback.core.AsyncAppenderBase$Worker:299,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "ch.qos.logback.core.AsyncAppenderBase$Worker:300,1"
      Dst: "[java.util.concurrent.BlockingQueue].drainTo(java.util.Collection)"
    - Src: "ch.qos.logback.core.AsyncAppenderBase$Worker:301,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.AsyncAppenderBase$Worker:301,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.AsyncAppenderBase$Worker:301,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.AsyncAppenderBase$Worker:302,1"
      Dst: "[ch.qos.logback.core.spi.AppenderAttachableImpl].appendLoopOnAppenders(java.lang.Object)"
    - Src: "ch.qos.logback.core.AsyncAppenderBase$Worker:310,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.AsyncAppenderBase$Worker:312,1"
      Dst: "[java.util.Collection].iterator()"
    - Src: "ch.qos.logback.core.AsyncAppenderBase$Worker:314,1"
      Dst: "[java.util.concurrent.BlockingQueue].remove(java.lang.Object)"
    - Src: "ch.qos.logback.core.AsyncAppenderBase$Worker:317,1"
      Dst: "[ch.qos.logback.core.spi.AppenderAttachableImpl].detachAndStopAllAppenders()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 11
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.spi.AppenderAttachableImpl].appendLoopOnAppenders(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.spi.AppenderAttachableImpl"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 3
    returnType: "int"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].asTypedArray()"
    - "[ch.qos.logback.core.UnsynchronizedAppenderBase].doAppend(java.lang.Object)"
    - "[ch.qos.logback.core.AppenderBase].doAppend(java.lang.Object)"
    - "[ch.qos.logback.core.Appender].doAppend(java.lang.Object)"
    functionUses: 3
    ICount: 15
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.AppenderAttachableImpl:50"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:53"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:48,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].asTypedArray()"
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:51,1"
      Dst: "[ch.qos.logback.core.Appender].doAppend(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.AppenderAttachableImpl].detachAndStopAllAppenders()"
    functionSourceFile: "ch.qos.logback.core.spi.AppenderAttachableImpl"
    linkageType: null
    functionLinenumber: 105
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.read.CyclicBufferAppender].stop()"
    - "[ch.qos.logback.core.FileAppender].stop()"
    - "[ch.qos.logback.core.net.server.AbstractServerSocketAppender].stop()"
    - "[ch.qos.logback.core.sift.SiftingAppenderBase].stop()"
    - "[ch.qos.logback.core.AsyncAppenderBase].stop()"
    - "[ch.qos.logback.core.OutputStreamAppender].stop()"
    - "[ch.qos.logback.core.net.AbstractSocketAppender].stop()"
    - "[ch.qos.logback.core.rolling.RollingFileAppender].stop()"
    - "[ch.qos.logback.core.net.SyslogAppenderBase].stop()"
    - "[ch.qos.logback.core.testUtil.StringListAppender].stop()"
    - "[ch.qos.logback.core.AppenderBase:ch.qos.logback.core.UnsynchronizedAppenderBase:ch.qos.logback.core.net.SMTPAppenderBase].stop()"
    - "[ch.qos.logback.core.util.COWArrayList].clear()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[ch.qos.logback.core.spi.LifeCycle].stop()"
    functionUses: 2
    ICount: 12
    EdgeCount: 13
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.AppenderAttachableImpl:106"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:109"
        BranchSideFuncs:
        - "iterator()"
        - "stop()"
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:108"
        BranchSideFuncs:
        - "clear()"
    Callsites:
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:106,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:106,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:106,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:107,1"
      Dst: "[ch.qos.logback.core.spi.LifeCycle].stop()"
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:109,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].clear()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.pattern.LineSeparatorConverter].<init>()"
    functionSourceFile: "ch.qos.logback.classic.pattern.LineSeparatorConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.ClassicConverter].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.LineSeparatorConverter:19,1"
      Dst: "[ch.qos.logback.classic.pattern.ClassicConverter].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.LineSeparatorConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.pattern.LineSeparatorConverter"
    linkageType: null
    functionLinenumber: 21
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.LineSeparatorConverter].convert(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.pattern.LineSeparatorConverter"
    linkageType: null
    functionLinenumber: 18
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.LineSeparatorConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 11
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.LineSeparatorConverter:19,1"
      Dst: "[ch.qos.logback.classic.pattern.LineSeparatorConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.LineSeparatorConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.pattern.LineSeparatorConverter"
    linkageType: null
    functionLinenumber: 21
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.action.InsertFromJNDIAction].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.action.InsertFromJNDIAction"
    linkageType: null
    functionLinenumber: 29
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.action.InsertFromJNDIAction:30,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.action.InsertFromJNDIAction].buildCurrentModel(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.classic.joran.action.InsertFromJNDIAction"
    linkageType: null
    functionLinenumber: 37
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.Model"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.InsertFromJNDIModel].<init>()"
    - "[org.xml.sax.helpers.AttributesImpl].getValue(java.lang.String)"
    - "[ch.qos.logback.core.model.InsertFromJNDIModel].setEnvEntryName(java.lang.String)"
    - "[ch.qos.logback.core.model.InsertFromJNDIModel].setAs(java.lang.String)"
    - "[ch.qos.logback.core.model.InsertFromJNDIModel].setScopeStr(java.lang.String)"
    - "[org.xml.sax.Attributes].getValue(java.lang.String)"
    functionUses: 1
    ICount: 13
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.action.InsertFromJNDIAction:38,1"
      Dst: "[ch.qos.logback.core.model.InsertFromJNDIModel].<init>()"
    - Src: "ch.qos.logback.classic.joran.action.InsertFromJNDIAction:39,1"
      Dst: "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - Src: "ch.qos.logback.classic.joran.action.InsertFromJNDIAction:39,1"
      Dst: "[ch.qos.logback.core.model.InsertFromJNDIModel].setEnvEntryName(java.lang.String)"
    - Src: "ch.qos.logback.classic.joran.action.InsertFromJNDIAction:40,1"
      Dst: "[ch.qos.logback.core.model.InsertFromJNDIModel].setAs(java.lang.String)"
    - Src: "ch.qos.logback.classic.joran.action.InsertFromJNDIAction:41,1"
      Dst: "[ch.qos.logback.core.model.InsertFromJNDIModel].setScopeStr(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.InsertFromJNDIModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.InsertFromJNDIModel"
    linkageType: null
    functionLinenumber: 17
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.InsertFromJNDIModel:18,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.InsertFromJNDIModel].setEnvEntryName(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.InsertFromJNDIModel"
    linkageType: null
    functionLinenumber: 64
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.InsertFromJNDIModel].setAs(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.InsertFromJNDIModel"
    linkageType: null
    functionLinenumber: 56
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.InsertFromJNDIModel].setScopeStr(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.InsertFromJNDIModel"
    linkageType: null
    functionLinenumber: 48
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.action.InsertFromJNDIAction].validPreconditions(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.classic.joran.action.InsertFromJNDIAction"
    linkageType: null
    functionLinenumber: 47
    functionDepth: 3
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].<init>(ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].generic(java.lang.String)"
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].isValid()"
    functionUses: 1
    ICount: 10
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.action.InsertFromJNDIAction:48,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].<init>(ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    - Src: "ch.qos.logback.classic.joran.action.InsertFromJNDIAction:49,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].generic(java.lang.String)"
    - Src: "ch.qos.logback.classic.joran.action.InsertFromJNDIAction:52,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].isValid()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].<init>(ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 1
    returnType: "void"
    argCount: 4
    argTypes:
    - "ch.qos.logback.core.spi.ContextAware"
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>(ch.qos.logback.core.spi.ContextAware)"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].getContext()"
    - "[ch.qos.logback.core.pattern.DynamicConverter].getContext()"
    - "[ch.qos.logback.core.LayoutBase:ch.qos.logback.core.spi.ContextAwareBase:ch.qos.logback.core.spi.ContextAwareImpl].getContext()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAware].getContext()"
    functionUses: 16
    ICount: 13
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:33,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>(ch.qos.logback.core.spi.ContextAware)"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:34,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].getContext()"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:34,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].generic(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 69
    functionDepth: 2
    returnType: "ch.qos.logback.core.joran.action.PreconditionValidator"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.xml.sax.helpers.AttributesImpl].getValue(java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.joran.action.Action].getLineNumber(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext)"
    - "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,int)"
    functionUses: 7
    ICount: 13
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.action.PreconditionValidator:71"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.PreconditionValidator:75"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:70,1"
      Dst: "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:71,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:73,1"
      Dst: "[ch.qos.logback.core.joran.action.Action].getLineNumber(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext)"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:73,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,int)"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:72,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].isValid()"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 79
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 16
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__81].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__81"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__81].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__81:-1,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__81].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__81].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__81"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__81:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__81].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__81"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ImplicitModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__81:-1,1"
      Dst: "[ch.qos.logback.core.model.processor.ImplicitModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ImplicitModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ImplicitModelHandler"
    linkageType: null
    functionLinenumber: 51
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ImplicitModelHandler"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getBeanDescriptionCache()"
    - "[ch.qos.logback.core.model.processor.ImplicitModelHandler].<init>(ch.qos.logback.core.Context,ch.qos.logback.core.joran.util.beans.BeanDescriptionCache)"
    functionUses: 2
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:52,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getBeanDescriptionCache()"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:53,1"
      Dst: "[ch.qos.logback.core.model.processor.ImplicitModelHandler].<init>(ch.qos.logback.core.Context,ch.qos.logback.core.joran.util.beans.BeanDescriptionCache)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getBeanDescriptionCache()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 148
    functionDepth: 0
    returnType: "ch.qos.logback.core.joran.util.beans.BeanDescriptionCache"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ImplicitModelHandler].<init>(ch.qos.logback.core.Context,ch.qos.logback.core.joran.util.beans.BeanDescriptionCache)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ImplicitModelHandler"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.joran.util.beans.BeanDescriptionCache"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:43,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser].<init>(ch.qos.logback.core.Context,java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser"
    linkageType: null
    functionLinenumber: 24
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 3
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser:25,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser].isSupportedModelType(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[java.lang.Class].isInstance(java.lang.Object)"
    - "[java.lang.StringBuilder].<init>(java.lang.String)"
    - "[java.lang.Class].getName()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 14
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser:32"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser:36"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser:35"
        BranchSideFuncs:
        - "addError(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser:32,1"
      Dst: "[java.lang.Class].isInstance(java.lang.Object)"
    - Src: "ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser:36,1"
      Dst: "[java.lang.StringBuilder].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser:37,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser:37,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser:38,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser:38,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].pushModel(ch.qos.logback.core.model.Model)"
    functionUses: 3
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser:44,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].pushModel(ch.qos.logback.core.model.Model)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].pushModel(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 96
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].push(java.lang.Object)"
    functionUses: 2
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:97,1"
      Dst: "[java.util.Stack].push(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser"
    linkageType: null
    functionLinenumber: 48
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].popModel()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.Model)"
    functionUses: 3
    ICount: 8
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser:50"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser:53"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser:52"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser:49,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].popModel()"
    - Src: "ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser:51,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser:51,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].popModel()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 108
    functionDepth: 0
    returnType: "ch.qos.logback.core.model.Model"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].pop()"
    functionUses: 2
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:109,1"
      Dst: "[java.util.Stack].pop()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.SubstituteLoggingEvent].<init>()"
    functionSourceFile: "org.slf4j.event.SubstituteLoggingEvent"
    linkageType: null
    functionLinenumber: 9
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.event.SubstituteLoggingEvent:10,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.SubstituteLoggingEvent].getLevel()"
    functionSourceFile: "org.slf4j.event.SubstituteLoggingEvent"
    linkageType: null
    functionLinenumber: 24
    functionDepth: 0
    returnType: "org.slf4j.event.Level"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.SubstituteLoggingEvent].setLevel(org.slf4j.event.Level)"
    functionSourceFile: "org.slf4j.event.SubstituteLoggingEvent"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.slf4j.event.Level"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.SubstituteLoggingEvent].getMarkers()"
    functionSourceFile: "org.slf4j.event.SubstituteLoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.SubstituteLoggingEvent].addMarker(org.slf4j.Marker)"
    functionSourceFile: "org.slf4j.event.SubstituteLoggingEvent"
    linkageType: null
    functionLinenumber: 36
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.slf4j.Marker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.util.ArrayList].<init>(int)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 12
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.event.SubstituteLoggingEvent:37"
      Branch Sides:
      - BranchSide: "org.slf4j.event.SubstituteLoggingEvent:40"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.event.SubstituteLoggingEvent:39"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.event.SubstituteLoggingEvent:40"
      Branch Sides:
      - BranchSide: "org.slf4j.event.SubstituteLoggingEvent:44"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.event.SubstituteLoggingEvent:43"
        BranchSideFuncs:
        - "add(java.lang.Object)"
    Callsites:
    - Src: "org.slf4j.event.SubstituteLoggingEvent:41,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    - Src: "org.slf4j.event.SubstituteLoggingEvent:44,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.event.SubstituteLoggingEvent].getLoggerName()"
    functionSourceFile: "org.slf4j.event.SubstituteLoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.SubstituteLoggingEvent].setLoggerName(java.lang.String)"
    functionSourceFile: "org.slf4j.event.SubstituteLoggingEvent"
    linkageType: null
    functionLinenumber: 51
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.SubstituteLoggingEvent].getLogger()"
    functionSourceFile: "org.slf4j.event.SubstituteLoggingEvent"
    linkageType: null
    functionLinenumber: 55
    functionDepth: 0
    returnType: "org.slf4j.helpers.SubstituteLogger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.SubstituteLoggingEvent].setLogger(org.slf4j.helpers.SubstituteLogger)"
    functionSourceFile: "org.slf4j.event.SubstituteLoggingEvent"
    linkageType: null
    functionLinenumber: 59
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.slf4j.helpers.SubstituteLogger"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.SubstituteLoggingEvent].getMessage()"
    functionSourceFile: "org.slf4j.event.SubstituteLoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.SubstituteLoggingEvent].setMessage(java.lang.String)"
    functionSourceFile: "org.slf4j.event.SubstituteLoggingEvent"
    linkageType: null
    functionLinenumber: 67
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.SubstituteLoggingEvent].getArgumentArray()"
    functionSourceFile: "org.slf4j.event.SubstituteLoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.Object[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.SubstituteLoggingEvent].setArgumentArray(java.lang.Object[])"
    functionSourceFile: "org.slf4j.event.SubstituteLoggingEvent"
    linkageType: null
    functionLinenumber: 75
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.SubstituteLoggingEvent].getArguments()"
    functionSourceFile: "org.slf4j.event.SubstituteLoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Arrays].asList(java.lang.Object[])"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.event.SubstituteLoggingEvent:81"
      Branch Sides:
      - BranchSide: "org.slf4j.event.SubstituteLoggingEvent:84"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.event.SubstituteLoggingEvent:83"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.event.SubstituteLoggingEvent:84,1"
      Dst: "[java.util.Arrays].asList(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.SubstituteLoggingEvent].getTimeStamp()"
    functionSourceFile: "org.slf4j.event.SubstituteLoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.SubstituteLoggingEvent].setTimeStamp(long)"
    functionSourceFile: "org.slf4j.event.SubstituteLoggingEvent"
    linkageType: null
    functionLinenumber: 91
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.SubstituteLoggingEvent].getThreadName()"
    functionSourceFile: "org.slf4j.event.SubstituteLoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.SubstituteLoggingEvent].setThreadName(java.lang.String)"
    functionSourceFile: "org.slf4j.event.SubstituteLoggingEvent"
    linkageType: null
    functionLinenumber: 99
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.SubstituteLoggingEvent].getThrowable()"
    functionSourceFile: "org.slf4j.event.SubstituteLoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.Throwable"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.SubstituteLoggingEvent].setThrowable(java.lang.Throwable)"
    functionSourceFile: "org.slf4j.event.SubstituteLoggingEvent"
    linkageType: null
    functionLinenumber: 107
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.SubstituteLoggingEvent].getKeyValuePairs()"
    functionSourceFile: "org.slf4j.event.SubstituteLoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.conditional.ElseAction].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.conditional.ElseAction"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.conditional.ElseAction:24,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.conditional.ElseAction].validPreconditions(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.conditional.ElseAction"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 3
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].<init>(ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].validateZeroAttributes()"
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].isValid()"
    functionUses: 1
    ICount: 9
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.conditional.ElseAction:28,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].<init>(ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    - Src: "ch.qos.logback.core.joran.conditional.ElseAction:29,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].validateZeroAttributes()"
    - Src: "ch.qos.logback.core.joran.conditional.ElseAction:30,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].isValid()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].<init>(ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 1
    returnType: "void"
    argCount: 4
    argTypes:
    - "ch.qos.logback.core.spi.ContextAware"
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>(ch.qos.logback.core.spi.ContextAware)"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].getContext()"
    - "[ch.qos.logback.core.pattern.DynamicConverter].getContext()"
    - "[ch.qos.logback.core.LayoutBase:ch.qos.logback.core.spi.ContextAwareBase:ch.qos.logback.core.spi.ContextAwareImpl].getContext()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAware].getContext()"
    functionUses: 16
    ICount: 13
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:33,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>(ch.qos.logback.core.spi.ContextAware)"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:34,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].getContext()"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:34,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].validateZeroAttributes()"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 40
    functionDepth: 2
    returnType: "ch.qos.logback.core.joran.action.PreconditionValidator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.xml.sax.helpers.AttributesImpl].getLength()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.joran.action.Action].getLineNumber(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext)"
    - "[org.xml.sax.Attributes].getLength()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int)"
    functionUses: 3
    ICount: 14
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.action.PreconditionValidator:41"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.PreconditionValidator:44"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.action.PreconditionValidator:43"
        BranchSideFuncs:
        - "getLength()"
    - Branch String: "ch.qos.logback.core.joran.action.PreconditionValidator:44"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.PreconditionValidator:48"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:44,1"
      Dst: "[org.xml.sax.Attributes].getLength()"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:46,1"
      Dst: "[ch.qos.logback.core.joran.action.Action].getLineNumber(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext)"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:46,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int)"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:45,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].isValid()"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 79
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 16
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.conditional.ElseAction].buildCurrentModel(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.conditional.ElseAction"
    linkageType: null
    functionLinenumber: 35
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.Model"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.conditional.ElseModel].<init>()"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.conditional.ElseAction:36,1"
      Dst: "[ch.qos.logback.core.model.conditional.ElseModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.conditional.ElseModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.conditional.ElseModel"
    linkageType: null
    functionLinenumber: 17
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.conditional.ElseModel:18,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.ArrayList].<init>()"
    functionUses: 16
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:27,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.model.Model:40,1"
      Dst: "[java.util.ArrayList].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.property.CanonicalHostNamePropertyDefiner].<init>()"
    functionSourceFile: "ch.qos.logback.core.property.CanonicalHostNamePropertyDefiner"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.PropertyDefinerBase].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.property.CanonicalHostNamePropertyDefiner:6,1"
      Dst: "[ch.qos.logback.core.PropertyDefinerBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.property.CanonicalHostNamePropertyDefiner].getPropertyValue()"
    functionSourceFile: "ch.qos.logback.core.property.CanonicalHostNamePropertyDefiner"
    linkageType: null
    functionLinenumber: 9
    functionDepth: 4
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.NetworkAddressUtil].<init>(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - "[ch.qos.logback.core.util.NetworkAddressUtil].safelyGetCanonicalLocalHostName()"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.property.CanonicalHostNamePropertyDefiner:10,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - Src: "ch.qos.logback.core.property.CanonicalHostNamePropertyDefiner:10,1"
      Dst: "[ch.qos.logback.core.util.NetworkAddressUtil].<init>(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.property.CanonicalHostNamePropertyDefiner:10,1"
      Dst: "[ch.qos.logback.core.util.NetworkAddressUtil].safelyGetCanonicalLocalHostName()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 0
    returnType: "ch.qos.logback.core.Context"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 35
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.NetworkAddressUtil].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.util.NetworkAddressUtil"
    linkageType: null
    functionLinenumber: 14
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:15,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:16,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.NetworkAddressUtil].safelyGetCanonicalLocalHostName()"
    functionSourceFile: "ch.qos.logback.core.util.NetworkAddressUtil"
    linkageType: null
    functionLinenumber: 70
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.NetworkAddressUtil].getCanonicalLocalHostName()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:71,1"
      Dst: "[ch.qos.logback.core.util.NetworkAddressUtil].getCanonicalLocalHostName()"
    - Src: "ch.qos.logback.core.util.NetworkAddressUtil:74,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.NPEAppender].<init>()"
    functionSourceFile: "ch.qos.logback.core.testUtil.NPEAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.AppenderBase].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.NPEAppender:18,1"
      Dst: "[ch.qos.logback.core.AppenderBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.NPEAppender].append(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.testUtil.NPEAppender"
    linkageType: null
    functionLinenumber: 20
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.NullPointerException].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.NPEAppender:21,1"
      Dst: "[java.lang.NullPointerException].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_3__23].bootstrap$()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_3__23"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_3__23].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_3__23:-1,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_3__23].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_3__23].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_3__23"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_3__23:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_3__23].get()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_3__23"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator].lambda$addElementSelectorAndActionAssociations$3()"
    functionUses: 3
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_3__23:-1,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator].lambda$addElementSelectorAndActionAssociations$3()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator].lambda$addElementSelectorAndActionAssociations$3()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator"
    linkageType: null
    functionLinenumber: 53
    functionDepth: 1
    returnType: "ch.qos.logback.core.joran.action.Action"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.action.InsertFromJNDIAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:54,1"
      Dst: "[ch.qos.logback.classic.joran.action.InsertFromJNDIAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.server.ConcurrentServerRunner$ClientWrapper].<init>(ch.qos.logback.core.net.server.ConcurrentServerRunner,ch.qos.logback.core.net.server.Client)"
    functionSourceFile: "ch.qos.logback.core.net.server.ConcurrentServerRunner$ClientWrapper"
    linkageType: null
    functionLinenumber: 205
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.net.server.ConcurrentServerRunner"
    - "ch.qos.logback.core.net.server.Client"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.server.ConcurrentServerRunner$ClientWrapper:206,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.server.ConcurrentServerRunner$ClientWrapper].run()"
    functionSourceFile: "ch.qos.logback.core.net.server.ConcurrentServerRunner$ClientWrapper"
    linkageType: null
    functionLinenumber: 210
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.server.ConcurrentServerRunner].addClient(ch.qos.logback.core.net.server.Client)"
    - "[ch.qos.logback.core.net.server.ConcurrentServerRunner$ClientWrapper].run()"
    - "[ch.qos.logback.core.net.server.RemoteReceiverStreamClient].run()"
    - "[ch.qos.logback.classic.net.server.RemoteAppenderStreamClient].run()"
    - "[ch.qos.logback.core.net.server.ConcurrentServerRunner].removeClient(ch.qos.logback.core.net.server.Client)"
    - "[java.lang.Runnable].run()"
    functionUses: 4
    ICount: 16
    EdgeCount: 6
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.server.ConcurrentServerRunner$ClientWrapper:211,1"
      Dst: "[ch.qos.logback.core.net.server.ConcurrentServerRunner].addClient(ch.qos.logback.core.net.server.Client)"
    - Src: "ch.qos.logback.core.net.server.ConcurrentServerRunner$ClientWrapper:213,1"
      Dst: "[java.lang.Runnable].run()"
    - Src: "ch.qos.logback.core.net.server.ConcurrentServerRunner$ClientWrapper:215,1"
      Dst: "[ch.qos.logback.core.net.server.ConcurrentServerRunner].removeClient(ch.qos.logback.core.net.server.Client)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.server.ConcurrentServerRunner$ClientWrapper].close()"
    functionSourceFile: "ch.qos.logback.core.net.server.ConcurrentServerRunner$ClientWrapper"
    linkageType: null
    functionLinenumber: 219
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.net.server.RemoteAppenderStreamClient].close()"
    - "[ch.qos.logback.core.net.server.ConcurrentServerRunner$ClientWrapper].close()"
    - "[ch.qos.logback.core.net.server.RemoteReceiverStreamClient].close()"
    - "[ch.qos.logback.core.net.server.Client].close()"
    functionUses: 5
    ICount: 4
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.server.ConcurrentServerRunner$ClientWrapper:220,1"
      Dst: "[ch.qos.logback.core.net.server.Client].close()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.EventEvaluatorAction].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.action.EventEvaluatorAction"
    linkageType: null
    functionLinenumber: 21
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.EventEvaluatorAction:22,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.EventEvaluatorAction].validPreconditions(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.EventEvaluatorAction"
    linkageType: null
    functionLinenumber: 25
    functionDepth: 4
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].<init>(ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].validateNameAttribute()"
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].isValid()"
    functionUses: 1
    ICount: 9
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.EventEvaluatorAction:26,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].<init>(ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    - Src: "ch.qos.logback.core.joran.action.EventEvaluatorAction:27,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].validateNameAttribute()"
    - Src: "ch.qos.logback.core.joran.action.EventEvaluatorAction:28,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].isValid()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].<init>(ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 1
    returnType: "void"
    argCount: 4
    argTypes:
    - "ch.qos.logback.core.spi.ContextAware"
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>(ch.qos.logback.core.spi.ContextAware)"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].getContext()"
    - "[ch.qos.logback.core.pattern.DynamicConverter].getContext()"
    - "[ch.qos.logback.core.LayoutBase:ch.qos.logback.core.spi.ContextAwareBase:ch.qos.logback.core.spi.ContextAwareImpl].getContext()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAware].getContext()"
    functionUses: 16
    ICount: 13
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:33,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>(ch.qos.logback.core.spi.ContextAware)"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:34,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].getContext()"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:34,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].validateNameAttribute()"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 57
    functionDepth: 3
    returnType: "ch.qos.logback.core.joran.action.PreconditionValidator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].generic(java.lang.String)"
    functionUses: 5
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:58,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].generic(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].isValid()"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 79
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 16
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.EventEvaluatorAction].buildCurrentModel(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.EventEvaluatorAction"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 4
    returnType: "ch.qos.logback.core.model.Model"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.EventEvaluatorModel].<init>()"
    - "[org.xml.sax.helpers.AttributesImpl].getValue(java.lang.String)"
    - "[ch.qos.logback.core.model.ComponentModel].setClassName(java.lang.String)"
    - "[ch.qos.logback.core.model.NamedComponentModel].setName(java.lang.String)"
    - "[org.xml.sax.Attributes].getValue(java.lang.String)"
    functionUses: 1
    ICount: 11
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.EventEvaluatorAction:35,1"
      Dst: "[ch.qos.logback.core.model.EventEvaluatorModel].<init>()"
    - Src: "ch.qos.logback.core.joran.action.EventEvaluatorAction:37,1"
      Dst: "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.EventEvaluatorAction:37,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].setClassName(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.EventEvaluatorAction:38,1"
      Dst: "[ch.qos.logback.core.model.NamedComponentModel].setName(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.EventEvaluatorModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.EventEvaluatorModel"
    linkageType: null
    functionLinenumber: 15
    functionDepth: 3
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.NamedComponentModel].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.EventEvaluatorModel:16,1"
      Dst: "[ch.qos.logback.core.model.NamedComponentModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ComponentModel].setClassName(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.ComponentModel"
    linkageType: null
    functionLinenumber: 47
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 9
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.NamedComponentModel].setName(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.NamedComponentModel"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[JoranFuzzer].<init>()"
    functionSourceFile: "JoranFuzzer"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "JoranFuzzer:14,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[JoranFuzzer].fuzzerInitialize()"
    functionSourceFile: "JoranFuzzer"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 12
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.LoggerFactory].getILoggerFactory()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.classic.LoggerContext].reset()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "JoranFuzzer:19,1"
      Dst: "[org.slf4j.LoggerFactory].getILoggerFactory()"
    - Src: "JoranFuzzer:20,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "JoranFuzzer:21,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].reset()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.LoggerFactory].getILoggerFactory()"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 471
    functionDepth: 11
    returnType: "org.slf4j.ILoggerFactory"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteServiceProvider].getLoggerFactory()"
    - "[ch.qos.logback.classic.spi.LogbackServiceProvider].getLoggerFactory()"
    - "[org.slf4j.helpers.NOP_FallbackServiceProvider].getLoggerFactory()"
    - "[org.slf4j.LoggerFactory].getProvider()"
    - "[org.slf4j.spi.SLF4JServiceProvider].getLoggerFactory()"
    functionUses: 1
    ICount: 3
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.LoggerFactory:472,1"
      Dst: "[org.slf4j.LoggerFactory].getProvider()"
    - Src: "org.slf4j.LoggerFactory:472,1"
      Dst: "[org.slf4j.spi.SLF4JServiceProvider].getLoggerFactory()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 67
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:45"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:44"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:47"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:46,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.LoggerContext].reset()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 358
    functionDepth: 5
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].reset()"
    - "[ch.qos.logback.classic.LoggerContext].initEvaluatorMap()"
    - "[ch.qos.logback.core.ContextBase].initCollisionMaps()"
    - "[ch.qos.logback.classic.Logger].recursiveReset()"
    - "[ch.qos.logback.classic.LoggerContext].resetTurboFilterList()"
    - "[ch.qos.logback.classic.LoggerContext].cancelScheduledTasks()"
    - "[ch.qos.logback.classic.LoggerContext].fireOnReset()"
    - "[ch.qos.logback.classic.LoggerContext].resetListenersExceptResetResistant()"
    - "[ch.qos.logback.classic.LoggerContext].resetStatusListenersExceptResetResistant()"
    functionUses: 6
    ICount: 15
    EdgeCount: 9
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:360,1"
      Dst: "[ch.qos.logback.core.ContextBase].reset()"
    - Src: "ch.qos.logback.classic.LoggerContext:361,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].initEvaluatorMap()"
    - Src: "ch.qos.logback.classic.LoggerContext:362,1"
      Dst: "[ch.qos.logback.core.ContextBase].initCollisionMaps()"
    - Src: "ch.qos.logback.classic.LoggerContext:363,1"
      Dst: "[ch.qos.logback.classic.Logger].recursiveReset()"
    - Src: "ch.qos.logback.classic.LoggerContext:364,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].resetTurboFilterList()"
    - Src: "ch.qos.logback.classic.LoggerContext:365,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].cancelScheduledTasks()"
    - Src: "ch.qos.logback.classic.LoggerContext:366,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].fireOnReset()"
    - Src: "ch.qos.logback.classic.LoggerContext:367,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].resetListenersExceptResetResistant()"
    - Src: "ch.qos.logback.classic.LoggerContext:368,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].resetStatusListenersExceptResetResistant()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].reset()"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 186
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].removeShutdownHook()"
    - "[ch.qos.logback.core.ContextBase].getLifeCycleManager()"
    - "[ch.qos.logback.core.LifeCycleManager].reset()"
    - "[ch.qos.logback.classic.turbo.LRUMessageCache].clear()"
    - "[java.util.Map].clear()"
    functionUses: 1
    ICount: 9
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase:187,1"
      Dst: "[ch.qos.logback.core.ContextBase].removeShutdownHook()"
    - Src: "ch.qos.logback.core.ContextBase:188,1"
      Dst: "[ch.qos.logback.core.ContextBase].getLifeCycleManager()"
    - Src: "ch.qos.logback.core.ContextBase:188,1"
      Dst: "[ch.qos.logback.core.LifeCycleManager].reset()"
    - Src: "ch.qos.logback.core.ContextBase:189,1"
      Dst: "[java.util.Map].clear()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].initEvaluatorMap()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 96
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].putObject(java.lang.String,java.lang.Object)"
    - "[java.util.HashMap].<init>()"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:97,1"
      Dst: "[java.util.HashMap].<init>()"
    - Src: "ch.qos.logback.classic.LoggerContext:97,1"
      Dst: "[ch.qos.logback.core.ContextBase].putObject(java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].putObject(java.lang.String,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 149
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 8
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase:150,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].initCollisionMaps()"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 105
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].putObject(java.lang.String,java.lang.Object)"
    - "[java.util.HashMap].<init>()"
    functionUses: 2
    ICount: 8
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase:106,1"
      Dst: "[java.util.HashMap].<init>()"
    - Src: "ch.qos.logback.core.ContextBase:106,1"
      Dst: "[ch.qos.logback.core.ContextBase].putObject(java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].recursiveReset()"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 332
    functionDepth: 4
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].detachAndStopAllAppenders()"
    - "[ch.qos.logback.classic.Logger].localLevelReset()"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.classic.Logger].recursiveReset()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    functionUses: 2
    ICount: 16
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:336"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:339"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:338"
        BranchSideFuncs:
        - "iterator()"
    - Branch String: "ch.qos.logback.classic.Logger:339"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:342"
        BranchSideFuncs:
        - "iterator()"
        - "recursiveReset()"
      - BranchSide: "ch.qos.logback.classic.Logger:341"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:333,1"
      Dst: "[ch.qos.logback.classic.Logger].detachAndStopAllAppenders()"
    - Src: "ch.qos.logback.classic.Logger:334,1"
      Dst: "[ch.qos.logback.classic.Logger].localLevelReset()"
    - Src: "ch.qos.logback.classic.Logger:339,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.classic.Logger:339,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.classic.Logger:339,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.classic.Logger:340,1"
      Dst: "[ch.qos.logback.classic.Logger].recursiveReset()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].detachAndStopAllAppenders()"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 207
    functionDepth: 3
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.AppenderAttachableImpl].detachAndStopAllAppenders()"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:208"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:211"
        BranchSideFuncs:
        - "detachAndStopAllAppenders()"
      - BranchSide: "ch.qos.logback.classic.Logger:210"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:209,1"
      Dst: "[ch.qos.logback.core.spi.AppenderAttachableImpl].detachAndStopAllAppenders()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.spi.AppenderAttachableImpl].detachAndStopAllAppenders()"
    functionSourceFile: "ch.qos.logback.core.spi.AppenderAttachableImpl"
    linkageType: null
    functionLinenumber: 105
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.read.CyclicBufferAppender].stop()"
    - "[ch.qos.logback.core.FileAppender].stop()"
    - "[ch.qos.logback.core.net.server.AbstractServerSocketAppender].stop()"
    - "[ch.qos.logback.core.sift.SiftingAppenderBase].stop()"
    - "[ch.qos.logback.core.AsyncAppenderBase].stop()"
    - "[ch.qos.logback.core.OutputStreamAppender].stop()"
    - "[ch.qos.logback.core.net.AbstractSocketAppender].stop()"
    - "[ch.qos.logback.core.rolling.RollingFileAppender].stop()"
    - "[ch.qos.logback.core.net.SyslogAppenderBase].stop()"
    - "[ch.qos.logback.core.testUtil.StringListAppender].stop()"
    - "[ch.qos.logback.core.AppenderBase:ch.qos.logback.core.UnsynchronizedAppenderBase:ch.qos.logback.core.net.SMTPAppenderBase].stop()"
    - "[ch.qos.logback.core.util.COWArrayList].clear()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[ch.qos.logback.core.spi.LifeCycle].stop()"
    functionUses: 2
    ICount: 12
    EdgeCount: 13
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.AppenderAttachableImpl:106"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:109"
        BranchSideFuncs:
        - "iterator()"
        - "stop()"
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:108"
        BranchSideFuncs:
        - "clear()"
    Callsites:
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:106,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:106,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:106,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:107,1"
      Dst: "[ch.qos.logback.core.spi.LifeCycle].stop()"
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:109,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].clear()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].localLevelReset()"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 323
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].isRootLogger()"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:325"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:328"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:327"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:325,1"
      Dst: "[ch.qos.logback.classic.Logger].isRootLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].isRootLogger()"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 128
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:129"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:128"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.LoggerContext].resetTurboFilterList()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 250
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.turbo.DuplicateMessageFilter].stop()"
    - "[ch.qos.logback.classic.turbo.TurboFilter].stop()"
    - "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.concurrent.CopyOnWriteArrayList].clear()"
    functionUses: 1
    ICount: 12
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.LoggerContext:251"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:254"
        BranchSideFuncs:
        - "stop()"
      - BranchSide: "ch.qos.logback.classic.LoggerContext:253"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:251,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    - Src: "ch.qos.logback.classic.LoggerContext:251,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.classic.LoggerContext:251,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.classic.LoggerContext:252,1"
      Dst: "[ch.qos.logback.classic.turbo.TurboFilter].stop()"
    - Src: "ch.qos.logback.classic.LoggerContext:254,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].clear()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.LoggerContext].cancelScheduledTasks()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 222
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.util.COWArrayList].clear()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.concurrent.Future].cancel(boolean)"
    - "[java.util.List].clear()"
    functionUses: 1
    ICount: 12
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.LoggerContext:223"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:226"
        BranchSideFuncs:
        - "iterator()"
      - BranchSide: "ch.qos.logback.classic.LoggerContext:225"
        BranchSideFuncs:
        - "clear()"
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:223,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.classic.LoggerContext:223,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.classic.LoggerContext:223,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.classic.LoggerContext:224,1"
      Dst: "[java.util.concurrent.Future].cancel(boolean)"
    - Src: "ch.qos.logback.classic.LoggerContext:226,1"
      Dst: "[java.util.List].clear()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.LoggerContext].fireOnReset()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 316
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.classic.jul.LevelChangePropagator].onReset(ch.qos.logback.classic.LoggerContext)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[ch.qos.logback.classic.spi.LoggerContextListener].onReset(ch.qos.logback.classic.LoggerContext)"
    functionUses: 1
    ICount: 10
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.LoggerContext:317"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:320"
        BranchSideFuncs:
        - "iterator()"
        - "onReset(ch.qos.logback.classic.LoggerContext)"
      - BranchSide: "ch.qos.logback.classic.LoggerContext:319"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:317,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.classic.LoggerContext:317,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.classic.LoggerContext:317,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.classic.LoggerContext:318,1"
      Dst: "[ch.qos.logback.classic.spi.LoggerContextListener].onReset(ch.qos.logback.classic.LoggerContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.LoggerContext].resetListenersExceptResetResistant()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 291
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.classic.jul.LevelChangePropagator].isResetResistant()"
    - "[ch.qos.logback.core.util.COWArrayList].retainAll(java.util.Collection)"
    - "[java.util.ArrayList].<init>()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[ch.qos.logback.classic.spi.LoggerContextListener].isResetResistant()"
    - "[java.util.List].add(java.lang.Object)"
    - "[java.util.List].retainAll(java.util.Collection)"
    functionUses: 1
    ICount: 16
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.LoggerContext:294"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:299"
        BranchSideFuncs:
        - "iterator()"
        - "isResetResistant()"
      - BranchSide: "ch.qos.logback.classic.LoggerContext:298"
        BranchSideFuncs:
        - "retainAll(java.util.Collection)"
    - Branch String: "ch.qos.logback.classic.LoggerContext:295"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:298"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:297"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:292,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.classic.LoggerContext:294,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.classic.LoggerContext:294,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.classic.LoggerContext:294,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.classic.LoggerContext:295,1"
      Dst: "[ch.qos.logback.classic.spi.LoggerContextListener].isResetResistant()"
    - Src: "ch.qos.logback.classic.LoggerContext:296,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "ch.qos.logback.classic.LoggerContext:299,1"
      Dst: "[java.util.List].retainAll(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.LoggerContext].resetStatusListenersExceptResetResistant()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 229
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - "[ch.qos.logback.core.BasicStatusManager].getCopyOfStatusListenerList()"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.status.OnPrintStreamStatusListenerBase].isResetResistant()"
    - "[ch.qos.logback.core.status.StatusListener].isResetResistant()"
    - "[ch.qos.logback.core.BasicStatusManager].remove(ch.qos.logback.core.status.StatusListener)"
    - "[ch.qos.logback.core.status.StatusManager].getCopyOfStatusListenerList()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[ch.qos.logback.core.status.StatusManager].remove(ch.qos.logback.core.status.StatusListener)"
    functionUses: 1
    ICount: 13
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.LoggerContext:231"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:236"
        BranchSideFuncs:
        - "iterator()"
        - "isResetResistant()"
        - "getCopyOfStatusListenerList()"
      - BranchSide: "ch.qos.logback.classic.LoggerContext:235"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.LoggerContext:232"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:235"
        BranchSideFuncs:
        - "remove(ch.qos.logback.core.status.StatusListener)"
      - BranchSide: "ch.qos.logback.classic.LoggerContext:234"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:230,1"
      Dst: "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - Src: "ch.qos.logback.classic.LoggerContext:231,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].getCopyOfStatusListenerList()"
    - Src: "ch.qos.logback.classic.LoggerContext:231,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.classic.LoggerContext:231,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.classic.LoggerContext:231,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.classic.LoggerContext:232,1"
      Dst: "[ch.qos.logback.core.status.StatusListener].isResetResistant()"
    - Src: "ch.qos.logback.classic.LoggerContext:233,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].remove(ch.qos.logback.core.status.StatusListener)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.ContextBase].getStatusManager()"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 70
    functionDepth: 0
    returnType: "ch.qos.logback.core.status.StatusManager"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 19
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[JoranFuzzer].fuzzerTestOneInput(com.code_intelligence.jazzer.api.FuzzedDataProvider)"
    functionSourceFile: "JoranFuzzer"
    linkageType: null
    functionLinenumber: 24
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.code_intelligence.jazzer.api.FuzzedDataProvider"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.GenericXMLConfigurator].doConfigure(java.io.InputStream)"
    - "[com.code_intelligence.jazzer.api.FuzzedDataProvider:org.slf4j.helpers.NOPLogger].consumeRemainingAsString()"
    - "[org.slf4j.helpers.AbstractLogger].debug(java.lang.String)"
    - "[ch.qos.logback.classic.Logger].debug(java.lang.String)"
    - "[org.slf4j.helpers.SubstituteLogger].debug(java.lang.String)"
    - "[com.code_intelligence.jazzer.api.FuzzedDataProvider].consumeString(int)"
    - "[java.lang.String].contains(java.lang.CharSequence)"
    - "[java.lang.String].getBytes()"
    - "[java.io.ByteArrayInputStream].<init>(byte[])"
    - "[com.code_intelligence.jazzer.api.FuzzedDataProvider].consumeRemainingAsString()"
    - "[org.slf4j.Logger].debug(java.lang.String)"
    functionUses: 0
    ICount: 16
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "JoranFuzzer:28"
      Branch Sides:
      - BranchSide: "JoranFuzzer:32"
        BranchSideFuncs: []
      - BranchSide: "JoranFuzzer:31"
        BranchSideFuncs:
        - "consumeRemainingAsString()"
        - "debug(java.lang.String)"
        - "doConfigure(java.io.InputStream)"
    Callsites:
    - Src: "JoranFuzzer:25,1"
      Dst: "[com.code_intelligence.jazzer.api.FuzzedDataProvider].consumeString(int)"
    - Src: "JoranFuzzer:28,1"
      Dst: "[java.lang.String].contains(java.lang.CharSequence)"
    - Src: "JoranFuzzer:32,1"
      Dst: "[java.lang.String].getBytes()"
    - Src: "JoranFuzzer:32,1"
      Dst: "[java.io.ByteArrayInputStream].<init>(byte[])"
    - Src: "JoranFuzzer:34,1"
      Dst: "[ch.qos.logback.core.joran.GenericXMLConfigurator].doConfigure(java.io.InputStream)"
    - Src: "JoranFuzzer:35,1"
      Dst: "[com.code_intelligence.jazzer.api.FuzzedDataProvider].consumeRemainingAsString()"
    - Src: "JoranFuzzer:35,1"
      Dst: "[org.slf4j.Logger].debug(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ConsoleTarget].values()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ConsoleTarget"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.core.joran.spi.ConsoleTarget[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].clone()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ConsoleTarget:29,1"
      Dst: "[java.lang.Object].clone()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ConsoleTarget].valueOf(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ConsoleTarget"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.core.joran.spi.ConsoleTarget"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ConsoleTarget:29,1"
      Dst: "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ConsoleTarget].findByName(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ConsoleTarget"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.joran.spi.ConsoleTarget"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ConsoleTarget].values()"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.ConsoleTarget:76"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ConsoleTarget:81"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ConsoleTarget:80"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.ConsoleTarget:77"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ConsoleTarget:76"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ConsoleTarget:75"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ConsoleTarget:76,1"
      Dst: "[ch.qos.logback.core.joran.spi.ConsoleTarget].values()"
    - Src: "ch.qos.logback.core.joran.spi.ConsoleTarget:77,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.spi.ConsoleTarget].values()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ConsoleTarget"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.core.joran.spi.ConsoleTarget[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].clone()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ConsoleTarget:29,1"
      Dst: "[java.lang.Object].clone()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ConsoleTarget].<init>(java.lang.String,int,java.lang.String,java.io.OutputStream)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ConsoleTarget"
    linkageType: null
    functionLinenumber: 86
    functionDepth: 0
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.lang.String"
    - "int"
    - "java.lang.String"
    - "java.io.OutputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].<init>(java.lang.String,int)"
    functionUses: 2
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ConsoleTarget:87,1"
      Dst: "[java.lang.Enum].<init>(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ConsoleTarget].getName()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ConsoleTarget"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ConsoleTarget].getStream()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ConsoleTarget"
    linkageType: null
    functionLinenumber: 96
    functionDepth: 0
    returnType: "java.io.OutputStream"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ConsoleTarget].toString()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ConsoleTarget"
    linkageType: null
    functionLinenumber: 101
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ConsoleTarget].$values()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ConsoleTarget"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 0
    returnType: "ch.qos.logback.core.joran.spi.ConsoleTarget[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.CyclicBufferTracker].<init>()"
    functionSourceFile: "ch.qos.logback.core.spi.CyclicBufferTracker"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.AbstractComponentTracker].<init>()"
    - "[ch.qos.logback.core.spi.AbstractComponentTracker].setMaxComponents(int)"
    functionUses: 1
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.CyclicBufferTracker:33,1"
      Dst: "[ch.qos.logback.core.spi.AbstractComponentTracker].<init>()"
    - Src: "ch.qos.logback.core.spi.CyclicBufferTracker:34,1"
      Dst: "[ch.qos.logback.core.spi.AbstractComponentTracker].setMaxComponents(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.CyclicBufferTracker].getBufferSize()"
    functionSourceFile: "ch.qos.logback.core.spi.CyclicBufferTracker"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.CyclicBufferTracker].setBufferSize(int)"
    functionSourceFile: "ch.qos.logback.core.spi.CyclicBufferTracker"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.CyclicBufferTracker].processPriorToRemoval(ch.qos.logback.core.helpers.CyclicBuffer)"
    functionSourceFile: "ch.qos.logback.core.spi.CyclicBufferTracker"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.helpers.CyclicBuffer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.helpers.CyclicBuffer].clear()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.CyclicBufferTracker:47,1"
      Dst: "[ch.qos.logback.core.helpers.CyclicBuffer].clear()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.helpers.CyclicBuffer].clear()"
    functionSourceFile: "ch.qos.logback.core.helpers.CyclicBuffer"
    linkageType: null
    functionLinenumber: 72
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.helpers.CyclicBuffer].init(int)"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.helpers.CyclicBuffer:73,1"
      Dst: "[ch.qos.logback.core.helpers.CyclicBuffer].init(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.CyclicBufferTracker].buildComponent(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.CyclicBufferTracker"
    linkageType: null
    functionLinenumber: 51
    functionDepth: 2
    returnType: "ch.qos.logback.core.helpers.CyclicBuffer"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.helpers.CyclicBuffer].<init>(int)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.CyclicBufferTracker:52,1"
      Dst: "[ch.qos.logback.core.helpers.CyclicBuffer].<init>(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.helpers.CyclicBuffer].<init>(int)"
    functionSourceFile: "ch.qos.logback.core.helpers.CyclicBuffer"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.helpers.CyclicBuffer].init(int)"
    - "[java.lang.Object].<init>()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 3
    ICount: 10
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.helpers.CyclicBuffer:44"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:47"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:46"
        BranchSideFuncs:
        - "init(int)"
    Callsites:
    - Src: "ch.qos.logback.core.helpers.CyclicBuffer:43,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.helpers.CyclicBuffer:45,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - Src: "ch.qos.logback.core.helpers.CyclicBuffer:45,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.helpers.CyclicBuffer:47,1"
      Dst: "[ch.qos.logback.core.helpers.CyclicBuffer].init(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.CyclicBufferTracker].isComponentStale(ch.qos.logback.core.helpers.CyclicBuffer)"
    functionSourceFile: "ch.qos.logback.core.spi.CyclicBufferTracker"
    linkageType: null
    functionLinenumber: 56
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.helpers.CyclicBuffer"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.CyclicBufferTracker].liveKeysAsOrderedList()"
    functionSourceFile: "ch.qos.logback.core.spi.CyclicBufferTracker"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.LinkedHashMap].keySet()"
    - "[java.util.ArrayList].<init>(java.util.Collection)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.CyclicBufferTracker:62,1"
      Dst: "[java.util.LinkedHashMap].keySet()"
    - Src: "ch.qos.logback.core.spi.CyclicBufferTracker:62,1"
      Dst: "[java.util.ArrayList].<init>(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.CyclicBufferTracker].lingererKeysAsOrderedList()"
    functionSourceFile: "ch.qos.logback.core.spi.CyclicBufferTracker"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.LinkedHashMap].keySet()"
    - "[java.util.ArrayList].<init>(java.util.Collection)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.CyclicBufferTracker:66,1"
      Dst: "[java.util.LinkedHashMap].keySet()"
    - Src: "ch.qos.logback.core.spi.CyclicBufferTracker:66,1"
      Dst: "[java.util.ArrayList].<init>(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.CyclicBufferTracker].isComponentStale(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.spi.CyclicBufferTracker"
    linkageType: null
    functionLinenumber: 24
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.CyclicBufferTracker].isComponentStale(ch.qos.logback.core.helpers.CyclicBuffer)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.CyclicBufferTracker:25,1"
      Dst: "[ch.qos.logback.core.spi.CyclicBufferTracker].isComponentStale(ch.qos.logback.core.helpers.CyclicBuffer)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.CyclicBufferTracker].isComponentStale(ch.qos.logback.core.helpers.CyclicBuffer)"
    functionSourceFile: "ch.qos.logback.core.spi.CyclicBufferTracker"
    linkageType: null
    functionLinenumber: 56
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.helpers.CyclicBuffer"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.CyclicBufferTracker].processPriorToRemoval(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.spi.CyclicBufferTracker"
    linkageType: null
    functionLinenumber: 24
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.CyclicBufferTracker].processPriorToRemoval(ch.qos.logback.core.helpers.CyclicBuffer)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.CyclicBufferTracker:25,1"
      Dst: "[ch.qos.logback.core.spi.CyclicBufferTracker].processPriorToRemoval(ch.qos.logback.core.helpers.CyclicBuffer)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.CyclicBufferTracker].processPriorToRemoval(ch.qos.logback.core.helpers.CyclicBuffer)"
    functionSourceFile: "ch.qos.logback.core.spi.CyclicBufferTracker"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.helpers.CyclicBuffer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.helpers.CyclicBuffer].clear()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.CyclicBufferTracker:47,1"
      Dst: "[ch.qos.logback.core.helpers.CyclicBuffer].clear()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.helpers.NOPAppender].<init>()"
    functionSourceFile: "ch.qos.logback.core.helpers.NOPAppender"
    linkageType: null
    functionLinenumber: 17
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.AppenderBase].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.helpers.NOPAppender:18,1"
      Dst: "[ch.qos.logback.core.AppenderBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.helpers.NOPAppender].append(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.helpers.NOPAppender"
    linkageType: null
    functionLinenumber: 21
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.stax.StaxEventRecorder].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - "[java.util.ArrayList].<init>()"
    - "[ch.qos.logback.core.joran.spi.ElementPath].<init>()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:38,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:35,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:36,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].<init>()"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:39,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.stax.StaxEventRecorder].recordEvents(java.io.InputStream)"
    functionSourceFile: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.InputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.xml.stream.XMLInputFactory].newInstance()"
    - "[javax.xml.stream.XMLInputFactory].createXMLEventReader(java.io.InputStream)"
    - "[ch.qos.logback.core.joran.event.stax.StaxEventRecorder].read(javax.xml.stream.XMLEventReader)"
    - "[ch.qos.logback.core.joran.spi.JoranException].<init>(java.lang.String,java.lang.Throwable)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:44,1"
      Dst: "[javax.xml.stream.XMLInputFactory].newInstance()"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:44,1"
      Dst: "[javax.xml.stream.XMLInputFactory].createXMLEventReader(java.io.InputStream)"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:45,1"
      Dst: "[ch.qos.logback.core.joran.event.stax.StaxEventRecorder].read(javax.xml.stream.XMLEventReader)"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:47,1"
      Dst: "[ch.qos.logback.core.joran.spi.JoranException].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.stax.StaxEventRecorder].read(javax.xml.stream.XMLEventReader)"
    functionSourceFile: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "javax.xml.stream.XMLEventReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.xml.stream.XMLEventReader].hasNext()"
    - "[javax.xml.stream.XMLEventReader].nextEvent()"
    - "[javax.xml.stream.events.XMLEvent].getEventType()"
    - "[ch.qos.logback.core.joran.event.stax.StaxEventRecorder].addStartElement(javax.xml.stream.events.XMLEvent)"
    - "[ch.qos.logback.core.joran.event.stax.StaxEventRecorder].addCharacters(javax.xml.stream.events.XMLEvent)"
    - "[ch.qos.logback.core.joran.event.stax.StaxEventRecorder].addEndEvent(javax.xml.stream.events.XMLEvent)"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:56"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:72"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:71"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:56,1"
      Dst: "[javax.xml.stream.XMLEventReader].hasNext()"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:57,1"
      Dst: "[javax.xml.stream.XMLEventReader].nextEvent()"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:58,1"
      Dst: "[javax.xml.stream.events.XMLEvent].getEventType()"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:60,1"
      Dst: "[ch.qos.logback.core.joran.event.stax.StaxEventRecorder].addStartElement(javax.xml.stream.events.XMLEvent)"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:63,1"
      Dst: "[ch.qos.logback.core.joran.event.stax.StaxEventRecorder].addCharacters(javax.xml.stream.events.XMLEvent)"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:66,1"
      Dst: "[ch.qos.logback.core.joran.event.stax.StaxEventRecorder].addEndEvent(javax.xml.stream.events.XMLEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.joran.event.stax.StaxEventRecorder].addStartElement(javax.xml.stream.events.XMLEvent)"
    functionSourceFile: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "javax.xml.stream.events.XMLEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.xml.stream.events.XMLEvent].asStartElement()"
    - "[javax.xml.stream.events.StartElement].getName()"
    - "[javax.xml.namespace.QName].getLocalPart()"
    - "[ch.qos.logback.core.joran.spi.ElementPath].push(java.lang.String)"
    - "[ch.qos.logback.core.joran.spi.ElementPath].duplicate()"
    - "[javax.xml.stream.events.StartElement].getAttributes()"
    - "[javax.xml.stream.events.XMLEvent].getLocation()"
    - "[ch.qos.logback.core.joran.event.stax.StartEvent].<init>(ch.qos.logback.core.joran.spi.ElementPath,java.lang.String,java.util.Iterator,javax.xml.stream.Location)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:75,1"
      Dst: "[javax.xml.stream.events.XMLEvent].asStartElement()"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:76,1"
      Dst: "[javax.xml.stream.events.StartElement].getName()"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:76,1"
      Dst: "[javax.xml.namespace.QName].getLocalPart()"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:77,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].push(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:78,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].duplicate()"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:79,1"
      Dst: "[javax.xml.stream.events.StartElement].getAttributes()"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:79,1"
      Dst: "[javax.xml.stream.events.XMLEvent].getLocation()"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:79,1"
      Dst: "[ch.qos.logback.core.joran.event.stax.StartEvent].<init>(ch.qos.logback.core.joran.spi.ElementPath,java.lang.String,java.util.Iterator,javax.xml.stream.Location)"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:80,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ElementPath].push(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementPath"
    linkageType: null
    functionLinenumber: 96
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].add(java.lang.Object)"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:97,1"
      Dst: "[java.util.ArrayList].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ElementPath].duplicate()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementPath"
    linkageType: null
    functionLinenumber: 57
    functionDepth: 1
    returnType: "ch.qos.logback.core.joran.spi.ElementPath"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ElementPath].<init>()"
    - "[java.util.ArrayList].addAll(java.util.Collection)"
    functionUses: 2
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:58,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].<init>()"
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:59,1"
      Dst: "[java.util.ArrayList].addAll(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.stax.StartEvent].<init>(ch.qos.logback.core.joran.spi.ElementPath,java.lang.String,java.util.Iterator,javax.xml.stream.Location)"
    functionSourceFile: "ch.qos.logback.core.joran.event.stax.StartEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 4
    argTypes:
    - "ch.qos.logback.core.joran.spi.ElementPath"
    - "java.lang.String"
    - "java.util.Iterator"
    - "javax.xml.stream.Location"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.event.stax.StaxEvent].<init>(java.lang.String,javax.xml.stream.Location)"
    - "[ch.qos.logback.core.joran.event.stax.StartEvent].populateAttributes(java.util.Iterator)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.stax.StartEvent:30,1"
      Dst: "[ch.qos.logback.core.joran.event.stax.StaxEvent].<init>(java.lang.String,javax.xml.stream.Location)"
    - Src: "ch.qos.logback.core.joran.event.stax.StartEvent:31,1"
      Dst: "[ch.qos.logback.core.joran.event.stax.StartEvent].populateAttributes(java.util.Iterator)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.stax.StaxEvent].<init>(java.lang.String,javax.xml.stream.Location)"
    functionSourceFile: "ch.qos.logback.core.joran.event.stax.StaxEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "javax.xml.stream.Location"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEvent:23,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.stax.StartEvent].populateAttributes(java.util.Iterator)"
    functionSourceFile: "ch.qos.logback.core.joran.event.stax.StartEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.Iterator"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Iterator].hasNext()"
    - "[java.util.ArrayList].<init>(int)"
    - "[java.util.Iterator].next()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.event.stax.StartEvent:36"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.event.stax.StartEvent:42"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.event.stax.StartEvent:41"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.event.stax.StartEvent:37"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.event.stax.StartEvent:40"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.event.stax.StartEvent:39"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.stax.StartEvent:36,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.joran.event.stax.StartEvent:38,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    - Src: "ch.qos.logback.core.joran.event.stax.StartEvent:40,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.joran.event.stax.StartEvent:40,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.joran.event.stax.StaxEventRecorder].addCharacters(javax.xml.stream.events.XMLEvent)"
    functionSourceFile: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "javax.xml.stream.events.XMLEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.xml.stream.events.XMLEvent].asCharacters()"
    - "[ch.qos.logback.core.joran.event.stax.StaxEventRecorder].getLastEvent()"
    - "[javax.xml.stream.events.Characters].getData()"
    - "[ch.qos.logback.core.joran.event.stax.BodyEvent].append(java.lang.String)"
    - "[javax.xml.stream.events.Characters].isWhiteSpace()"
    - "[javax.xml.stream.events.XMLEvent].getLocation()"
    - "[ch.qos.logback.core.joran.event.stax.BodyEvent].<init>(java.lang.String,javax.xml.stream.Location)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 0
    ICount: 19
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:87"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:92"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:91"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:92"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:97"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:96"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:84,1"
      Dst: "[javax.xml.stream.events.XMLEvent].asCharacters()"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:85,1"
      Dst: "[ch.qos.logback.core.joran.event.stax.StaxEventRecorder].getLastEvent()"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:89,1"
      Dst: "[javax.xml.stream.events.Characters].getData()"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:89,1"
      Dst: "[ch.qos.logback.core.joran.event.stax.BodyEvent].append(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:92,1"
      Dst: "[javax.xml.stream.events.Characters].isWhiteSpace()"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:93,1"
      Dst: "[javax.xml.stream.events.XMLEvent].getLocation()"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:93,1"
      Dst: "[ch.qos.logback.core.joran.event.stax.BodyEvent].<init>(java.lang.String,javax.xml.stream.Location)"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:94,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.joran.event.stax.StaxEventRecorder].getLastEvent()"
    functionSourceFile: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.core.joran.event.stax.StaxEvent"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.List].isEmpty()"
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:108"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:111"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:110"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:112"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:114"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:113"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:108,1"
      Dst: "[java.util.List].isEmpty()"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:111,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:114,1"
      Dst: "[java.util.List].get(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.stax.BodyEvent].append(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.event.stax.BodyEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.stax.BodyEvent:32,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.stax.BodyEvent].<init>(java.lang.String,javax.xml.stream.Location)"
    functionSourceFile: "ch.qos.logback.core.joran.event.stax.BodyEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "javax.xml.stream.Location"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.event.stax.StaxEvent].<init>(java.lang.String,javax.xml.stream.Location)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.stax.BodyEvent:23,1"
      Dst: "[ch.qos.logback.core.joran.event.stax.StaxEvent].<init>(java.lang.String,javax.xml.stream.Location)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.stax.StaxEventRecorder].addEndEvent(javax.xml.stream.events.XMLEvent)"
    functionSourceFile: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "javax.xml.stream.events.XMLEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.xml.stream.events.XMLEvent].asEndElement()"
    - "[javax.xml.stream.events.EndElement].getName()"
    - "[javax.xml.namespace.QName].getLocalPart()"
    - "[javax.xml.stream.events.XMLEvent].getLocation()"
    - "[ch.qos.logback.core.joran.event.stax.EndEvent].<init>(java.lang.String,javax.xml.stream.Location)"
    - "[java.util.List].add(java.lang.Object)"
    - "[ch.qos.logback.core.joran.spi.ElementPath].pop()"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:100,1"
      Dst: "[javax.xml.stream.events.XMLEvent].asEndElement()"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:101,1"
      Dst: "[javax.xml.stream.events.EndElement].getName()"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:101,1"
      Dst: "[javax.xml.namespace.QName].getLocalPart()"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:102,1"
      Dst: "[javax.xml.stream.events.XMLEvent].getLocation()"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:102,1"
      Dst: "[ch.qos.logback.core.joran.event.stax.EndEvent].<init>(java.lang.String,javax.xml.stream.Location)"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:103,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:104,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].pop()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.stax.EndEvent].<init>(java.lang.String,javax.xml.stream.Location)"
    functionSourceFile: "ch.qos.logback.core.joran.event.stax.EndEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "javax.xml.stream.Location"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.event.stax.StaxEvent].<init>(java.lang.String,javax.xml.stream.Location)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.stax.EndEvent:25,1"
      Dst: "[ch.qos.logback.core.joran.event.stax.StaxEvent].<init>(java.lang.String,javax.xml.stream.Location)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ElementPath].pop()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementPath"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].isEmpty()"
    - "[java.util.ArrayList].size()"
    - "[java.util.ArrayList].remove(int)"
    functionUses: 1
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.ElementPath:105"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:108"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:107"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:105,1"
      Dst: "[java.util.ArrayList].isEmpty()"
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:106,1"
      Dst: "[java.util.ArrayList].size()"
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:106,1"
      Dst: "[java.util.ArrayList].remove(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.spi.JoranException].<init>(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.JoranException"
    linkageType: null
    functionLinenumber: 24
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Exception].<init>(java.lang.String,java.lang.Throwable)"
    functionUses: 7
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.JoranException:25,1"
      Dst: "[java.lang.Exception].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.stax.StaxEventRecorder].getEventList()"
    functionSourceFile: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.stax.StaxEventRecorder].read(javax.xml.stream.XMLEventReader)"
    functionSourceFile: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "javax.xml.stream.XMLEventReader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.xml.stream.XMLEventReader].hasNext()"
    - "[javax.xml.stream.XMLEventReader].nextEvent()"
    - "[javax.xml.stream.events.XMLEvent].getEventType()"
    - "[ch.qos.logback.core.joran.event.stax.StaxEventRecorder].addStartElement(javax.xml.stream.events.XMLEvent)"
    - "[ch.qos.logback.core.joran.event.stax.StaxEventRecorder].addCharacters(javax.xml.stream.events.XMLEvent)"
    - "[ch.qos.logback.core.joran.event.stax.StaxEventRecorder].addEndEvent(javax.xml.stream.events.XMLEvent)"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:56"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:72"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:71"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:56,1"
      Dst: "[javax.xml.stream.XMLEventReader].hasNext()"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:57,1"
      Dst: "[javax.xml.stream.XMLEventReader].nextEvent()"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:58,1"
      Dst: "[javax.xml.stream.events.XMLEvent].getEventType()"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:60,1"
      Dst: "[ch.qos.logback.core.joran.event.stax.StaxEventRecorder].addStartElement(javax.xml.stream.events.XMLEvent)"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:63,1"
      Dst: "[ch.qos.logback.core.joran.event.stax.StaxEventRecorder].addCharacters(javax.xml.stream.events.XMLEvent)"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:66,1"
      Dst: "[ch.qos.logback.core.joran.event.stax.StaxEventRecorder].addEndEvent(javax.xml.stream.events.XMLEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.joran.event.stax.StaxEventRecorder].addStartElement(javax.xml.stream.events.XMLEvent)"
    functionSourceFile: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "javax.xml.stream.events.XMLEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.xml.stream.events.XMLEvent].asStartElement()"
    - "[javax.xml.stream.events.StartElement].getName()"
    - "[javax.xml.namespace.QName].getLocalPart()"
    - "[ch.qos.logback.core.joran.spi.ElementPath].push(java.lang.String)"
    - "[ch.qos.logback.core.joran.spi.ElementPath].duplicate()"
    - "[javax.xml.stream.events.StartElement].getAttributes()"
    - "[javax.xml.stream.events.XMLEvent].getLocation()"
    - "[ch.qos.logback.core.joran.event.stax.StartEvent].<init>(ch.qos.logback.core.joran.spi.ElementPath,java.lang.String,java.util.Iterator,javax.xml.stream.Location)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:75,1"
      Dst: "[javax.xml.stream.events.XMLEvent].asStartElement()"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:76,1"
      Dst: "[javax.xml.stream.events.StartElement].getName()"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:76,1"
      Dst: "[javax.xml.namespace.QName].getLocalPart()"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:77,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].push(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:78,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].duplicate()"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:79,1"
      Dst: "[javax.xml.stream.events.StartElement].getAttributes()"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:79,1"
      Dst: "[javax.xml.stream.events.XMLEvent].getLocation()"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:79,1"
      Dst: "[ch.qos.logback.core.joran.event.stax.StartEvent].<init>(ch.qos.logback.core.joran.spi.ElementPath,java.lang.String,java.util.Iterator,javax.xml.stream.Location)"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:80,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.stax.StaxEventRecorder].addCharacters(javax.xml.stream.events.XMLEvent)"
    functionSourceFile: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "javax.xml.stream.events.XMLEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.xml.stream.events.XMLEvent].asCharacters()"
    - "[ch.qos.logback.core.joran.event.stax.StaxEventRecorder].getLastEvent()"
    - "[javax.xml.stream.events.Characters].getData()"
    - "[ch.qos.logback.core.joran.event.stax.BodyEvent].append(java.lang.String)"
    - "[javax.xml.stream.events.Characters].isWhiteSpace()"
    - "[javax.xml.stream.events.XMLEvent].getLocation()"
    - "[ch.qos.logback.core.joran.event.stax.BodyEvent].<init>(java.lang.String,javax.xml.stream.Location)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 0
    ICount: 19
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:87"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:92"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:91"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:92"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:97"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:96"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:84,1"
      Dst: "[javax.xml.stream.events.XMLEvent].asCharacters()"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:85,1"
      Dst: "[ch.qos.logback.core.joran.event.stax.StaxEventRecorder].getLastEvent()"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:89,1"
      Dst: "[javax.xml.stream.events.Characters].getData()"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:89,1"
      Dst: "[ch.qos.logback.core.joran.event.stax.BodyEvent].append(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:92,1"
      Dst: "[javax.xml.stream.events.Characters].isWhiteSpace()"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:93,1"
      Dst: "[javax.xml.stream.events.XMLEvent].getLocation()"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:93,1"
      Dst: "[ch.qos.logback.core.joran.event.stax.BodyEvent].<init>(java.lang.String,javax.xml.stream.Location)"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:94,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.joran.event.stax.StaxEventRecorder].addEndEvent(javax.xml.stream.events.XMLEvent)"
    functionSourceFile: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "javax.xml.stream.events.XMLEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.xml.stream.events.XMLEvent].asEndElement()"
    - "[javax.xml.stream.events.EndElement].getName()"
    - "[javax.xml.namespace.QName].getLocalPart()"
    - "[javax.xml.stream.events.XMLEvent].getLocation()"
    - "[ch.qos.logback.core.joran.event.stax.EndEvent].<init>(java.lang.String,javax.xml.stream.Location)"
    - "[java.util.List].add(java.lang.Object)"
    - "[ch.qos.logback.core.joran.spi.ElementPath].pop()"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:100,1"
      Dst: "[javax.xml.stream.events.XMLEvent].asEndElement()"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:101,1"
      Dst: "[javax.xml.stream.events.EndElement].getName()"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:101,1"
      Dst: "[javax.xml.namespace.QName].getLocalPart()"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:102,1"
      Dst: "[javax.xml.stream.events.XMLEvent].getLocation()"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:102,1"
      Dst: "[ch.qos.logback.core.joran.event.stax.EndEvent].<init>(java.lang.String,javax.xml.stream.Location)"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:103,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:104,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].pop()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.stax.StaxEventRecorder].getLastEvent()"
    functionSourceFile: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.core.joran.event.stax.StaxEvent"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.List].isEmpty()"
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:108"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:111"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:110"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:112"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:114"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:113"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:108,1"
      Dst: "[java.util.List].isEmpty()"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:111,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEventRecorder:114,1"
      Dst: "[java.util.List].get(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.AbstractComponentTracker$1].<init>(ch.qos.logback.core.spi.AbstractComponentTracker)"
    functionSourceFile: "ch.qos.logback.core.spi.AbstractComponentTracker$1"
    linkageType: null
    functionLinenumber: 195
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.spi.AbstractComponentTracker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.AbstractComponentTracker$1:196,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.AbstractComponentTracker$1].isSlatedForRemoval(ch.qos.logback.core.spi.AbstractComponentTracker$Entry,long)"
    functionSourceFile: "ch.qos.logback.core.spi.AbstractComponentTracker$1"
    linkageType: null
    functionLinenumber: 197
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.spi.AbstractComponentTracker$Entry"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashMap].size()"
    functionUses: 1
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.AbstractComponentTracker$1:198"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.AbstractComponentTracker$1:197"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.AbstractComponentTracker$1:198,1"
      Dst: "[java.util.HashMap].size()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.net.ssl.ConfigurableSSLServerSocketFactory].<init>(ch.qos.logback.core.net.ssl.SSLParametersConfiguration,javax.net.ssl.SSLServerSocketFactory)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.ConfigurableSSLServerSocketFactory"
    linkageType: null
    functionLinenumber: 47
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.net.ssl.SSLParametersConfiguration"
    - "javax.net.ssl.SSLServerSocketFactory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.net.ServerSocketFactory].<init>()"
    functionUses: 2
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.ConfigurableSSLServerSocketFactory:48,1"
      Dst: "[javax.net.ServerSocketFactory].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.ConfigurableSSLServerSocketFactory].createServerSocket(int,int,java.net.InetAddress)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.ConfigurableSSLServerSocketFactory"
    linkageType: null
    functionLinenumber: 57
    functionDepth: 5
    returnType: "java.net.ServerSocket"
    argCount: 3
    argTypes:
    - "int"
    - "int"
    - "java.net.InetAddress"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket].<init>(javax.net.ssl.SSLServerSocket)"
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].configure(ch.qos.logback.core.net.ssl.SSLConfigurable)"
    - "[javax.net.ServerSocketFactory].createServerSocket(int,int,java.net.InetAddress)"
    functionUses: 2
    ICount: 12
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.ConfigurableSSLServerSocketFactory:58,1"
      Dst: "[javax.net.ServerSocketFactory].createServerSocket(int,int,java.net.InetAddress)"
    - Src: "ch.qos.logback.core.net.ssl.ConfigurableSSLServerSocketFactory:59,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket].<init>(javax.net.ssl.SSLServerSocket)"
    - Src: "ch.qos.logback.core.net.ssl.ConfigurableSSLServerSocketFactory:59,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].configure(ch.qos.logback.core.net.ssl.SSLConfigurable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket].<init>(javax.net.ssl.SSLServerSocket)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "javax.net.ssl.SSLServerSocket"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 2
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:28,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].configure(ch.qos.logback.core.net.ssl.SSLConfigurable)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration"
    linkageType: null
    functionLinenumber: 51
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.net.ssl.SSLConfigurable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].enabledProtocols(java.lang.String[],java.lang.String[])"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableSocket].getDefaultProtocols()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:ch.qos.logback.core.net.ssl.SSLConfigurableSocket].getSupportedProtocols()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:ch.qos.logback.core.net.ssl.SSLConfigurableSocket].setEnabledProtocols(java.lang.String[])"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:ch.qos.logback.core.net.ssl.SSLConfigurableSocket].setEnabledCipherSuites(java.lang.String[])"
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].enabledCipherSuites(java.lang.String[],java.lang.String[])"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:ch.qos.logback.core.net.ssl.SSLConfigurableSocket].getDefaultCipherSuites()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:ch.qos.logback.core.net.ssl.SSLConfigurableSocket].getSupportedCipherSuites()"
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].isNeedClientAuth()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket].setNeedClientAuth(boolean)"
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].isWantClientAuth()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:ch.qos.logback.core.net.ssl.SSLConfigurableSocket].setWantClientAuth(boolean)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableSocket].setHostnameVerification(boolean)"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].getSupportedProtocols()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].getDefaultProtocols()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].setEnabledProtocols(java.lang.String[])"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].getSupportedCipherSuites()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].getDefaultCipherSuites()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].setEnabledCipherSuites(java.lang.String[])"
    - "[java.lang.Boolean].booleanValue()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].setNeedClientAuth(boolean)"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].setWantClientAuth(boolean)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Boolean)"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].setHostnameVerification(boolean)"
    functionUses: 3
    ICount: 29
    EdgeCount: 16
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:55"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:58"
        BranchSideFuncs:
        - "isNeedClientAuth()"
        - "setNeedClientAuth(boolean)"
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:57"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:58"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:61"
        BranchSideFuncs:
        - "isWantClientAuth()"
        - "setWantClientAuth(boolean)"
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:60"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:65"
        BranchSideFuncs:
        - "setHostnameVerification(boolean)"
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:64"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:52,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].getSupportedProtocols()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:52,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].getDefaultProtocols()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:52,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].enabledProtocols(java.lang.String[],java.lang.String[])"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:52,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].setEnabledProtocols(java.lang.String[])"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:54,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].getSupportedCipherSuites()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:54,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].getDefaultCipherSuites()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:54,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].enabledCipherSuites(java.lang.String[],java.lang.String[])"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:53,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].setEnabledCipherSuites(java.lang.String[])"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:55,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].isNeedClientAuth()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:56,1"
      Dst: "[java.lang.Boolean].booleanValue()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:56,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].setNeedClientAuth(boolean)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:58,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].isWantClientAuth()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:59,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].setWantClientAuth(boolean)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:62,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Boolean)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:62,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:63,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].setHostnameVerification(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].enabledProtocols(java.lang.String[],java.lang.String[])"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 3
    returnType: "java.lang.String[]"
    argCount: 2
    argTypes:
    - "java.lang.String[]"
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].getIncludedProtocols()"
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].getExcludedProtocols()"
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].includedStrings(java.lang.String[],java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[java.util.Arrays].copyOf(java.lang.Object[],int)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 31
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:85"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:97"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:88"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:92"
        BranchSideFuncs:
        - "isNullOrEmptyOrAllSpaces(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:91"
        BranchSideFuncs:
        - "getExcludedProtocols()"
        - "getIncludedProtocols()"
        - "includedStrings(java.lang.String[],java.lang.String,java.lang.String)"
    - Branch String: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:89"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:92"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:91"
        BranchSideFuncs:
        - "getExcludedProtocols()"
        - "getIncludedProtocols()"
        - "includedStrings(java.lang.String[],java.lang.String,java.lang.String)"
    - Branch String: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:94"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:97"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:88,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].getIncludedProtocols()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:88,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:89,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].getExcludedProtocols()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:90,1"
      Dst: "[java.util.Arrays].copyOf(java.lang.Object[],int)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:92,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].includedStrings(java.lang.String[],java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:95,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:95,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].getIncludedProtocols()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration"
    linkageType: null
    functionLinenumber: 165
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 282
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    - "[java.lang.String].length()"
    functionUses: 62
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].length()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].getExcludedProtocols()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration"
    linkageType: null
    functionLinenumber: 186
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].includedStrings(java.lang.String[],java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration"
    linkageType: null
    functionLinenumber: 137
    functionDepth: 2
    returnType: "java.lang.String[]"
    argCount: 3
    argTypes:
    - "java.lang.String[]"
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.StringCollectionUtil].retainMatching(java.util.Collection,java.lang.String[])"
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].stringToArray(java.lang.String)"
    - "[ch.qos.logback.core.util.StringCollectionUtil].removeMatching(java.util.Collection,java.lang.String[])"
    - "[java.util.ArrayList].<init>(int)"
    - "[java.util.Arrays].asList(java.lang.Object[])"
    - "[java.util.List].addAll(java.util.Collection)"
    - "[java.util.List].size()"
    - "[java.util.List].toArray(java.lang.Object[])"
    functionUses: 2
    ICount: 20
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:140"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:143"
        BranchSideFuncs:
        - "retainMatching(java.util.Collection,java.lang.String[])"
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:142"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:143"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:146"
        BranchSideFuncs:
        - "stringToArray(java.lang.String)"
        - "removeMatching(java.util.Collection,java.lang.String[])"
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:145"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:138,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:139,1"
      Dst: "[java.util.Arrays].asList(java.lang.Object[])"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:139,1"
      Dst: "[java.util.List].addAll(java.util.Collection)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:141,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].stringToArray(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:141,1"
      Dst: "[ch.qos.logback.core.util.StringCollectionUtil].retainMatching(java.util.Collection,java.lang.String[])"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:144,1"
      Dst: "[ch.qos.logback.core.util.StringCollectionUtil].removeMatching(java.util.Collection,java.lang.String[])"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:146,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:146,1"
      Dst: "[java.util.List].toArray(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].stringToArray(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration"
    linkageType: null
    functionLinenumber: 155
    functionDepth: 0
    returnType: "java.lang.String[]"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].split(java.lang.String)"
    functionUses: 2
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:156,1"
      Dst: "[java.lang.String].split(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.StringCollectionUtil].retainMatching(java.util.Collection,java.lang.String[])"
    functionSourceFile: "ch.qos.logback.core.util.StringCollectionUtil"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.util.Collection"
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.StringCollectionUtil].retainMatching(java.util.Collection,java.util.Collection)"
    - "[java.util.Arrays].asList(java.lang.Object[])"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.StringCollectionUtil:40,1"
      Dst: "[java.util.Arrays].asList(java.lang.Object[])"
    - Src: "ch.qos.logback.core.util.StringCollectionUtil:40,1"
      Dst: "[ch.qos.logback.core.util.StringCollectionUtil].retainMatching(java.util.Collection,java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.StringCollectionUtil].retainMatching(java.util.Collection,java.util.Collection)"
    functionSourceFile: "ch.qos.logback.core.util.StringCollectionUtil"
    linkageType: null
    functionLinenumber: 54
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.util.Collection"
    - "java.util.Collection"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].isEmpty()"
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.util.COWArrayList].retainAll(java.util.Collection)"
    - "[java.util.Collection].isEmpty()"
    - "[java.util.Collection].size()"
    - "[java.util.ArrayList].<init>(int)"
    - "[java.util.Collection].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.regex.Pattern].compile(java.lang.String)"
    - "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - "[java.util.regex.Matcher].matches()"
    - "[java.util.List].add(java.lang.Object)"
    - "[java.util.Collection].retainAll(java.util.Collection)"
    functionUses: 1
    ICount: 27
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.StringCollectionUtil:55"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StringCollectionUtil:57"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.StringCollectionUtil:56"
        BranchSideFuncs:
        - "size()"
    - Branch String: "ch.qos.logback.core.util.StringCollectionUtil:58"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StringCollectionUtil:66"
        BranchSideFuncs:
        - "iterator()"
      - BranchSide: "ch.qos.logback.core.util.StringCollectionUtil:65"
        BranchSideFuncs:
        - "retainAll(java.util.Collection)"
    - Branch String: "ch.qos.logback.core.util.StringCollectionUtil:60"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StringCollectionUtil:65"
        BranchSideFuncs:
        - "iterator()"
      - BranchSide: "ch.qos.logback.core.util.StringCollectionUtil:64"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.StringCollectionUtil:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StringCollectionUtil:64"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.StringCollectionUtil:63"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.StringCollectionUtil:55,1"
      Dst: "[java.util.Collection].isEmpty()"
    - Src: "ch.qos.logback.core.util.StringCollectionUtil:57,1"
      Dst: "[java.util.Collection].size()"
    - Src: "ch.qos.logback.core.util.StringCollectionUtil:57,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    - Src: "ch.qos.logback.core.util.StringCollectionUtil:58,1"
      Dst: "[java.util.Collection].iterator()"
    - Src: "ch.qos.logback.core.util.StringCollectionUtil:58,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.util.StringCollectionUtil:58,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.util.StringCollectionUtil:59,1"
      Dst: "[java.util.regex.Pattern].compile(java.lang.String)"
    - Src: "ch.qos.logback.core.util.StringCollectionUtil:61,1"
      Dst: "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - Src: "ch.qos.logback.core.util.StringCollectionUtil:61,1"
      Dst: "[java.util.regex.Matcher].matches()"
    - Src: "ch.qos.logback.core.util.StringCollectionUtil:62,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "ch.qos.logback.core.util.StringCollectionUtil:66,1"
      Dst: "[java.util.Collection].retainAll(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 11
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.util.StringCollectionUtil].removeMatching(java.util.Collection,java.lang.String[])"
    functionSourceFile: "ch.qos.logback.core.util.StringCollectionUtil"
    linkageType: null
    functionLinenumber: 79
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.util.Collection"
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.StringCollectionUtil].removeMatching(java.util.Collection,java.util.Collection)"
    - "[java.util.Arrays].asList(java.lang.Object[])"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.StringCollectionUtil:80,1"
      Dst: "[java.util.Arrays].asList(java.lang.Object[])"
    - Src: "ch.qos.logback.core.util.StringCollectionUtil:80,1"
      Dst: "[ch.qos.logback.core.util.StringCollectionUtil].removeMatching(java.util.Collection,java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.StringCollectionUtil].removeMatching(java.util.Collection,java.util.Collection)"
    functionSourceFile: "ch.qos.logback.core.util.StringCollectionUtil"
    linkageType: null
    functionLinenumber: 94
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.util.Collection"
    - "java.util.Collection"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.util.COWArrayList].removeAll(java.util.Collection)"
    - "[java.util.Collection].size()"
    - "[java.util.ArrayList].<init>(int)"
    - "[java.util.Collection].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.regex.Pattern].compile(java.lang.String)"
    - "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - "[java.util.regex.Matcher].matches()"
    - "[java.util.List].add(java.lang.Object)"
    - "[java.util.Collection].removeAll(java.util.Collection)"
    functionUses: 1
    ICount: 24
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.StringCollectionUtil:96"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StringCollectionUtil:104"
        BranchSideFuncs:
        - "iterator()"
      - BranchSide: "ch.qos.logback.core.util.StringCollectionUtil:103"
        BranchSideFuncs:
        - "removeAll(java.util.Collection)"
    - Branch String: "ch.qos.logback.core.util.StringCollectionUtil:98"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StringCollectionUtil:103"
        BranchSideFuncs:
        - "iterator()"
      - BranchSide: "ch.qos.logback.core.util.StringCollectionUtil:102"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.StringCollectionUtil:99"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StringCollectionUtil:102"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.StringCollectionUtil:101"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.StringCollectionUtil:95,1"
      Dst: "[java.util.Collection].size()"
    - Src: "ch.qos.logback.core.util.StringCollectionUtil:95,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    - Src: "ch.qos.logback.core.util.StringCollectionUtil:96,1"
      Dst: "[java.util.Collection].iterator()"
    - Src: "ch.qos.logback.core.util.StringCollectionUtil:96,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.util.StringCollectionUtil:96,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.util.StringCollectionUtil:97,1"
      Dst: "[java.util.regex.Pattern].compile(java.lang.String)"
    - Src: "ch.qos.logback.core.util.StringCollectionUtil:99,1"
      Dst: "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - Src: "ch.qos.logback.core.util.StringCollectionUtil:99,1"
      Dst: "[java.util.regex.Matcher].matches()"
    - Src: "ch.qos.logback.core.util.StringCollectionUtil:100,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "ch.qos.logback.core.util.StringCollectionUtil:104,1"
      Dst: "[java.util.Collection].removeAll(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].enabledCipherSuites(java.lang.String[],java.lang.String[])"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration"
    linkageType: null
    functionLinenumber: 108
    functionDepth: 3
    returnType: "java.lang.String[]"
    argCount: 2
    argTypes:
    - "java.lang.String[]"
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].getIncludedCipherSuites()"
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].getExcludedCipherSuites()"
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].includedStrings(java.lang.String[],java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[java.util.Arrays].copyOf(java.lang.Object[],int)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 31
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:109"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:122"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:112"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:116"
        BranchSideFuncs:
        - "isNullOrEmptyOrAllSpaces(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:115"
        BranchSideFuncs:
        - "getIncludedCipherSuites()"
        - "includedStrings(java.lang.String[],java.lang.String,java.lang.String)"
    - Branch String: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:113"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:116"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:115"
        BranchSideFuncs:
        - "getIncludedCipherSuites()"
        - "includedStrings(java.lang.String[],java.lang.String,java.lang.String)"
    - Branch String: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:119"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:122"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:112,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].getIncludedCipherSuites()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:112,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:113,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].getExcludedCipherSuites()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:114,1"
      Dst: "[java.util.Arrays].copyOf(java.lang.Object[],int)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:116,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].includedStrings(java.lang.String[],java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:120,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:120,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].getIncludedCipherSuites()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration"
    linkageType: null
    functionLinenumber: 207
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].getExcludedCipherSuites()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration"
    linkageType: null
    functionLinenumber: 228
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].isNeedClientAuth()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration"
    linkageType: null
    functionLinenumber: 248
    functionDepth: 0
    returnType: "java.lang.Boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].isWantClientAuth()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration"
    linkageType: null
    functionLinenumber: 266
    functionDepth: 0
    returnType: "java.lang.Boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.ConfigurableSSLServerSocketFactory].createServerSocket(int,int)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.ConfigurableSSLServerSocketFactory"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 5
    returnType: "java.net.ServerSocket"
    argCount: 2
    argTypes:
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.net.ServerSocketFactory].createServerSocket(int,int)"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket].<init>(javax.net.ssl.SSLServerSocket)"
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].configure(ch.qos.logback.core.net.ssl.SSLConfigurable)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.ConfigurableSSLServerSocketFactory:68,1"
      Dst: "[javax.net.ServerSocketFactory].createServerSocket(int,int)"
    - Src: "ch.qos.logback.core.net.ssl.ConfigurableSSLServerSocketFactory:69,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket].<init>(javax.net.ssl.SSLServerSocket)"
    - Src: "ch.qos.logback.core.net.ssl.ConfigurableSSLServerSocketFactory:69,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].configure(ch.qos.logback.core.net.ssl.SSLConfigurable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket].<init>(javax.net.ssl.SSLServerSocket)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "javax.net.ssl.SSLServerSocket"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 2
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:28,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].configure(ch.qos.logback.core.net.ssl.SSLConfigurable)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration"
    linkageType: null
    functionLinenumber: 51
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.net.ssl.SSLConfigurable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].enabledProtocols(java.lang.String[],java.lang.String[])"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableSocket].getDefaultProtocols()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:ch.qos.logback.core.net.ssl.SSLConfigurableSocket].getSupportedProtocols()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:ch.qos.logback.core.net.ssl.SSLConfigurableSocket].setEnabledProtocols(java.lang.String[])"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:ch.qos.logback.core.net.ssl.SSLConfigurableSocket].setEnabledCipherSuites(java.lang.String[])"
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].enabledCipherSuites(java.lang.String[],java.lang.String[])"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:ch.qos.logback.core.net.ssl.SSLConfigurableSocket].getDefaultCipherSuites()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:ch.qos.logback.core.net.ssl.SSLConfigurableSocket].getSupportedCipherSuites()"
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].isNeedClientAuth()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket].setNeedClientAuth(boolean)"
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].isWantClientAuth()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:ch.qos.logback.core.net.ssl.SSLConfigurableSocket].setWantClientAuth(boolean)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableSocket].setHostnameVerification(boolean)"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].getSupportedProtocols()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].getDefaultProtocols()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].setEnabledProtocols(java.lang.String[])"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].getSupportedCipherSuites()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].getDefaultCipherSuites()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].setEnabledCipherSuites(java.lang.String[])"
    - "[java.lang.Boolean].booleanValue()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].setNeedClientAuth(boolean)"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].setWantClientAuth(boolean)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Boolean)"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].setHostnameVerification(boolean)"
    functionUses: 3
    ICount: 29
    EdgeCount: 16
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:55"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:58"
        BranchSideFuncs:
        - "isNeedClientAuth()"
        - "setNeedClientAuth(boolean)"
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:57"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:58"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:61"
        BranchSideFuncs:
        - "isWantClientAuth()"
        - "setWantClientAuth(boolean)"
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:60"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:65"
        BranchSideFuncs:
        - "setHostnameVerification(boolean)"
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:64"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:52,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].getSupportedProtocols()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:52,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].getDefaultProtocols()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:52,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].enabledProtocols(java.lang.String[],java.lang.String[])"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:52,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].setEnabledProtocols(java.lang.String[])"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:54,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].getSupportedCipherSuites()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:54,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].getDefaultCipherSuites()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:54,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].enabledCipherSuites(java.lang.String[],java.lang.String[])"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:53,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].setEnabledCipherSuites(java.lang.String[])"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:55,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].isNeedClientAuth()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:56,1"
      Dst: "[java.lang.Boolean].booleanValue()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:56,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].setNeedClientAuth(boolean)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:58,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].isWantClientAuth()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:59,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].setWantClientAuth(boolean)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:62,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Boolean)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:62,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:63,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].setHostnameVerification(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.net.ssl.ConfigurableSSLServerSocketFactory].createServerSocket(int)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.ConfigurableSSLServerSocketFactory"
    linkageType: null
    functionLinenumber: 77
    functionDepth: 5
    returnType: "java.net.ServerSocket"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket].<init>(javax.net.ssl.SSLServerSocket)"
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].configure(ch.qos.logback.core.net.ssl.SSLConfigurable)"
    - "[javax.net.ServerSocketFactory].createServerSocket(int)"
    functionUses: 1
    ICount: 10
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.ConfigurableSSLServerSocketFactory:78,1"
      Dst: "[javax.net.ServerSocketFactory].createServerSocket(int)"
    - Src: "ch.qos.logback.core.net.ssl.ConfigurableSSLServerSocketFactory:79,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket].<init>(javax.net.ssl.SSLServerSocket)"
    - Src: "ch.qos.logback.core.net.ssl.ConfigurableSSLServerSocketFactory:79,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].configure(ch.qos.logback.core.net.ssl.SSLConfigurable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket].<init>(javax.net.ssl.SSLServerSocket)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "javax.net.ssl.SSLServerSocket"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 2
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:28,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].configure(ch.qos.logback.core.net.ssl.SSLConfigurable)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration"
    linkageType: null
    functionLinenumber: 51
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.net.ssl.SSLConfigurable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].enabledProtocols(java.lang.String[],java.lang.String[])"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableSocket].getDefaultProtocols()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:ch.qos.logback.core.net.ssl.SSLConfigurableSocket].getSupportedProtocols()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:ch.qos.logback.core.net.ssl.SSLConfigurableSocket].setEnabledProtocols(java.lang.String[])"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:ch.qos.logback.core.net.ssl.SSLConfigurableSocket].setEnabledCipherSuites(java.lang.String[])"
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].enabledCipherSuites(java.lang.String[],java.lang.String[])"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:ch.qos.logback.core.net.ssl.SSLConfigurableSocket].getDefaultCipherSuites()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:ch.qos.logback.core.net.ssl.SSLConfigurableSocket].getSupportedCipherSuites()"
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].isNeedClientAuth()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket].setNeedClientAuth(boolean)"
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].isWantClientAuth()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:ch.qos.logback.core.net.ssl.SSLConfigurableSocket].setWantClientAuth(boolean)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableSocket].setHostnameVerification(boolean)"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].getSupportedProtocols()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].getDefaultProtocols()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].setEnabledProtocols(java.lang.String[])"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].getSupportedCipherSuites()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].getDefaultCipherSuites()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].setEnabledCipherSuites(java.lang.String[])"
    - "[java.lang.Boolean].booleanValue()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].setNeedClientAuth(boolean)"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].setWantClientAuth(boolean)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Boolean)"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].setHostnameVerification(boolean)"
    functionUses: 3
    ICount: 29
    EdgeCount: 16
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:55"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:58"
        BranchSideFuncs:
        - "isNeedClientAuth()"
        - "setNeedClientAuth(boolean)"
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:57"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:58"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:61"
        BranchSideFuncs:
        - "isWantClientAuth()"
        - "setWantClientAuth(boolean)"
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:60"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:65"
        BranchSideFuncs:
        - "setHostnameVerification(boolean)"
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:64"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:52,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].getSupportedProtocols()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:52,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].getDefaultProtocols()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:52,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].enabledProtocols(java.lang.String[],java.lang.String[])"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:52,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].setEnabledProtocols(java.lang.String[])"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:54,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].getSupportedCipherSuites()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:54,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].getDefaultCipherSuites()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:54,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].enabledCipherSuites(java.lang.String[],java.lang.String[])"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:53,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].setEnabledCipherSuites(java.lang.String[])"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:55,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].isNeedClientAuth()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:56,1"
      Dst: "[java.lang.Boolean].booleanValue()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:56,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].setNeedClientAuth(boolean)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:58,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].isWantClientAuth()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:59,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].setWantClientAuth(boolean)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:62,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Boolean)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:62,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:63,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].setHostnameVerification(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[org.slf4j.helpers.BasicMarkerFactory].<init>()"
    functionSourceFile: "org.slf4j.helpers.BasicMarkerFactory"
    linkageType: null
    functionLinenumber: 51
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.concurrent.ConcurrentHashMap].<init>()"
    functionUses: 4
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.BasicMarkerFactory:52,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "org.slf4j.helpers.BasicMarkerFactory:44,1"
      Dst: "[java.util.concurrent.ConcurrentHashMap].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.BasicMarkerFactory].getMarker(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.BasicMarkerFactory"
    linkageType: null
    functionLinenumber: 62
    functionDepth: 1
    returnType: "org.slf4j.Marker"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.BasicMarker].<init>(java.lang.String)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.util.Map].get(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentMap].putIfAbsent(java.lang.Object,java.lang.Object)"
    functionUses: 1
    ICount: 19
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.BasicMarkerFactory:63"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.BasicMarkerFactory:67"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.BasicMarkerFactory:66"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.BasicMarkerFactory:68"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.BasicMarkerFactory:75"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "org.slf4j.helpers.BasicMarkerFactory:74"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.BasicMarkerFactory:71"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.BasicMarkerFactory:75"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.BasicMarkerFactory:74"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.BasicMarkerFactory:64,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "org.slf4j.helpers.BasicMarkerFactory:67,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "org.slf4j.helpers.BasicMarkerFactory:69,1"
      Dst: "[org.slf4j.helpers.BasicMarker].<init>(java.lang.String)"
    - Src: "org.slf4j.helpers.BasicMarkerFactory:70,1"
      Dst: "[java.util.concurrent.ConcurrentMap].putIfAbsent(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[org.slf4j.helpers.BasicMarker].<init>(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.BasicMarker"
    linkageType: null
    functionLinenumber: 44
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.concurrent.CopyOnWriteArrayList].<init>()"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.BasicMarker:46"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.BasicMarker:49"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.BasicMarker:48"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.BasicMarker:45,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "org.slf4j.helpers.BasicMarker:43,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].<init>()"
    - Src: "org.slf4j.helpers.BasicMarker:47,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.BasicMarkerFactory].exists(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.BasicMarkerFactory"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map].containsKey(java.lang.Object)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.BasicMarkerFactory:82"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.BasicMarkerFactory:85"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.BasicMarkerFactory:84"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.BasicMarkerFactory:85,1"
      Dst: "[java.util.Map].containsKey(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.BasicMarkerFactory].detachMarker(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.BasicMarkerFactory"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map].remove(java.lang.Object)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.BasicMarkerFactory:89"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.BasicMarkerFactory:92"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.BasicMarkerFactory:91"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.BasicMarkerFactory:92"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.BasicMarkerFactory:91"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.BasicMarkerFactory:92,1"
      Dst: "[java.util.Map].remove(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.helpers.BasicMarkerFactory].getDetachedMarker(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.BasicMarkerFactory"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "org.slf4j.Marker"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.BasicMarker].<init>(java.lang.String)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.BasicMarkerFactory:96,1"
      Dst: "[org.slf4j.helpers.BasicMarker].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.BasicMarker].<init>(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.BasicMarker"
    linkageType: null
    functionLinenumber: 44
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.concurrent.CopyOnWriteArrayList].<init>()"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.BasicMarker:46"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.BasicMarker:49"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.BasicMarker:48"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.BasicMarker:45,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "org.slf4j.helpers.BasicMarker:43,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].<init>()"
    - Src: "org.slf4j.helpers.BasicMarker:47,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy].<init>()"
    functionSourceFile: "ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.TriggeringPolicyBase].<init>()"
    - "[ch.qos.logback.core.util.FileSize].<init>(long)"
    - "[ch.qos.logback.core.util.SimpleInvocationGate].<init>()"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy:47,1"
      Dst: "[ch.qos.logback.core.rolling.TriggeringPolicyBase].<init>()"
    - Src: "ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy:43,1"
      Dst: "[ch.qos.logback.core.util.FileSize].<init>(long)"
    - Src: "ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy:44,1"
      Dst: "[ch.qos.logback.core.util.SimpleInvocationGate].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy].start()"
    functionSourceFile: "ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.SimpleInvocationGate].<init>(ch.qos.logback.core.util.Duration)"
    - "[ch.qos.logback.core.rolling.TriggeringPolicyBase].start()"
    functionUses: 5
    ICount: 9
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy:51"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy:53"
        BranchSideFuncs:
        - "<init>(ch.qos.logback.core.util.Duration)"
      - BranchSide: "ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy:52"
        BranchSideFuncs:
        - "start()"
    Callsites:
    - Src: "ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy:52,1"
      Dst: "[ch.qos.logback.core.util.SimpleInvocationGate].<init>(ch.qos.logback.core.util.Duration)"
    - Src: "ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy:53,1"
      Dst: "[ch.qos.logback.core.rolling.TriggeringPolicyBase].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.SimpleInvocationGate].<init>(ch.qos.logback.core.util.Duration)"
    functionSourceFile: "ch.qos.logback.core.util.SimpleInvocationGate"
    linkageType: null
    functionLinenumber: 40
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.util.Duration"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.concurrent.atomic.AtomicLong].<init>(long)"
    functionUses: 3
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.SimpleInvocationGate:41,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.util.SimpleInvocationGate:31,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].<init>(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy].isTriggeringEvent(java.io.File,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"
    linkageType: null
    functionLinenumber: 57
    functionDepth: 1
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.io.File"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.SimpleInvocationGate].isTooSoon(long)"
    - "[ch.qos.logback.core.util.DefaultInvocationGate].isTooSoon(long)"
    - "[ch.qos.logback.core.util.FileSize].getSize()"
    - "[java.lang.System].currentTimeMillis()"
    - "[ch.qos.logback.core.util.InvocationGate].isTooSoon(long)"
    - "[java.io.File].length()"
    functionUses: 1
    ICount: 18
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy:59"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy:62"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy:61"
        BranchSideFuncs:
        - "getSize()"
    - Branch String: "ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy:62"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy:61"
        BranchSideFuncs:
        - "getSize()"
    Callsites:
    - Src: "ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy:58,1"
      Dst: "[java.lang.System].currentTimeMillis()"
    - Src: "ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy:59,1"
      Dst: "[ch.qos.logback.core.util.InvocationGate].isTooSoon(long)"
    - Src: "ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy:62,1"
      Dst: "[java.io.File].length()"
    - Src: "ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy:62,1"
      Dst: "[ch.qos.logback.core.util.FileSize].getSize()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.FileSize].getSize()"
    functionSourceFile: "ch.qos.logback.core.util.FileSize"
    linkageType: null
    functionLinenumber: 54
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 7
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy].getMaxFileSize()"
    functionSourceFile: "ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.core.util.FileSize"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy].setMaxFileSize(ch.qos.logback.core.util.FileSize)"
    functionSourceFile: "ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.util.FileSize"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy].getCheckIncrement()"
    functionSourceFile: "ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.core.util.Duration"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy].setCheckIncrement(ch.qos.logback.core.util.Duration)"
    functionSourceFile: "ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.util.Duration"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__85].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__85"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__85].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__85:-1,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__85].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__85].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__85"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__85:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__85].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__85"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.sift.SiftModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__85:-1,1"
      Dst: "[ch.qos.logback.core.sift.SiftModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.SiftModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.sift.SiftModelHandler"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 1
    returnType: "ch.qos.logback.core.sift.SiftModelHandler"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.sift.SiftModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.SiftModelHandler:35,1"
      Dst: "[ch.qos.logback.core.sift.SiftModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.AsyncAppenderBase].<init>()"
    functionSourceFile: "ch.qos.logback.core.AsyncAppenderBase"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.UnsynchronizedAppenderBase].<init>()"
    - "[ch.qos.logback.core.spi.AppenderAttachableImpl].<init>()"
    - "[ch.qos.logback.core.AsyncAppenderBase$Worker].<init>(ch.qos.logback.core.AsyncAppenderBase)"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.AsyncAppenderBase:46,1"
      Dst: "[ch.qos.logback.core.UnsynchronizedAppenderBase].<init>()"
    - Src: "ch.qos.logback.core.AsyncAppenderBase:48,1"
      Dst: "[ch.qos.logback.core.spi.AppenderAttachableImpl].<init>()"
    - Src: "ch.qos.logback.core.AsyncAppenderBase:63,1"
      Dst: "[ch.qos.logback.core.AsyncAppenderBase$Worker].<init>(ch.qos.logback.core.AsyncAppenderBase)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.AsyncAppenderBase].isDiscardable(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.AsyncAppenderBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.AsyncAppenderBase].preprocess(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.AsyncAppenderBase"
    linkageType: null
    functionLinenumber: 94
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.AsyncAppenderBase].start()"
    functionSourceFile: "ch.qos.logback.core.AsyncAppenderBase"
    linkageType: null
    functionLinenumber: 98
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.UnsynchronizedAppenderBase].isStarted()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.UnsynchronizedAppenderBase].getName()"
    - "[ch.qos.logback.core.UnsynchronizedAppenderBase].start()"
    - "[ch.qos.logback.core.AsyncAppenderBase$Worker].run()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - "[java.util.concurrent.ArrayBlockingQueue].<init>(int)"
    - "[java.lang.Thread].setDaemon(boolean)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.lang.Thread].setName(java.lang.String)"
    - "[java.lang.Thread].start()"
    functionUses: 6
    ICount: 37
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.AsyncAppenderBase:99"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.AsyncAppenderBase:101"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.AsyncAppenderBase:100"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.AsyncAppenderBase:101"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.AsyncAppenderBase:105"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.AsyncAppenderBase:104"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.AsyncAppenderBase:105"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.AsyncAppenderBase:109"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.AsyncAppenderBase:108"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.AsyncAppenderBase:111"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.AsyncAppenderBase:113"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.AsyncAppenderBase:112"
        BranchSideFuncs:
        - "run()"
        - "getName()"
        - "start()"
        - "addInfo(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.AsyncAppenderBase:99,1"
      Dst: "[ch.qos.logback.core.UnsynchronizedAppenderBase].isStarted()"
    - Src: "ch.qos.logback.core.AsyncAppenderBase:102,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.AsyncAppenderBase:106,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - Src: "ch.qos.logback.core.AsyncAppenderBase:109,1"
      Dst: "[java.util.concurrent.ArrayBlockingQueue].<init>(int)"
    - Src: "ch.qos.logback.core.AsyncAppenderBase:113,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.AsyncAppenderBase:114,1"
      Dst: "[java.lang.Thread].setDaemon(boolean)"
    - Src: "ch.qos.logback.core.AsyncAppenderBase:115,1"
      Dst: "[ch.qos.logback.core.UnsynchronizedAppenderBase].getName()"
    - Src: "ch.qos.logback.core.AsyncAppenderBase:115,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.AsyncAppenderBase:115,1"
      Dst: "[java.lang.Thread].setName(java.lang.String)"
    - Src: "ch.qos.logback.core.AsyncAppenderBase:118,1"
      Dst: "[ch.qos.logback.core.UnsynchronizedAppenderBase].start()"
    - Src: "ch.qos.logback.core.AsyncAppenderBase:119,1"
      Dst: "[java.lang.Thread].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.AsyncAppenderBase].stop()"
    functionSourceFile: "ch.qos.logback.core.AsyncAppenderBase"
    linkageType: null
    functionLinenumber: 123
    functionDepth: 3
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.UnsynchronizedAppenderBase].isStarted()"
    - "[ch.qos.logback.core.UnsynchronizedAppenderBase].stop()"
    - "[ch.qos.logback.core.util.InterruptUtil].<init>(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.util.InterruptUtil].maskInterruptFlag()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.util.InterruptUtil].unmaskInterruptFlag()"
    - "[java.lang.Thread].interrupt()"
    - "[java.lang.Thread].join(long)"
    - "[java.lang.Thread].isAlive()"
    - "[java.util.Collection].size()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    functionUses: 4
    ICount: 38
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.AsyncAppenderBase:124"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.AsyncAppenderBase:131"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.AsyncAppenderBase:130"
        BranchSideFuncs:
        - "maskInterruptFlag()"
        - "stop()"
        - "<init>(ch.qos.logback.core.Context)"
    - Branch String: "ch.qos.logback.core.AsyncAppenderBase:145"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.AsyncAppenderBase:149"
        BranchSideFuncs:
        - "unmaskInterruptFlag()"
        - "maskInterruptFlag()"
        - "stop()"
        - "addWarn(java.lang.String)"
        - "addError(java.lang.String,java.lang.Throwable)"
        - "<init>(ch.qos.logback.core.Context)"
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.AsyncAppenderBase:148"
        BranchSideFuncs:
        - "addInfo(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.AsyncAppenderBase:124,1"
      Dst: "[ch.qos.logback.core.UnsynchronizedAppenderBase].isStarted()"
    - Src: "ch.qos.logback.core.AsyncAppenderBase:131,1"
      Dst: "[ch.qos.logback.core.UnsynchronizedAppenderBase].stop()"
    - Src: "ch.qos.logback.core.AsyncAppenderBase:135,1"
      Dst: "[java.lang.Thread].interrupt()"
    - Src: "ch.qos.logback.core.AsyncAppenderBase:137,1"
      Dst: "[ch.qos.logback.core.util.InterruptUtil].<init>(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.AsyncAppenderBase:140,1"
      Dst: "[ch.qos.logback.core.util.InterruptUtil].maskInterruptFlag()"
    - Src: "ch.qos.logback.core.AsyncAppenderBase:142,1"
      Dst: "[java.lang.Thread].join(long)"
    - Src: "ch.qos.logback.core.AsyncAppenderBase:145,1"
      Dst: "[java.lang.Thread].isAlive()"
    - Src: "ch.qos.logback.core.AsyncAppenderBase:147,1"
      Dst: "[java.util.Collection].size()"
    - Src: "ch.qos.logback.core.AsyncAppenderBase:147,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int)"
    - Src: "ch.qos.logback.core.AsyncAppenderBase:146,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.core.AsyncAppenderBase:149,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.AsyncAppenderBase:156,1"
      Dst: "[ch.qos.logback.core.util.InterruptUtil].unmaskInterruptFlag()"
    - Src: "ch.qos.logback.core.AsyncAppenderBase:154,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - Src: "ch.qos.logback.core.AsyncAppenderBase:154,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.InterruptUtil].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.util.InterruptUtil"
    linkageType: null
    functionLinenumber: 36
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[java.lang.Thread].currentThread()"
    - "[java.lang.Thread].isInterrupted()"
    functionUses: 1
    ICount: 8
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.InterruptUtil:37,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - Src: "ch.qos.logback.core.util.InterruptUtil:38,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.util.InterruptUtil:39,1"
      Dst: "[java.lang.Thread].currentThread()"
    - Src: "ch.qos.logback.core.util.InterruptUtil:39,1"
      Dst: "[java.lang.Thread].isInterrupted()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 34
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:34,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 67
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:45"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:44"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:47"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:46,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.InterruptUtil].maskInterruptFlag()"
    functionSourceFile: "ch.qos.logback.core.util.InterruptUtil"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Thread].interrupted()"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.InterruptUtil:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.InterruptUtil:46"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.InterruptUtil:45"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.InterruptUtil:44,1"
      Dst: "[java.lang.Thread].interrupted()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 96
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.InterruptUtil].unmaskInterruptFlag()"
    functionSourceFile: "ch.qos.logback.core.util.InterruptUtil"
    linkageType: null
    functionLinenumber: 48
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[java.lang.Thread].currentThread()"
    - "[java.lang.Thread].interrupt()"
    functionUses: 3
    ICount: 9
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.InterruptUtil:49"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.InterruptUtil:55"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.InterruptUtil:51,1"
      Dst: "[java.lang.Thread].currentThread()"
    - Src: "ch.qos.logback.core.util.InterruptUtil:51,1"
      Dst: "[java.lang.Thread].interrupt()"
    - Src: "ch.qos.logback.core.util.InterruptUtil:53,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 74
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.AsyncAppenderBase].append(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.AsyncAppenderBase"
    linkageType: null
    functionLinenumber: 161
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.AsyncAppender].isDiscardable(java.lang.Object)"
    - "[ch.qos.logback.core.AsyncAppenderBase].isDiscardable(java.lang.Object)"
    - "[ch.qos.logback.core.AsyncAppenderBase].isQueueBelowDiscardingThreshold()"
    - "[ch.qos.logback.classic.AsyncAppender].preprocess(java.lang.Object)"
    - "[ch.qos.logback.core.AsyncAppenderBase].preprocess(java.lang.Object)"
    - "[ch.qos.logback.core.AsyncAppenderBase].put(java.lang.Object)"
    functionUses: 1
    ICount: 10
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.AsyncAppenderBase:162"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.AsyncAppenderBase:165"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.AsyncAppenderBase:164"
        BranchSideFuncs:
        - "preprocess(java.lang.Object)"
        - "put(java.lang.Object)"
    - Branch String: "ch.qos.logback.core.AsyncAppenderBase:162"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.AsyncAppenderBase:165"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.AsyncAppenderBase:164"
        BranchSideFuncs:
        - "preprocess(java.lang.Object)"
        - "put(java.lang.Object)"
    Callsites:
    - Src: "ch.qos.logback.core.AsyncAppenderBase:162,1"
      Dst: "[ch.qos.logback.core.AsyncAppenderBase].isQueueBelowDiscardingThreshold()"
    - Src: "ch.qos.logback.core.AsyncAppenderBase:162,1"
      Dst: "[ch.qos.logback.core.AsyncAppenderBase].isDiscardable(java.lang.Object)"
    - Src: "ch.qos.logback.core.AsyncAppenderBase:165,1"
      Dst: "[ch.qos.logback.core.AsyncAppenderBase].preprocess(java.lang.Object)"
    - Src: "ch.qos.logback.core.AsyncAppenderBase:166,1"
      Dst: "[ch.qos.logback.core.AsyncAppenderBase].put(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.AsyncAppenderBase].isQueueBelowDiscardingThreshold()"
    functionSourceFile: "ch.qos.logback.core.AsyncAppenderBase"
    linkageType: null
    functionLinenumber: 169
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.BlockingQueue].remainingCapacity()"
    functionUses: 1
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.AsyncAppenderBase:170"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.AsyncAppenderBase:169"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.AsyncAppenderBase:170,1"
      Dst: "[java.util.concurrent.BlockingQueue].remainingCapacity()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.AsyncAppenderBase].isDiscardable(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.AsyncAppenderBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.AsyncAppenderBase].preprocess(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.AsyncAppenderBase"
    linkageType: null
    functionLinenumber: 94
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.AsyncAppenderBase].put(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.AsyncAppenderBase"
    linkageType: null
    functionLinenumber: 173
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.AsyncAppenderBase].putUninterruptibly(java.lang.Object)"
    - "[java.util.concurrent.BlockingQueue].offer(java.lang.Object)"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.AsyncAppenderBase:174"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.AsyncAppenderBase:177"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.AsyncAppenderBase:176"
        BranchSideFuncs:
        - "putUninterruptibly(java.lang.Object)"
    Callsites:
    - Src: "ch.qos.logback.core.AsyncAppenderBase:175,1"
      Dst: "[java.util.concurrent.BlockingQueue].offer(java.lang.Object)"
    - Src: "ch.qos.logback.core.AsyncAppenderBase:177,1"
      Dst: "[ch.qos.logback.core.AsyncAppenderBase].putUninterruptibly(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.AsyncAppenderBase].putUninterruptibly(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.AsyncAppenderBase"
    linkageType: null
    functionLinenumber: 181
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.BlockingQueue].put(java.lang.Object)"
    - "[java.lang.Thread].currentThread()"
    - "[java.lang.Thread].interrupt()"
    functionUses: 1
    ICount: 23
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.AsyncAppenderBase:193"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.AsyncAppenderBase:197"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.AsyncAppenderBase:196"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.AsyncAppenderBase:193"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.AsyncAppenderBase:196"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.AsyncAppenderBase:195"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.AsyncAppenderBase:186,1"
      Dst: "[java.util.concurrent.BlockingQueue].put(java.lang.Object)"
    - Src: "ch.qos.logback.core.AsyncAppenderBase:194,1"
      Dst: "[java.lang.Thread].currentThread()"
    - Src: "ch.qos.logback.core.AsyncAppenderBase:194,1"
      Dst: "[java.lang.Thread].interrupt()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.AsyncAppenderBase].isQueueBelowDiscardingThreshold()"
    functionSourceFile: "ch.qos.logback.core.AsyncAppenderBase"
    linkageType: null
    functionLinenumber: 169
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.BlockingQueue].remainingCapacity()"
    functionUses: 1
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.AsyncAppenderBase:170"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.AsyncAppenderBase:169"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.AsyncAppenderBase:170,1"
      Dst: "[java.util.concurrent.BlockingQueue].remainingCapacity()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.AsyncAppenderBase].put(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.AsyncAppenderBase"
    linkageType: null
    functionLinenumber: 173
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.AsyncAppenderBase].putUninterruptibly(java.lang.Object)"
    - "[java.util.concurrent.BlockingQueue].offer(java.lang.Object)"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.AsyncAppenderBase:174"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.AsyncAppenderBase:177"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.AsyncAppenderBase:176"
        BranchSideFuncs:
        - "putUninterruptibly(java.lang.Object)"
    Callsites:
    - Src: "ch.qos.logback.core.AsyncAppenderBase:175,1"
      Dst: "[java.util.concurrent.BlockingQueue].offer(java.lang.Object)"
    - Src: "ch.qos.logback.core.AsyncAppenderBase:177,1"
      Dst: "[ch.qos.logback.core.AsyncAppenderBase].putUninterruptibly(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.AsyncAppenderBase].putUninterruptibly(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.AsyncAppenderBase"
    linkageType: null
    functionLinenumber: 181
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.BlockingQueue].put(java.lang.Object)"
    - "[java.lang.Thread].currentThread()"
    - "[java.lang.Thread].interrupt()"
    functionUses: 1
    ICount: 23
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.AsyncAppenderBase:193"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.AsyncAppenderBase:197"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.AsyncAppenderBase:196"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.AsyncAppenderBase:193"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.AsyncAppenderBase:196"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.AsyncAppenderBase:195"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.AsyncAppenderBase:186,1"
      Dst: "[java.util.concurrent.BlockingQueue].put(java.lang.Object)"
    - Src: "ch.qos.logback.core.AsyncAppenderBase:194,1"
      Dst: "[java.lang.Thread].currentThread()"
    - Src: "ch.qos.logback.core.AsyncAppenderBase:194,1"
      Dst: "[java.lang.Thread].interrupt()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.AsyncAppenderBase].getQueueSize()"
    functionSourceFile: "ch.qos.logback.core.AsyncAppenderBase"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.AsyncAppenderBase].setQueueSize(int)"
    functionSourceFile: "ch.qos.logback.core.AsyncAppenderBase"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.AsyncAppenderBase].getDiscardingThreshold()"
    functionSourceFile: "ch.qos.logback.core.AsyncAppenderBase"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.AsyncAppenderBase].setDiscardingThreshold(int)"
    functionSourceFile: "ch.qos.logback.core.AsyncAppenderBase"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.AsyncAppenderBase].getMaxFlushTime()"
    functionSourceFile: "ch.qos.logback.core.AsyncAppenderBase"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.AsyncAppenderBase].setMaxFlushTime(int)"
    functionSourceFile: "ch.qos.logback.core.AsyncAppenderBase"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.AsyncAppenderBase].getNumberOfElementsInQueue()"
    functionSourceFile: "ch.qos.logback.core.AsyncAppenderBase"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Collection].size()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.AsyncAppenderBase:229,1"
      Dst: "[java.util.Collection].size()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.AsyncAppenderBase].setNeverBlock(boolean)"
    functionSourceFile: "ch.qos.logback.core.AsyncAppenderBase"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.AsyncAppenderBase].isNeverBlock()"
    functionSourceFile: "ch.qos.logback.core.AsyncAppenderBase"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.AsyncAppenderBase].getRemainingCapacity()"
    functionSourceFile: "ch.qos.logback.core.AsyncAppenderBase"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.BlockingQueue].remainingCapacity()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.AsyncAppenderBase:250,1"
      Dst: "[java.util.concurrent.BlockingQueue].remainingCapacity()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.AsyncAppenderBase].addAppender(ch.qos.logback.core.Appender)"
    functionSourceFile: "ch.qos.logback.core.AsyncAppenderBase"
    linkageType: null
    functionLinenumber: 253
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Appender"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.AppenderBase].getName()"
    - "[ch.qos.logback.core.UnsynchronizedAppenderBase].getName()"
    - "[ch.qos.logback.core.spi.AppenderAttachableImpl].addAppender(ch.qos.logback.core.Appender)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.Appender].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 18
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.AsyncAppenderBase:254"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.AsyncAppenderBase:259"
        BranchSideFuncs:
        - "addAppender(ch.qos.logback.core.Appender)"
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.AsyncAppenderBase:258"
        BranchSideFuncs:
        - "getName()"
        - "addWarn(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.AsyncAppenderBase:256,1"
      Dst: "[ch.qos.logback.core.Appender].getName()"
    - Src: "ch.qos.logback.core.AsyncAppenderBase:256,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.AsyncAppenderBase:256,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.AsyncAppenderBase:257,1"
      Dst: "[ch.qos.logback.core.spi.AppenderAttachableImpl].addAppender(ch.qos.logback.core.Appender)"
    - Src: "ch.qos.logback.core.AsyncAppenderBase:259,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.AppenderAttachableImpl].addAppender(ch.qos.logback.core.Appender)"
    functionSourceFile: "ch.qos.logback.core.spi.AppenderAttachableImpl"
    linkageType: null
    functionLinenumber: 36
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Appender"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].addIfAbsent(java.lang.Object)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 3
    ICount: 9
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.AppenderAttachableImpl:37"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:40"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:39"
        BranchSideFuncs:
        - "addIfAbsent(java.lang.Object)"
    Callsites:
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:38,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:40,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].addIfAbsent(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 96
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.AsyncAppenderBase].iteratorForAppenders()"
    functionSourceFile: "ch.qos.logback.core.AsyncAppenderBase"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "java.util.Iterator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.AppenderAttachableImpl].iteratorForAppenders()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.AsyncAppenderBase:265,1"
      Dst: "[ch.qos.logback.core.spi.AppenderAttachableImpl].iteratorForAppenders()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.AppenderAttachableImpl].iteratorForAppenders()"
    functionSourceFile: "ch.qos.logback.core.spi.AppenderAttachableImpl"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.Iterator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:64,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].iterator()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.AsyncAppenderBase].getAppender(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.AsyncAppenderBase"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.core.Appender"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.AppenderAttachableImpl].getAppender(java.lang.String)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.AsyncAppenderBase:269,1"
      Dst: "[ch.qos.logback.core.spi.AppenderAttachableImpl].getAppender(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.AppenderAttachableImpl].getAppender(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.AppenderAttachableImpl"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.Appender"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[ch.qos.logback.core.Appender].getName()"
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.AppenderAttachableImpl:74"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:77"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:76"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.AppenderAttachableImpl:77"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:82"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:81"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.AppenderAttachableImpl:78"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:81"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:80"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:77,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:77,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:77,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:78,1"
      Dst: "[ch.qos.logback.core.Appender].getName()"
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:78,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.AsyncAppenderBase].isAttached(ch.qos.logback.core.Appender)"
    functionSourceFile: "ch.qos.logback.core.AsyncAppenderBase"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Appender"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.AppenderAttachableImpl].isAttached(ch.qos.logback.core.Appender)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.AsyncAppenderBase:273,1"
      Dst: "[ch.qos.logback.core.spi.AppenderAttachableImpl].isAttached(ch.qos.logback.core.Appender)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.AppenderAttachableImpl].isAttached(ch.qos.logback.core.Appender)"
    functionSourceFile: "ch.qos.logback.core.spi.AppenderAttachableImpl"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Appender"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.AppenderAttachableImpl:92"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:95"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:94"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.AppenderAttachableImpl:95"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:99"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:98"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.AppenderAttachableImpl:96"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:98"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:97"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:95,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:95,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:95,1"
      Dst: "[java.util.Iterator].next()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.AsyncAppenderBase].detachAndStopAllAppenders()"
    functionSourceFile: "ch.qos.logback.core.AsyncAppenderBase"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 3
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.AppenderAttachableImpl].detachAndStopAllAppenders()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.AsyncAppenderBase:277,1"
      Dst: "[ch.qos.logback.core.spi.AppenderAttachableImpl].detachAndStopAllAppenders()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.AppenderAttachableImpl].detachAndStopAllAppenders()"
    functionSourceFile: "ch.qos.logback.core.spi.AppenderAttachableImpl"
    linkageType: null
    functionLinenumber: 105
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.read.CyclicBufferAppender].stop()"
    - "[ch.qos.logback.core.FileAppender].stop()"
    - "[ch.qos.logback.core.net.server.AbstractServerSocketAppender].stop()"
    - "[ch.qos.logback.core.sift.SiftingAppenderBase].stop()"
    - "[ch.qos.logback.core.AsyncAppenderBase].stop()"
    - "[ch.qos.logback.core.OutputStreamAppender].stop()"
    - "[ch.qos.logback.core.net.AbstractSocketAppender].stop()"
    - "[ch.qos.logback.core.rolling.RollingFileAppender].stop()"
    - "[ch.qos.logback.core.net.SyslogAppenderBase].stop()"
    - "[ch.qos.logback.core.testUtil.StringListAppender].stop()"
    - "[ch.qos.logback.core.AppenderBase:ch.qos.logback.core.UnsynchronizedAppenderBase:ch.qos.logback.core.net.SMTPAppenderBase].stop()"
    - "[ch.qos.logback.core.util.COWArrayList].clear()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[ch.qos.logback.core.spi.LifeCycle].stop()"
    functionUses: 2
    ICount: 12
    EdgeCount: 13
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.AppenderAttachableImpl:106"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:109"
        BranchSideFuncs:
        - "iterator()"
        - "stop()"
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:108"
        BranchSideFuncs:
        - "clear()"
    Callsites:
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:106,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:106,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:106,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:107,1"
      Dst: "[ch.qos.logback.core.spi.LifeCycle].stop()"
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:109,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].clear()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.AsyncAppenderBase].detachAppender(ch.qos.logback.core.Appender)"
    functionSourceFile: "ch.qos.logback.core.AsyncAppenderBase"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 3
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Appender"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.AppenderAttachableImpl].detachAppender(ch.qos.logback.core.Appender)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.AsyncAppenderBase:281,1"
      Dst: "[ch.qos.logback.core.spi.AppenderAttachableImpl].detachAppender(ch.qos.logback.core.Appender)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.AppenderAttachableImpl].detachAppender(ch.qos.logback.core.Appender)"
    functionSourceFile: "ch.qos.logback.core.spi.AppenderAttachableImpl"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Appender"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].remove(java.lang.Object)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.AppenderAttachableImpl:116"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:120"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:119"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:120,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].remove(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.AsyncAppenderBase].detachAppender(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.AsyncAppenderBase"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.AppenderAttachableImpl].detachAppender(java.lang.String)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.AsyncAppenderBase:285,1"
      Dst: "[ch.qos.logback.core.spi.AppenderAttachableImpl].detachAppender(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.AppenderAttachableImpl].detachAppender(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.AppenderAttachableImpl"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 3
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].asTypedArray()"
    - "[ch.qos.logback.core.Appender].getName()"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[ch.qos.logback.core.util.COWArrayList].remove(java.lang.Object)"
    functionUses: 0
    ICount: 21
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.AppenderAttachableImpl:129"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:132"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:131"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.AppenderAttachableImpl:133"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:139"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:138"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.AppenderAttachableImpl:134"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:132"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:131"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:133,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].asTypedArray()"
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:134,1"
      Dst: "[ch.qos.logback.core.Appender].getName()"
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:134,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:135,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].remove(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.testUtil.MockInitialContextFactory].<init>()"
    functionSourceFile: "ch.qos.logback.core.testUtil.MockInitialContextFactory"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.MockInitialContextFactory:22,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.MockInitialContextFactory].initialize()"
    functionSourceFile: "ch.qos.logback.core.testUtil.MockInitialContextFactory"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.testUtil.MockInitialContext].<init>()"
    - "[java.lang.Throwable].printStackTrace()"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.MockInitialContextFactory:32,1"
      Dst: "[ch.qos.logback.core.testUtil.MockInitialContext].<init>()"
    - Src: "ch.qos.logback.core.testUtil.MockInitialContextFactory:34,1"
      Dst: "[java.lang.Throwable].printStackTrace()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.MockInitialContext].<init>()"
    functionSourceFile: "ch.qos.logback.core.testUtil.MockInitialContext"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.naming.InitialContext].<init>()"
    - "[java.util.HashMap].<init>()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.MockInitialContext:27,1"
      Dst: "[javax.naming.InitialContext].<init>()"
    - Src: "ch.qos.logback.core.testUtil.MockInitialContext:24,1"
      Dst: "[java.util.HashMap].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.MockInitialContextFactory].getInitialContext(java.util.Hashtable)"
    functionSourceFile: "ch.qos.logback.core.testUtil.MockInitialContextFactory"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "javax.naming.Context"
    argCount: 1
    argTypes:
    - "java.util.Hashtable"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.MockInitialContextFactory].getContext()"
    functionSourceFile: "ch.qos.logback.core.testUtil.MockInitialContextFactory"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.core.testUtil.MockInitialContext"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.DateTokenConverter].<init>()"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.DateTokenConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.DynamicConverter].<init>()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.DateTokenConverter:31,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.DateTokenConverter].start()"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.DateTokenConverter"
    linkageType: null
    functionLinenumber: 47
    functionDepth: 3
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.DynamicConverter].getFirstOption()"
    - "[ch.qos.logback.core.pattern.DynamicConverter].getOptionList()"
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.util.COWArrayList].get(int)"
    - "[ch.qos.logback.core.util.CachingDateFormatter].<init>(java.lang.String,java.time.ZoneId)"
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - "[java.time.ZoneId].of(java.lang.String)"
    functionUses: 6
    ICount: 28
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.DateTokenConverter:49"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.DateTokenConverter:53"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.DateTokenConverter:52"
        BranchSideFuncs:
        - "getOptionList()"
    - Branch String: "ch.qos.logback.core.rolling.helper.DateTokenConverter:54"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.DateTokenConverter:65"
        BranchSideFuncs:
        - "size()"
      - BranchSide: "ch.qos.logback.core.rolling.helper.DateTokenConverter:64"
        BranchSideFuncs:
        - "<init>(java.lang.String,java.time.ZoneId)"
    - Branch String: "ch.qos.logback.core.rolling.helper.DateTokenConverter:55"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.DateTokenConverter:65"
        BranchSideFuncs:
        - "get(int)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.DateTokenConverter:64"
        BranchSideFuncs:
        - "<init>(java.lang.String,java.time.ZoneId)"
    - Branch String: "ch.qos.logback.core.rolling.helper.DateTokenConverter:57"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.DateTokenConverter:60"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.DateTokenConverter:59"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.DateTokenConverter:48,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].getFirstOption()"
    - Src: "ch.qos.logback.core.rolling.helper.DateTokenConverter:53,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].getOptionList()"
    - Src: "ch.qos.logback.core.rolling.helper.DateTokenConverter:55,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.core.rolling.helper.DateTokenConverter:56,1"
      Dst: "[java.util.List].get(int)"
    - Src: "ch.qos.logback.core.rolling.helper.DateTokenConverter:57,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.DateTokenConverter:60,1"
      Dst: "[java.time.ZoneId].of(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.DateTokenConverter:65,1"
      Dst: "[ch.qos.logback.core.util.CachingDateFormatter].<init>(java.lang.String,java.time.ZoneId)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.util.CachingDateFormatter].<init>(java.lang.String,java.time.ZoneId)"
    functionSourceFile: "ch.qos.logback.core.util.CachingDateFormatter"
    linkageType: null
    functionLinenumber: 51
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.time.ZoneId"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.CachingDateFormatter].<init>(java.lang.String,java.time.ZoneId,java.util.Locale)"
    functionUses: 3
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:52,1"
      Dst: "[ch.qos.logback.core.util.CachingDateFormatter].<init>(java.lang.String,java.time.ZoneId,java.util.Locale)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.DateTokenConverter].convert(java.util.Date)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.DateTokenConverter"
    linkageType: null
    functionLinenumber: 68
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.util.Date"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.CachingDateFormatter].format(long)"
    - "[java.util.Date].getTime()"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.DateTokenConverter:69,1"
      Dst: "[java.util.Date].getTime()"
    - Src: "ch.qos.logback.core.rolling.helper.DateTokenConverter:69,1"
      Dst: "[ch.qos.logback.core.util.CachingDateFormatter].format(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.CachingDateFormatter].format(long)"
    functionSourceFile: "ch.qos.logback.core.util.CachingDateFormatter"
    linkageType: null
    functionLinenumber: 68
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.CachingDateFormatter$CacheTuple].<init>(long,java.lang.String)"
    - "[java.util.concurrent.atomic.AtomicReference].get()"
    - "[java.time.Instant].ofEpochMilli(long)"
    - "[java.time.format.DateTimeFormatter].format(java.time.temporal.TemporalAccessor)"
    - "[java.util.concurrent.atomic.AtomicReference].compareAndSet(java.lang.Object,java.lang.Object)"
    functionUses: 6
    ICount: 19
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.CachingDateFormatter:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.CachingDateFormatter:79"
        BranchSideFuncs:
        - "<init>(long,java.lang.String)"
      - BranchSide: "ch.qos.logback.core.util.CachingDateFormatter:78"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:69,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].get()"
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:73,1"
      Dst: "[java.time.Instant].ofEpochMilli(long)"
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:74,1"
      Dst: "[java.time.format.DateTimeFormatter].format(java.time.temporal.TemporalAccessor)"
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:75,1"
      Dst: "[ch.qos.logback.core.util.CachingDateFormatter$CacheTuple].<init>(long,java.lang.String)"
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:77,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].compareAndSet(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.rolling.helper.DateTokenConverter].convert(java.time.Instant)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.DateTokenConverter"
    linkageType: null
    functionLinenumber: 72
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.time.Instant"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.CachingDateFormatter].format(long)"
    - "[java.time.Instant].toEpochMilli()"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.DateTokenConverter:73,1"
      Dst: "[java.time.Instant].toEpochMilli()"
    - Src: "ch.qos.logback.core.rolling.helper.DateTokenConverter:73,1"
      Dst: "[ch.qos.logback.core.util.CachingDateFormatter].format(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.CachingDateFormatter].format(long)"
    functionSourceFile: "ch.qos.logback.core.util.CachingDateFormatter"
    linkageType: null
    functionLinenumber: 68
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.CachingDateFormatter$CacheTuple].<init>(long,java.lang.String)"
    - "[java.util.concurrent.atomic.AtomicReference].get()"
    - "[java.time.Instant].ofEpochMilli(long)"
    - "[java.time.format.DateTimeFormatter].format(java.time.temporal.TemporalAccessor)"
    - "[java.util.concurrent.atomic.AtomicReference].compareAndSet(java.lang.Object,java.lang.Object)"
    functionUses: 6
    ICount: 19
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.CachingDateFormatter:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.CachingDateFormatter:79"
        BranchSideFuncs:
        - "<init>(long,java.lang.String)"
      - BranchSide: "ch.qos.logback.core.util.CachingDateFormatter:78"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:69,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].get()"
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:73,1"
      Dst: "[java.time.Instant].ofEpochMilli(long)"
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:74,1"
      Dst: "[java.time.format.DateTimeFormatter].format(java.time.temporal.TemporalAccessor)"
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:75,1"
      Dst: "[ch.qos.logback.core.util.CachingDateFormatter$CacheTuple].<init>(long,java.lang.String)"
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:77,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].compareAndSet(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.rolling.helper.DateTokenConverter].convert(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.DateTokenConverter"
    linkageType: null
    functionLinenumber: 76
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.DateTokenConverter].convert(java.util.Date)"
    - "[ch.qos.logback.core.rolling.helper.DateTokenConverter].convert(java.time.Instant)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Object,java.lang.String)"
    functionUses: 11
    ICount: 22
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.DateTokenConverter:77"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.DateTokenConverter:80"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.DateTokenConverter:79"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.DateTokenConverter:80"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.DateTokenConverter:83"
        BranchSideFuncs:
        - "convert(java.util.Date)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.DateTokenConverter:82"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.DateTokenConverter:83"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.DateTokenConverter:87"
        BranchSideFuncs:
        - "convert(java.time.Instant)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.DateTokenConverter:86"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.DateTokenConverter:78,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.DateTokenConverter:81,1"
      Dst: "[ch.qos.logback.core.rolling.helper.DateTokenConverter].convert(java.util.Date)"
    - Src: "ch.qos.logback.core.rolling.helper.DateTokenConverter:84,1"
      Dst: "[ch.qos.logback.core.rolling.helper.DateTokenConverter].convert(java.time.Instant)"
    - Src: "ch.qos.logback.core.rolling.helper.DateTokenConverter:87,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.rolling.helper.DateTokenConverter:87,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.core.rolling.helper.DateTokenConverter:87,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Object,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.DateTokenConverter].convert(java.util.Date)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.DateTokenConverter"
    linkageType: null
    functionLinenumber: 68
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.util.Date"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.CachingDateFormatter].format(long)"
    - "[java.util.Date].getTime()"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.DateTokenConverter:69,1"
      Dst: "[java.util.Date].getTime()"
    - Src: "ch.qos.logback.core.rolling.helper.DateTokenConverter:69,1"
      Dst: "[ch.qos.logback.core.util.CachingDateFormatter].format(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.DateTokenConverter].convert(java.time.Instant)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.DateTokenConverter"
    linkageType: null
    functionLinenumber: 72
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.time.Instant"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.CachingDateFormatter].format(long)"
    - "[java.time.Instant].toEpochMilli()"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.DateTokenConverter:73,1"
      Dst: "[java.time.Instant].toEpochMilli()"
    - Src: "ch.qos.logback.core.rolling.helper.DateTokenConverter:73,1"
      Dst: "[ch.qos.logback.core.util.CachingDateFormatter].format(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.DateTokenConverter].getDatePattern()"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.DateTokenConverter"
    linkageType: null
    functionLinenumber: 93
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.DateTokenConverter].getZoneId()"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.DateTokenConverter"
    linkageType: null
    functionLinenumber: 97
    functionDepth: 0
    returnType: "java.time.ZoneId"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.DateTokenConverter].isApplicable(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.DateTokenConverter"
    linkageType: null
    functionLinenumber: 101
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.DateTokenConverter:102"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.DateTokenConverter:104"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.DateTokenConverter:103"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.DateTokenConverter:104"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.DateTokenConverter:106"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.DateTokenConverter:105"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.DateTokenConverter].toRegex()"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.DateTokenConverter"
    linkageType: null
    functionLinenumber: 109
    functionDepth: 5
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.DatePatternToRegexUtil].<init>(java.lang.String)"
    - "[ch.qos.logback.core.util.DatePatternToRegexUtil].toRegex()"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.DateTokenConverter:110,1"
      Dst: "[ch.qos.logback.core.util.DatePatternToRegexUtil].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.DateTokenConverter:111,1"
      Dst: "[ch.qos.logback.core.util.DatePatternToRegexUtil].toRegex()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.DateTokenConverter].isPrimary()"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.DateTokenConverter"
    linkageType: null
    functionLinenumber: 114
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SocketAcceptor].<init>()"
    functionSourceFile: "ch.qos.logback.classic.net.SocketAcceptor"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Thread].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SocketAcceptor:16,1"
      Dst: "[java.lang.Thread].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SocketAcceptor].run()"
    functionSourceFile: "ch.qos.logback.classic.net.SocketAcceptor"
    linkageType: null
    functionLinenumber: 20
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.layout.TTLLLayout].<init>()"
    functionSourceFile: "ch.qos.logback.classic.layout.TTLLLayout"
    linkageType: null
    functionLinenumber: 37
    functionDepth: 4
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.LayoutBase].<init>()"
    - "[ch.qos.logback.core.util.CachingDateFormatter].<init>(java.lang.String)"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].<init>()"
    functionUses: 1
    ICount: 9
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:38,1"
      Dst: "[ch.qos.logback.core.LayoutBase].<init>()"
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:40,1"
      Dst: "[ch.qos.logback.core.util.CachingDateFormatter].<init>(java.lang.String)"
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:41,1"
      Dst: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.layout.TTLLLayout].start()"
    functionSourceFile: "ch.qos.logback.classic.layout.TTLLLayout"
    linkageType: null
    functionLinenumber: 44
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].start()"
    - "[ch.qos.logback.core.LayoutBase].start()"
    functionUses: 6
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:45,1"
      Dst: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].start()"
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:46,1"
      Dst: "[ch.qos.logback.core.LayoutBase].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.layout.TTLLLayout].doLayout(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.layout.TTLLLayout"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 6
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.LayoutBase].isStarted()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getTimeStamp()"
    - "[ch.qos.logback.core.util.CachingDateFormatter].format(long)"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getThreadName()"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getLevel()"
    - "[ch.qos.logback.classic.Level].toString()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getLoggerName()"
    - "[ch.qos.logback.classic.layout.TTLLLayout].kvp(ch.qos.logback.classic.spi.ILoggingEvent,java.lang.StringBuilder)"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getFormattedMessage()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getFormattedMessage()"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getThrowableProxy()"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    - "[java.lang.StringBuilder].<init>()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getTimeStamp()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getThreadName()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerName()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getFormattedMessage()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getThrowableProxy()"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 35
    EdgeCount: 12
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.layout.TTLLLayout:51"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.layout.TTLLLayout:54"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.layout.TTLLLayout:53"
        BranchSideFuncs:
        - "getThrowableProxy()"
        - "getTimeStamp()"
        - "kvp(ch.qos.logback.classic.spi.ILoggingEvent,java.lang.StringBuilder)"
        - "toString()"
        - "getLoggerName()"
        - "getFormattedMessage()"
        - "format(long)"
        - "getLevel()"
        - "getThreadName()"
    - Branch String: "ch.qos.logback.classic.layout.TTLLLayout:71"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.layout.TTLLLayout:75"
        BranchSideFuncs:
        - "convert(ch.qos.logback.classic.spi.ILoggingEvent)"
      - BranchSide: "ch.qos.logback.classic.layout.TTLLLayout:74"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:51,1"
      Dst: "[ch.qos.logback.core.LayoutBase].isStarted()"
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:54,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:56,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getTimeStamp()"
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:58,1"
      Dst: "[ch.qos.logback.core.util.CachingDateFormatter].format(long)"
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:58,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:60,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getThreadName()"
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:62,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:62,1"
      Dst: "[ch.qos.logback.classic.Level].toString()"
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:64,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerName()"
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:66,1"
      Dst: "[ch.qos.logback.classic.layout.TTLLLayout].kvp(ch.qos.logback.classic.spi.ILoggingEvent,java.lang.StringBuilder)"
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:68,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getFormattedMessage()"
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:70,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getThrowableProxy()"
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:72,1"
      Dst: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:75,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.CachingDateFormatter].format(long)"
    functionSourceFile: "ch.qos.logback.core.util.CachingDateFormatter"
    linkageType: null
    functionLinenumber: 68
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.CachingDateFormatter$CacheTuple].<init>(long,java.lang.String)"
    - "[java.util.concurrent.atomic.AtomicReference].get()"
    - "[java.time.Instant].ofEpochMilli(long)"
    - "[java.time.format.DateTimeFormatter].format(java.time.temporal.TemporalAccessor)"
    - "[java.util.concurrent.atomic.AtomicReference].compareAndSet(java.lang.Object,java.lang.Object)"
    functionUses: 6
    ICount: 19
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.CachingDateFormatter:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.CachingDateFormatter:79"
        BranchSideFuncs:
        - "<init>(long,java.lang.String)"
      - BranchSide: "ch.qos.logback.core.util.CachingDateFormatter:78"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:69,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].get()"
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:73,1"
      Dst: "[java.time.Instant].ofEpochMilli(long)"
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:74,1"
      Dst: "[java.time.format.DateTimeFormatter].format(java.time.temporal.TemporalAccessor)"
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:75,1"
      Dst: "[ch.qos.logback.core.util.CachingDateFormatter$CacheTuple].<init>(long,java.lang.String)"
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:77,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].compareAndSet(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Level].toString()"
    functionSourceFile: "ch.qos.logback.classic.Level"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 6
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.layout.TTLLLayout].kvp(ch.qos.logback.classic.spi.ILoggingEvent,java.lang.StringBuilder)"
    functionSourceFile: "ch.qos.logback.classic.layout.TTLLLayout"
    linkageType: null
    functionLinenumber: 79
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    - "java.lang.StringBuilder"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getKeyValuePairs()"
    - "[ch.qos.logback.core.util.COWArrayList].isEmpty()"
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.util.COWArrayList].get(int)"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getKeyValuePairs()"
    - "[java.util.List].isEmpty()"
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.String].valueOf(java.lang.Object)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 1
    ICount: 27
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.layout.TTLLLayout:81"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.layout.TTLLLayout:82"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.layout.TTLLLayout:81"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.layout.TTLLLayout:81"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.layout.TTLLLayout:85"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.layout.TTLLLayout:84"
        BranchSideFuncs:
        - "size()"
    - Branch String: "ch.qos.logback.classic.layout.TTLLLayout:87"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.layout.TTLLLayout:97"
        BranchSideFuncs:
        - "get(int)"
      - BranchSide: "ch.qos.logback.classic.layout.TTLLLayout:96"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.layout.TTLLLayout:89"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.layout.TTLLLayout:null"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:80,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getKeyValuePairs()"
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:81,1"
      Dst: "[java.util.List].isEmpty()"
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:85,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:88,1"
      Dst: "[java.util.List].get(int)"
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:90,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:91,1"
      Dst: "[java.lang.String].valueOf(java.lang.Object)"
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:91,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.pattern.ThrowableProxyConverter"
    linkageType: null
    functionLinenumber: 113
    functionDepth: 5
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getThrowableProxy()"
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.util.COWArrayList].get(int)"
    - "[ch.qos.logback.core.boolex.JaninoEventEvaluatorBase].evaluate(java.lang.Object)"
    - "[ch.qos.logback.classic.boolex.OnMarkerEvaluator].evaluate(java.lang.Object)"
    - "[ch.qos.logback.classic.boolex.OnErrorEvaluator].evaluate(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.boolex.EventEvaluatorBase].getName()"
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.status.StatusBase].add(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].throwableProxyToString(ch.qos.logback.classic.spi.IThrowableProxy)"
    - "[ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter].throwableProxyToString(ch.qos.logback.classic.spi.IThrowableProxy)"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getThrowableProxy()"
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    - "[ch.qos.logback.core.boolex.EventEvaluator].evaluate(java.lang.Object)"
    - "[ch.qos.logback.core.boolex.EventEvaluator].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 2
    ICount: 46
    EdgeCount: 15
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:115"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:120"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:119"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:120"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:148"
        BranchSideFuncs:
        - "size()"
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:147"
        BranchSideFuncs:
        - "throwableProxyToString(ch.qos.logback.classic.spi.IThrowableProxy)"
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:122"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:143"
        BranchSideFuncs:
        - "evaluate(java.lang.Object)"
        - "get(int)"
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:142"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:125"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:140"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:139"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:131"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:133"
        BranchSideFuncs:
        - "addError(java.lang.String,java.lang.Throwable)"
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:132"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:133"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:121"
        BranchSideFuncs:
        - "<init>(java.lang.String,java.lang.Object)"
        - "add(ch.qos.logback.core.status.Status)"
        - "getName()"
        - "<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
        - "addStatus(ch.qos.logback.core.status.Status)"
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:120"
        BranchSideFuncs:
        - "size()"
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:143"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:148"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:147"
        BranchSideFuncs:
        - "throwableProxyToString(ch.qos.logback.classic.spi.IThrowableProxy)"
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:114,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getThrowableProxy()"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:122,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:123,1"
      Dst: "[java.util.List].get(int)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:125,1"
      Dst: "[ch.qos.logback.core.boolex.EventEvaluator].evaluate(java.lang.Object)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:132,1"
      Dst: "[ch.qos.logback.core.boolex.EventEvaluator].getName()"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:132,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:132,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].addError(java.lang.String,java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:135,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:136,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:136,1"
      Dst: "[ch.qos.logback.core.status.StatusBase].add(ch.qos.logback.core.status.Status)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:138,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].addStatus(ch.qos.logback.core.status.Status)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:148,1"
      Dst: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].throwableProxyToString(ch.qos.logback.classic.spi.IThrowableProxy)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 16
    CyclomaticComplexity: 6
  - functionName: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.status.ErrorStatus"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionUses: 14
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.ErrorStatus:23,1"
      Dst: "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.status.ErrorStatus"
    linkageType: null
    functionLinenumber: 18
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    functionUses: 7
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.ErrorStatus:19,1"
      Dst: "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].throwableProxyToString(ch.qos.logback.classic.spi.IThrowableProxy)"
    functionSourceFile: "ch.qos.logback.classic.pattern.ThrowableProxyConverter"
    linkageType: null
    functionLinenumber: 151
    functionDepth: 4
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.IThrowableProxy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].recursiveAppend(java.lang.StringBuilder,java.lang.String,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    - "[java.lang.StringBuilder].<init>(int)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:152,1"
      Dst: "[java.lang.StringBuilder].<init>(int)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:154,1"
      Dst: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].recursiveAppend(java.lang.StringBuilder,java.lang.String,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:156,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].recursiveAppend(java.lang.StringBuilder,java.lang.String,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    functionSourceFile: "ch.qos.logback.classic.pattern.ThrowableProxyConverter"
    linkageType: null
    functionLinenumber: 159
    functionDepth: 3
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.lang.StringBuilder"
    - "java.lang.String"
    - "int"
    - "ch.qos.logback.classic.spi.IThrowableProxy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].subjoinFirstLine(java.lang.StringBuilder,java.lang.String,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].subjoinSTEPArray(java.lang.StringBuilder,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].getSuppressed()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].getSuppressed()"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].recursiveAppend(java.lang.StringBuilder,java.lang.String,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].getCause()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].getCause()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getSuppressed()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getCause()"
    functionUses: 3
    ICount: 24
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:160"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:162"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:161"
        BranchSideFuncs:
        - "subjoinSTEPArray(java.lang.StringBuilder,int,ch.qos.logback.classic.spi.IThrowableProxy)"
        - "subjoinFirstLine(java.lang.StringBuilder,java.lang.String,int,ch.qos.logback.classic.spi.IThrowableProxy)"
        - "getSuppressed()"
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:166"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:172"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:171"
        BranchSideFuncs:
        - "recursiveAppend(java.lang.StringBuilder,java.lang.String,int,ch.qos.logback.classic.spi.IThrowableProxy)"
        - "getCause()"
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:167"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:171"
        BranchSideFuncs:
        - "recursiveAppend(java.lang.StringBuilder,java.lang.String,int,ch.qos.logback.classic.spi.IThrowableProxy)"
        - "getCause()"
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:162,1"
      Dst: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].subjoinFirstLine(java.lang.StringBuilder,java.lang.String,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:163,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:164,1"
      Dst: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].subjoinSTEPArray(java.lang.StringBuilder,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:165,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getSuppressed()"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:168,1"
      Dst: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].recursiveAppend(java.lang.StringBuilder,java.lang.String,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:172,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getCause()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].subjoinFirstLine(java.lang.StringBuilder,java.lang.String,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    functionSourceFile: "ch.qos.logback.classic.pattern.ThrowableProxyConverter"
    linkageType: null
    functionLinenumber: 175
    functionDepth: 1
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.lang.StringBuilder"
    - "java.lang.String"
    - "int"
    - "ch.qos.logback.classic.spi.IThrowableProxy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.ThrowableProxyUtil].indent(java.lang.StringBuilder,int)"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].subjoinExceptionMessage(java.lang.StringBuilder,ch.qos.logback.classic.spi.IThrowableProxy)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 1
    ICount: 11
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:177"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:180"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:179"
        BranchSideFuncs:
        - "subjoinExceptionMessage(java.lang.StringBuilder,ch.qos.logback.classic.spi.IThrowableProxy)"
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:176,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].indent(java.lang.StringBuilder,int)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:178,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:180,1"
      Dst: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].subjoinExceptionMessage(java.lang.StringBuilder,ch.qos.logback.classic.spi.IThrowableProxy)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].indent(java.lang.StringBuilder,int)"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxyUtil"
    linkageType: null
    functionLinenumber: 99
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].append(char)"
    functionUses: 4
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:100"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:102"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:101,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].subjoinExceptionMessage(java.lang.StringBuilder,ch.qos.logback.classic.spi.IThrowableProxy)"
    functionSourceFile: "ch.qos.logback.classic.pattern.ThrowableProxyConverter"
    linkageType: null
    functionLinenumber: 183
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "ch.qos.logback.classic.spi.IThrowableProxy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].isCyclic()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].isCyclic()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].getClassName()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].getClassName()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].getMessage()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].getMessage()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].isCyclic()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getClassName()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getMessage()"
    - "[java.lang.StringBuilder].append(char)"
    functionUses: 1
    ICount: 19
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:184"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:188"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:187"
        BranchSideFuncs:
        - "getClassName()"
        - "getMessage()"
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:184,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].isCyclic()"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:185,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:185,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getClassName()"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:185,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getMessage()"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:186,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].subjoinSTEPArray(java.lang.StringBuilder,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    functionSourceFile: "ch.qos.logback.classic.pattern.ThrowableProxyConverter"
    linkageType: null
    functionLinenumber: 192
    functionDepth: 2
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.StringBuilder"
    - "int"
    - "ch.qos.logback.classic.spi.IThrowableProxy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].getStackTraceElementProxyArray()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].getStackTraceElementProxyArray()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].getCommonFrames()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].getCommonFrames()"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].isIgnoredStackTraceLine(java.lang.String)"
    - "[ch.qos.logback.classic.spi.StackTraceElementProxy].toString()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyUtil].indent(java.lang.StringBuilder,int)"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].printStackLine(java.lang.StringBuilder,int,ch.qos.logback.classic.spi.StackTraceElementProxy)"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].printIgnoredCount(java.lang.StringBuilder,int)"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getStackTraceElementProxyArray()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getCommonFrames()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(int)"
    functionUses: 2
    ICount: 56
    EdgeCount: 12
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:196"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:-1"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:198"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:196"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:195"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:199"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:203"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:202"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:199"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:203"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:202"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:204"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:218"
        BranchSideFuncs:
        - "isIgnoredStackTraceLine(java.lang.String)"
        - "toString()"
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:217"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:206"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:212"
        BranchSideFuncs:
        - "printStackLine(java.lang.StringBuilder,int,ch.qos.logback.classic.spi.StackTraceElementProxy)"
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:211"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:213"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:203"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:202"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:218"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:223"
        BranchSideFuncs:
        - "printIgnoredCount(java.lang.StringBuilder,int)"
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:222"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:223"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:228"
        BranchSideFuncs:
        - "getCommonFrames()"
        - "indent(java.lang.StringBuilder,int)"
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:227"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:223"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:228"
        BranchSideFuncs:
        - "getCommonFrames()"
        - "indent(java.lang.StringBuilder,int)"
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:227"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:193,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getStackTraceElementProxyArray()"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:194,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getCommonFrames()"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:206,1"
      Dst: "[ch.qos.logback.classic.spi.StackTraceElementProxy].toString()"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:206,1"
      Dst: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].isIgnoredStackTraceLine(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:207,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].indent(java.lang.StringBuilder,int)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:208,1"
      Dst: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].printStackLine(java.lang.StringBuilder,int,ch.qos.logback.classic.spi.StackTraceElementProxy)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:210,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:219,1"
      Dst: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].printIgnoredCount(java.lang.StringBuilder,int)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:225,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 22
    CyclomaticComplexity: 11
  - functionName: "[ch.qos.logback.classic.spi.StackTraceElementProxy].toString()"
    functionSourceFile: "ch.qos.logback.classic.spi.StackTraceElementProxy"
    linkageType: null
    functionLinenumber: 88
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.StackTraceElementProxy].getSTEAsString()"
    functionUses: 6
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.StackTraceElementProxy:89,1"
      Dst: "[ch.qos.logback.classic.spi.StackTraceElementProxy].getSTEAsString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].isIgnoredStackTraceLine(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.pattern.ThrowableProxyConverter"
    linkageType: null
    functionLinenumber: 242
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.lang.String].contains(java.lang.CharSequence)"
    functionUses: 1
    ICount: 15
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:243"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:250"
        BranchSideFuncs:
        - "iterator()"
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:249"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:244"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:250"
        BranchSideFuncs:
        - "iterator()"
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:249"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:245"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:248"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:247"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:244,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:244,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:244,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:245,1"
      Dst: "[java.lang.String].contains(java.lang.CharSequence)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].printStackLine(java.lang.StringBuilder,int,ch.qos.logback.classic.spi.StackTraceElementProxy)"
    functionSourceFile: "ch.qos.logback.classic.pattern.ThrowableProxyConverter"
    linkageType: null
    functionLinenumber: 230
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.StringBuilder"
    - "int"
    - "ch.qos.logback.classic.spi.StackTraceElementProxy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.ExtendedThrowableProxyConverter].extraData(java.lang.StringBuilder,ch.qos.logback.classic.spi.StackTraceElementProxy)"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].extraData(java.lang.StringBuilder,ch.qos.logback.classic.spi.StackTraceElementProxy)"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].printIgnoredCount(java.lang.StringBuilder,int)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    functionUses: 1
    ICount: 9
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:233"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:236"
        BranchSideFuncs:
        - "printIgnoredCount(java.lang.StringBuilder,int)"
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:235"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:231,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:232,1"
      Dst: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].extraData(java.lang.StringBuilder,ch.qos.logback.classic.spi.StackTraceElementProxy)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:234,1"
      Dst: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].printIgnoredCount(java.lang.StringBuilder,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].extraData(java.lang.StringBuilder,ch.qos.logback.classic.spi.StackTraceElementProxy)"
    functionSourceFile: "ch.qos.logback.classic.pattern.ThrowableProxyConverter"
    linkageType: null
    functionLinenumber: 109
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "ch.qos.logback.classic.spi.StackTraceElementProxy"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].printIgnoredCount(java.lang.StringBuilder,int)"
    functionSourceFile: "ch.qos.logback.classic.pattern.ThrowableProxyConverter"
    linkageType: null
    functionLinenumber: 238
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(int)"
    functionUses: 2
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:239,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:239,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.layout.TTLLLayout].kvp(ch.qos.logback.classic.spi.ILoggingEvent,java.lang.StringBuilder)"
    functionSourceFile: "ch.qos.logback.classic.layout.TTLLLayout"
    linkageType: null
    functionLinenumber: 79
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    - "java.lang.StringBuilder"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getKeyValuePairs()"
    - "[ch.qos.logback.core.util.COWArrayList].isEmpty()"
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.util.COWArrayList].get(int)"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getKeyValuePairs()"
    - "[java.util.List].isEmpty()"
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.String].valueOf(java.lang.Object)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 1
    ICount: 27
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.layout.TTLLLayout:81"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.layout.TTLLLayout:82"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.layout.TTLLLayout:81"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.layout.TTLLLayout:81"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.layout.TTLLLayout:85"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.layout.TTLLLayout:84"
        BranchSideFuncs:
        - "size()"
    - Branch String: "ch.qos.logback.classic.layout.TTLLLayout:87"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.layout.TTLLLayout:97"
        BranchSideFuncs:
        - "get(int)"
      - BranchSide: "ch.qos.logback.classic.layout.TTLLLayout:96"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.layout.TTLLLayout:89"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.layout.TTLLLayout:null"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:80,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getKeyValuePairs()"
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:81,1"
      Dst: "[java.util.List].isEmpty()"
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:85,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:88,1"
      Dst: "[java.util.List].get(int)"
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:90,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:91,1"
      Dst: "[java.lang.String].valueOf(java.lang.Object)"
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:91,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.classic.layout.TTLLLayout].doLayout(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.layout.TTLLLayout"
    linkageType: null
    functionLinenumber: 37
    functionDepth: 7
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.layout.TTLLLayout].doLayout(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 5
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:38,1"
      Dst: "[ch.qos.logback.classic.layout.TTLLLayout].doLayout(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.layout.TTLLLayout].doLayout(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.layout.TTLLLayout"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 6
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.LayoutBase].isStarted()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getTimeStamp()"
    - "[ch.qos.logback.core.util.CachingDateFormatter].format(long)"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getThreadName()"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getLevel()"
    - "[ch.qos.logback.classic.Level].toString()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getLoggerName()"
    - "[ch.qos.logback.classic.layout.TTLLLayout].kvp(ch.qos.logback.classic.spi.ILoggingEvent,java.lang.StringBuilder)"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getFormattedMessage()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getFormattedMessage()"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getThrowableProxy()"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    - "[java.lang.StringBuilder].<init>()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getTimeStamp()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getThreadName()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerName()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getFormattedMessage()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getThrowableProxy()"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 35
    EdgeCount: 12
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.layout.TTLLLayout:51"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.layout.TTLLLayout:54"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.layout.TTLLLayout:53"
        BranchSideFuncs:
        - "getThrowableProxy()"
        - "getTimeStamp()"
        - "kvp(ch.qos.logback.classic.spi.ILoggingEvent,java.lang.StringBuilder)"
        - "toString()"
        - "getLoggerName()"
        - "getFormattedMessage()"
        - "format(long)"
        - "getLevel()"
        - "getThreadName()"
    - Branch String: "ch.qos.logback.classic.layout.TTLLLayout:71"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.layout.TTLLLayout:75"
        BranchSideFuncs:
        - "convert(ch.qos.logback.classic.spi.ILoggingEvent)"
      - BranchSide: "ch.qos.logback.classic.layout.TTLLLayout:74"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:51,1"
      Dst: "[ch.qos.logback.core.LayoutBase].isStarted()"
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:54,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:56,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getTimeStamp()"
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:58,1"
      Dst: "[ch.qos.logback.core.util.CachingDateFormatter].format(long)"
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:58,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:60,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getThreadName()"
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:62,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:62,1"
      Dst: "[ch.qos.logback.classic.Level].toString()"
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:64,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerName()"
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:66,1"
      Dst: "[ch.qos.logback.classic.layout.TTLLLayout].kvp(ch.qos.logback.classic.spi.ILoggingEvent,java.lang.StringBuilder)"
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:68,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getFormattedMessage()"
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:70,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getThrowableProxy()"
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:72,1"
      Dst: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    - Src: "ch.qos.logback.classic.layout.TTLLLayout:75,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 54
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].<init>(ch.qos.logback.core.Context,java.lang.Object)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:55,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].<init>(ch.qos.logback.core.Context,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].<init>(ch.qos.logback.core.Context,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 57
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry].<init>()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - "[ch.qos.logback.core.joran.util.beans.BeanDescriptionCache].<init>(ch.qos.logback.core.Context)"
    - "[java.util.ArrayList].<init>()"
    - "[java.util.Stack].<init>()"
    - "[java.util.HashMap].<init>(int)"
    functionUses: 3
    ICount: 34
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:58,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:46,1"
      Dst: "[ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry].<init>()"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:47,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:61,1"
      Dst: "[java.util.Stack].<init>()"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:63,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanDescriptionCache].<init>(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:64,1"
      Dst: "[java.util.HashMap].<init>(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].<init>(ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 69
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].<init>(ch.qos.logback.core.Context,java.lang.Object)"
    - "[ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry].duplicate(ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getDefaultNestedComponentRegistry()"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].createAppenderBags()"
    - "[java.util.HashMap].<init>(java.util.Map)"
    functionUses: 1
    ICount: 18
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:70,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].<init>(ch.qos.logback.core.Context,java.lang.Object)"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:71,1"
      Dst: "[java.util.HashMap].<init>(java.util.Map)"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:73,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getDefaultNestedComponentRegistry()"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:73,1"
      Dst: "[ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry].duplicate(ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry)"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:74,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].createAppenderBags()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getObjectMap()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 77
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].createAppenderBags()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 81
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashMap].<init>()"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 3
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:82,1"
      Dst: "[java.util.HashMap].<init>()"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:82,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getTopModel()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 86
    functionDepth: 0
    returnType: "ch.qos.logback.core.model.Model"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].setTopModel(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 90
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].pushModel(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 96
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].push(java.lang.Object)"
    functionUses: 2
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:97,1"
      Dst: "[java.util.Stack].push(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekModel()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 0
    returnType: "ch.qos.logback.core.model.Model"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].peek()"
    functionUses: 4
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:101,1"
      Dst: "[java.util.Stack].peek()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].isModelStackEmpty()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Vector].isEmpty()"
    functionUses: 3
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:105,1"
      Dst: "[java.util.Vector].isEmpty()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].popModel()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 108
    functionDepth: 0
    returnType: "ch.qos.logback.core.model.Model"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].pop()"
    functionUses: 2
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:109,1"
      Dst: "[java.util.Stack].pop()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getObjectStack()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.util.Stack"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].isObjectStackEmpty()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 118
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Vector].isEmpty()"
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:119,1"
      Dst: "[java.util.Vector].isEmpty()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekObject()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 122
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].peek()"
    functionUses: 16
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:123,1"
      Dst: "[java.util.Stack].peek()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].pushObject(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 126
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].push(java.lang.Object)"
    functionUses: 12
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:127,1"
      Dst: "[java.util.Stack].push(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].popObject()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 130
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].pop()"
    functionUses: 12
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:131,1"
      Dst: "[java.util.Stack].pop()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getObject(int)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Vector].get(int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:135,1"
      Dst: "[java.util.Vector].get(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getConfiguratorHint()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 140
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].setConfiguratorHint(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 144
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getBeanDescriptionCache()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 148
    functionDepth: 0
    returnType: "ch.qos.logback.core.joran.util.beans.BeanDescriptionCache"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 152
    functionDepth: 12
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.OptionHelper].substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 26
    ICount: 11
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:153"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:158"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:157"
        BranchSideFuncs:
        - "substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:158,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:160,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:160,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].addSubstitutionProperty(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 170
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 4
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:171"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:172"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:171"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:171"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:175"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:174"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:175,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:176,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].addSubstitutionProperties(java.util.Properties)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 179
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.Properties"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].addSubstitutionProperty(java.lang.String,java.lang.String)"
    - "[java.util.Properties].keySet()"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.Properties].getProperty(java.lang.String)"
    functionUses: 1
    ICount: 14
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:180"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:183"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:182"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:183"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:188"
        BranchSideFuncs:
        - "addSubstitutionProperty(java.lang.String,java.lang.String)"
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:187"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:183,1"
      Dst: "[java.util.Properties].keySet()"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:183,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:183,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:183,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:185,1"
      Dst: "[java.util.Properties].getProperty(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:186,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].addSubstitutionProperty(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getDefaultNestedComponentRegistry()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 190
    functionDepth: 0
    returnType: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 5
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].addDependencyDefinition(ch.qos.logback.core.model.processor.DependencyDefinition)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 196
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.processor.DependencyDefinition"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:197,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getDependencyDefinitions()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Collections].unmodifiableList(java.util.List)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:201,1"
      Dst: "[java.util.Collections].unmodifiableList(java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getDependeeNamesForModel(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 204
    functionDepth: 1
    returnType: "java.util.List"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.model.processor.DependencyDefinition].getDepender()"
    - "[ch.qos.logback.core.model.processor.DependencyDefinition].getDependee()"
    - "[java.util.ArrayList].<init>()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 2
    ICount: 16
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:206"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:211"
        BranchSideFuncs:
        - "iterator()"
        - "getDepender()"
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:210"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:207"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:210"
        BranchSideFuncs:
        - "getDependee()"
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:209"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:205,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:206,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:206,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:206,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:207,1"
      Dst: "[ch.qos.logback.core.model.processor.DependencyDefinition].getDepender()"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:208,1"
      Dst: "[ch.qos.logback.core.model.processor.DependencyDefinition].getDependee()"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:208,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].hasDependers(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 215
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[java.lang.String].trim()"
    - "[java.lang.String].length()"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 1
    ICount: 20
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:216"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:217"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:216"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:216"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:220"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:219"
        BranchSideFuncs:
        - "iterator()"
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:220"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:225"
        BranchSideFuncs:
        - "iterator()"
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:224"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:221"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:223"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:222"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:216,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:216,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:217,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:220,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:220,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:220,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:221,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].markStartOfNamedDependee(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 229
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:230,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].isNamedDependeeStarted(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 233
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].contains(java.lang.Object)"
    - "[java.util.List].contains(java.lang.Object)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:234,1"
      Dst: "[java.util.List].contains(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getProperty(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 243
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getProperty(java.lang.String)"
    - "[java.util.Map].get(java.lang.Object)"
    - "[ch.qos.logback.core.Context].getProperty(java.lang.String)"
    functionUses: 2
    ICount: 10
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:245"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:248"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:247"
        BranchSideFuncs:
        - "getProperty(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:244,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:248,1"
      Dst: "[ch.qos.logback.core.Context].getProperty(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getCopyOfPropertyMap()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashMap].<init>(java.util.Map)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:254,1"
      Dst: "[java.util.HashMap].<init>(java.util.Map)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].addImport(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 267
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 1
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:268,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getImportMapCopy()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashMap].<init>(java.util.Map)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:272,1"
      Dst: "[java.util.HashMap].<init>(java.util.Map)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getImport(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 287
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map].get(java.lang.Object)"
    functionUses: 9
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:288"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:291"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:290"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:292"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:295"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:294"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:291,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.Tokenizer].<init>(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.subst.Tokenizer"
    linkageType: null
    functionLinenumber: 30
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.lang.String].length()"
    functionUses: 1
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.Tokenizer:31,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.subst.Tokenizer:33,1"
      Dst: "[java.lang.String].length()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.Tokenizer].tokenize()"
    functionSourceFile: "ch.qos.logback.core.subst.Tokenizer"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 3
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.subst.Tokenizer].handleLiteralState(char,java.util.List,java.lang.StringBuilder)"
    - "[ch.qos.logback.core.subst.Tokenizer].handleStartState(char,java.util.List,java.lang.StringBuilder)"
    - "[ch.qos.logback.core.subst.Tokenizer].handleDefaultValueState(char,java.util.List,java.lang.StringBuilder)"
    - "[ch.qos.logback.core.subst.Tokenizer].addLiteralToken(java.util.List,java.lang.StringBuilder)"
    - "[java.util.ArrayList].<init>()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.String].charAt(int)"
    - "[java.lang.Enum].ordinal()"
    - "[java.lang.StringBuilder].append(char)"
    functionUses: 1
    ICount: 38
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.subst.Tokenizer:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Tokenizer:60"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.Tokenizer:59"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.Tokenizer:40,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.core.subst.Tokenizer:41,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.core.subst.Tokenizer:44,1"
      Dst: "[java.lang.String].charAt(int)"
    - Src: "ch.qos.logback.core.subst.Tokenizer:47,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "ch.qos.logback.core.subst.Tokenizer:49,1"
      Dst: "[ch.qos.logback.core.subst.Tokenizer].handleLiteralState(char,java.util.List,java.lang.StringBuilder)"
    - Src: "ch.qos.logback.core.subst.Tokenizer:52,1"
      Dst: "[ch.qos.logback.core.subst.Tokenizer].handleStartState(char,java.util.List,java.lang.StringBuilder)"
    - Src: "ch.qos.logback.core.subst.Tokenizer:55,1"
      Dst: "[ch.qos.logback.core.subst.Tokenizer].handleDefaultValueState(char,java.util.List,java.lang.StringBuilder)"
    - Src: "ch.qos.logback.core.subst.Tokenizer:62,1"
      Dst: "[ch.qos.logback.core.subst.Tokenizer].addLiteralToken(java.util.List,java.lang.StringBuilder)"
    - Src: "ch.qos.logback.core.subst.Tokenizer:66,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 12
    CyclomaticComplexity: 8
  - functionName: "[ch.qos.logback.core.subst.Tokenizer].handleDefaultValueState(char,java.util.List,java.lang.StringBuilder)"
    functionSourceFile: "ch.qos.logback.core.subst.Tokenizer"
    linkageType: null
    functionLinenumber: 78
    functionDepth: 2
    returnType: "void"
    argCount: 3
    argTypes:
    - "char"
    - "java.util.List"
    - "java.lang.StringBuilder"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[ch.qos.logback.core.subst.Tokenizer].addLiteralToken(java.util.List,java.lang.StringBuilder)"
    - "[java.util.List].add(java.lang.Object)"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].setLength(int)"
    functionUses: 1
    ICount: 30
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.Tokenizer:81,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "ch.qos.logback.core.subst.Tokenizer:85,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.core.subst.Tokenizer:86,1"
      Dst: "[ch.qos.logback.core.subst.Tokenizer].addLiteralToken(java.util.List,java.lang.StringBuilder)"
    - Src: "ch.qos.logback.core.subst.Tokenizer:87,1"
      Dst: "[java.lang.StringBuilder].setLength(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.subst.Tokenizer].handleStartState(char,java.util.List,java.lang.StringBuilder)"
    functionSourceFile: "ch.qos.logback.core.subst.Tokenizer"
    linkageType: null
    functionLinenumber: 105
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "char"
    - "java.util.List"
    - "java.lang.StringBuilder"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.util.List].add(java.lang.Object)"
    - "[java.lang.StringBuilder].append(char)"
    functionUses: 1
    ICount: 14
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.subst.Tokenizer:106"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Tokenizer:109"
        BranchSideFuncs:
        - "add(java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.subst.Tokenizer:108"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.Tokenizer:107,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "ch.qos.logback.core.subst.Tokenizer:109,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.subst.Tokenizer].handleLiteralState(char,java.util.List,java.lang.StringBuilder)"
    functionSourceFile: "ch.qos.logback.core.subst.Tokenizer"
    linkageType: null
    functionLinenumber: 114
    functionDepth: 2
    returnType: "void"
    argCount: 3
    argTypes:
    - "char"
    - "java.util.List"
    - "java.lang.StringBuilder"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.subst.Tokenizer].addLiteralToken(java.util.List,java.lang.StringBuilder)"
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.lang.StringBuilder].setLength(int)"
    - "[java.util.List].add(java.lang.Object)"
    - "[java.lang.StringBuilder].append(char)"
    functionUses: 1
    ICount: 28
    EdgeCount: 6
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.Tokenizer:117,1"
      Dst: "[ch.qos.logback.core.subst.Tokenizer].addLiteralToken(java.util.List,java.lang.StringBuilder)"
    - Src: "ch.qos.logback.core.subst.Tokenizer:118,1"
      Dst: "[java.lang.StringBuilder].setLength(int)"
    - Src: "ch.qos.logback.core.subst.Tokenizer:128,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "ch.qos.logback.core.subst.Tokenizer:137,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.subst.Tokenizer].addLiteralToken(java.util.List,java.lang.StringBuilder)"
    functionSourceFile: "ch.qos.logback.core.subst.Tokenizer"
    linkageType: null
    functionLinenumber: 142
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.util.List"
    - "java.lang.StringBuilder"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.subst.Token].<init>(ch.qos.logback.core.subst.Token$Type,java.lang.String)"
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.lang.StringBuilder].length()"
    - "[java.lang.StringBuilder].toString()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 9
    ICount: 12
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.subst.Tokenizer:143"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Tokenizer:145"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.Tokenizer:144"
        BranchSideFuncs:
        - "add(java.lang.Object)"
        - "<init>(ch.qos.logback.core.subst.Token$Type,java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.subst.Tokenizer:143,1"
      Dst: "[java.lang.StringBuilder].length()"
    - Src: "ch.qos.logback.core.subst.Tokenizer:145,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "ch.qos.logback.core.subst.Tokenizer:145,1"
      Dst: "[ch.qos.logback.core.subst.Token].<init>(ch.qos.logback.core.subst.Token$Type,java.lang.String)"
    - Src: "ch.qos.logback.core.subst.Tokenizer:145,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ShutdownHookModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.ShutdownHookModel"
    linkageType: null
    functionLinenumber: 15
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.ComponentModel].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.ShutdownHookModel:16,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ShutdownHookModel].makeNewInstance()"
    functionSourceFile: "ch.qos.logback.core.model.ShutdownHookModel"
    linkageType: null
    functionLinenumber: 21
    functionDepth: 3
    returnType: "ch.qos.logback.core.model.ShutdownHookModel"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.ShutdownHookModel].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.ShutdownHookModel:22,1"
      Dst: "[ch.qos.logback.core.model.ShutdownHookModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ShutdownHookModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.ShutdownHookModel"
    linkageType: null
    functionLinenumber: 15
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.ComponentModel].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.ShutdownHookModel:16,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.sanity.IfNestedWithinSecondPhaseElementSC].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.sanity.IfNestedWithinSecondPhaseElementSC"
    linkageType: null
    functionLinenumber: 16
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.sanity.IfNestedWithinSecondPhaseElementSC:17,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.sanity.IfNestedWithinSecondPhaseElementSC].check(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.classic.joran.sanity.IfNestedWithinSecondPhaseElementSC"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.sanity.SanityChecker].deepFindAllModelsOfType(java.lang.Class,java.util.List,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.joran.sanity.SanityChecker].deepFindNestedSubModelsOfType(java.lang.Class,java.util.List)"
    - "[ch.qos.logback.core.util.COWArrayList].isEmpty()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.model.Model].getLineNumber()"
    - "[ch.qos.logback.core.model.Model].getTag()"
    - "[java.util.ArrayList].<init>()"
    - "[java.util.List].isEmpty()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int,java.lang.String,int)"
    functionUses: 1
    ICount: 32
    EdgeCount: 12
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.joran.sanity.IfNestedWithinSecondPhaseElementSC:23"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.joran.sanity.IfNestedWithinSecondPhaseElementSC:26"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.joran.sanity.IfNestedWithinSecondPhaseElementSC:25"
        BranchSideFuncs:
        - "isEmpty()"
        - "deepFindNestedSubModelsOfType(java.lang.Class,java.util.List)"
        - "deepFindAllModelsOfType(java.lang.Class,java.util.List,ch.qos.logback.core.model.Model)"
    - Branch String: "ch.qos.logback.classic.joran.sanity.IfNestedWithinSecondPhaseElementSC:33"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.joran.sanity.IfNestedWithinSecondPhaseElementSC:36"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.joran.sanity.IfNestedWithinSecondPhaseElementSC:35"
        BranchSideFuncs:
        - "iterator()"
    - Branch String: "ch.qos.logback.classic.joran.sanity.IfNestedWithinSecondPhaseElementSC:38"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.joran.sanity.IfNestedWithinSecondPhaseElementSC:45"
        BranchSideFuncs:
        - "iterator()"
        - "addWarn(java.lang.String)"
        - "getTag()"
        - "getLineNumber()"
      - BranchSide: "ch.qos.logback.classic.joran.sanity.IfNestedWithinSecondPhaseElementSC:44"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.sanity.IfNestedWithinSecondPhaseElementSC:26,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.classic.joran.sanity.IfNestedWithinSecondPhaseElementSC:27,1"
      Dst: "[ch.qos.logback.core.joran.sanity.SanityChecker].deepFindAllModelsOfType(java.lang.Class,java.util.List,ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.classic.joran.sanity.IfNestedWithinSecondPhaseElementSC:31,1"
      Dst: "[ch.qos.logback.core.joran.sanity.SanityChecker].deepFindNestedSubModelsOfType(java.lang.Class,java.util.List)"
    - Src: "ch.qos.logback.classic.joran.sanity.IfNestedWithinSecondPhaseElementSC:33,1"
      Dst: "[java.util.List].isEmpty()"
    - Src: "ch.qos.logback.classic.joran.sanity.IfNestedWithinSecondPhaseElementSC:36,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.classic.joran.sanity.IfNestedWithinSecondPhaseElementSC:38,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.classic.joran.sanity.IfNestedWithinSecondPhaseElementSC:38,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.classic.joran.sanity.IfNestedWithinSecondPhaseElementSC:38,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.classic.joran.sanity.IfNestedWithinSecondPhaseElementSC:40,1"
      Dst: "[ch.qos.logback.core.model.Model].getLineNumber()"
    - Src: "ch.qos.logback.classic.joran.sanity.IfNestedWithinSecondPhaseElementSC:43,1"
      Dst: "[ch.qos.logback.core.model.Model].getTag()"
    - Src: "ch.qos.logback.classic.joran.sanity.IfNestedWithinSecondPhaseElementSC:43,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int,java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 96
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].getLineNumber()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 112
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 8
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].getTag()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 16
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.sanity.IfNestedWithinSecondPhaseElementSC].toString()"
    functionSourceFile: "ch.qos.logback.classic.joran.sanity.IfNestedWithinSecondPhaseElementSC"
    linkageType: null
    functionLinenumber: 48
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.Reporter].<init>()"
    functionSourceFile: "org.slf4j.helpers.Reporter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.Reporter:20,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.Reporter].initTargetChoice()"
    functionSourceFile: "org.slf4j.helpers.Reporter"
    linkageType: null
    functionLinenumber: 69
    functionDepth: 0
    returnType: "org.slf4j.helpers.Reporter$TargetChoice"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].getProperty(java.lang.String)"
    - "[java.lang.String].isEmpty()"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    functionUses: 1
    ICount: 19
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.Reporter:72"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.Reporter:73"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.Reporter:72"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.Reporter:72"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.Reporter:76"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.Reporter:75"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.Reporter:76"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.Reporter:80"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.Reporter:79"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.Reporter:77"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.Reporter:76"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.Reporter:75"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.Reporter:70,1"
      Dst: "[java.lang.System].getProperty(java.lang.String)"
    - Src: "org.slf4j.helpers.Reporter:72,1"
      Dst: "[java.lang.String].isEmpty()"
    - Src: "org.slf4j.helpers.Reporter:77,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 3
  - functionName: "[org.slf4j.helpers.Reporter].initVerbosity()"
    functionSourceFile: "org.slf4j.helpers.Reporter"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 0
    returnType: "org.slf4j.helpers.Reporter$Level"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].getProperty(java.lang.String)"
    - "[java.lang.String].isEmpty()"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    functionUses: 1
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.Reporter:87"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.Reporter:88"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.Reporter:87"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.Reporter:87"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.Reporter:91"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.Reporter:90"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.Reporter:91"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.Reporter:96"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.Reporter:95"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.Reporter:96"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.Reporter:100"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.Reporter:99"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.Reporter:85,1"
      Dst: "[java.lang.System].getProperty(java.lang.String)"
    - Src: "org.slf4j.helpers.Reporter:87,1"
      Dst: "[java.lang.String].isEmpty()"
    - Src: "org.slf4j.helpers.Reporter:91,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.helpers.Reporter].isEnabledFor(org.slf4j.helpers.Reporter$Level)"
    functionSourceFile: "org.slf4j.helpers.Reporter"
    linkageType: null
    functionLinenumber: 103
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "org.slf4j.helpers.Reporter$Level"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.Reporter:104"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.Reporter:103"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.helpers.Reporter].getTarget()"
    functionSourceFile: "org.slf4j.helpers.Reporter"
    linkageType: null
    functionLinenumber: 107
    functionDepth: 0
    returnType: "java.io.PrintStream"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].ordinal()"
    functionUses: 6
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.Reporter:108,1"
      Dst: "[java.lang.Enum].ordinal()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.Reporter].info(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.Reporter"
    linkageType: null
    functionLinenumber: 127
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.Reporter].isEnabledFor(org.slf4j.helpers.Reporter$Level)"
    - "[org.slf4j.helpers.Reporter].getTarget()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.io.PrintStream].println(java.lang.String)"
    functionUses: 2
    ICount: 12
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.Reporter:128"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.Reporter:131"
        BranchSideFuncs:
        - "getTarget()"
      - BranchSide: "org.slf4j.helpers.Reporter:130"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.Reporter:128,1"
      Dst: "[org.slf4j.helpers.Reporter].isEnabledFor(org.slf4j.helpers.Reporter$Level)"
    - Src: "org.slf4j.helpers.Reporter:129,1"
      Dst: "[org.slf4j.helpers.Reporter].getTarget()"
    - Src: "org.slf4j.helpers.Reporter:129,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.slf4j.helpers.Reporter:129,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.slf4j.helpers.Reporter:129,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "org.slf4j.helpers.Reporter:129,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.helpers.Reporter].warn(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.Reporter"
    linkageType: null
    functionLinenumber: 144
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.Reporter].isEnabledFor(org.slf4j.helpers.Reporter$Level)"
    - "[org.slf4j.helpers.Reporter].getTarget()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.io.PrintStream].println(java.lang.String)"
    functionUses: 22
    ICount: 12
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.Reporter:145"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.Reporter:148"
        BranchSideFuncs:
        - "getTarget()"
      - BranchSide: "org.slf4j.helpers.Reporter:147"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.Reporter:145,1"
      Dst: "[org.slf4j.helpers.Reporter].isEnabledFor(org.slf4j.helpers.Reporter$Level)"
    - Src: "org.slf4j.helpers.Reporter:146,1"
      Dst: "[org.slf4j.helpers.Reporter].getTarget()"
    - Src: "org.slf4j.helpers.Reporter:146,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.slf4j.helpers.Reporter:146,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.slf4j.helpers.Reporter:146,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "org.slf4j.helpers.Reporter:146,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.helpers.Reporter].error(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "org.slf4j.helpers.Reporter"
    linkageType: null
    functionLinenumber: 161
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.Reporter].getTarget()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.io.PrintStream].println(java.lang.String)"
    - "[java.lang.Throwable].printStackTrace(java.io.PrintStream)"
    functionUses: 6
    ICount: 14
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.Reporter:162,1"
      Dst: "[org.slf4j.helpers.Reporter].getTarget()"
    - Src: "org.slf4j.helpers.Reporter:162,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.slf4j.helpers.Reporter:162,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.slf4j.helpers.Reporter:162,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "org.slf4j.helpers.Reporter:162,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    - Src: "org.slf4j.helpers.Reporter:164,1"
      Dst: "[java.lang.Throwable].printStackTrace(java.io.PrintStream)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.Reporter].error(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.Reporter"
    linkageType: null
    functionLinenumber: 178
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.Reporter].getTarget()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.io.PrintStream].println(java.lang.String)"
    functionUses: 5
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.Reporter:179,1"
      Dst: "[org.slf4j.helpers.Reporter].getTarget()"
    - Src: "org.slf4j.helpers.Reporter:179,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.slf4j.helpers.Reporter:179,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.slf4j.helpers.Reporter:179,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "org.slf4j.helpers.Reporter:179,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.LogbackMDCAdapterSimple].<init>()"
    functionSourceFile: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.lang.ThreadLocal].<init>()"
    - "[org.slf4j.helpers.ThreadLocalMapOfStacks].<init>()"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:40,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:57,1"
      Dst: "[java.lang.ThreadLocal].<init>()"
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:65,1"
      Dst: "[org.slf4j.helpers.ThreadLocalMapOfStacks].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.LogbackMDCAdapterSimple].duplicateMap(java.util.Map)"
    functionSourceFile: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple"
    linkageType: null
    functionLinenumber: 83
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 1
    argTypes:
    - "java.util.Map"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashMap].<init>(java.util.Map)"
    - "[java.util.HashMap].<init>()"
    functionUses: 2
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:84"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:87"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:86"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:85,1"
      Dst: "[java.util.HashMap].<init>(java.util.Map)"
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:87,1"
      Dst: "[java.util.HashMap].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.LogbackMDCAdapterSimple].put(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.ThreadLocal].get()"
    - "[ch.qos.logback.classic.util.LogbackMDCAdapterSimple].duplicateMap(java.util.Map)"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - "[ch.qos.logback.classic.util.LogbackMDCAdapterSimple].makeUnmodifiableAndThreadLocalSet(java.util.Map)"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:102"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:106"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:105"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:103,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:106,1"
      Dst: "[java.lang.ThreadLocal].get()"
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:107,1"
      Dst: "[ch.qos.logback.classic.util.LogbackMDCAdapterSimple].duplicateMap(java.util.Map)"
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:108,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:109,1"
      Dst: "[ch.qos.logback.classic.util.LogbackMDCAdapterSimple].makeUnmodifiableAndThreadLocalSet(java.util.Map)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.LogbackMDCAdapterSimple].duplicateMap(java.util.Map)"
    functionSourceFile: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple"
    linkageType: null
    functionLinenumber: 83
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 1
    argTypes:
    - "java.util.Map"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashMap].<init>(java.util.Map)"
    - "[java.util.HashMap].<init>()"
    functionUses: 2
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:84"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:87"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:86"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:85,1"
      Dst: "[java.util.HashMap].<init>(java.util.Map)"
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:87,1"
      Dst: "[java.util.HashMap].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.LogbackMDCAdapterSimple].makeUnmodifiableAndThreadLocalSet(java.util.Map)"
    functionSourceFile: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple"
    linkageType: null
    functionLinenumber: 112
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.Map"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Collections].unmodifiableMap(java.util.Map)"
    - "[java.lang.ThreadLocal].set(java.lang.Object)"
    functionUses: 1
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:113,1"
      Dst: "[java.util.Collections].unmodifiableMap(java.util.Map)"
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:114,1"
      Dst: "[java.lang.ThreadLocal].set(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.LogbackMDCAdapterSimple].makeUnmodifiableAndThreadLocalSet(java.util.Map)"
    functionSourceFile: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple"
    linkageType: null
    functionLinenumber: 112
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.Map"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Collections].unmodifiableMap(java.util.Map)"
    - "[java.lang.ThreadLocal].set(java.lang.Object)"
    functionUses: 1
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:113,1"
      Dst: "[java.util.Collections].unmodifiableMap(java.util.Map)"
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:114,1"
      Dst: "[java.lang.ThreadLocal].set(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.LogbackMDCAdapterSimple].remove(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple"
    linkageType: null
    functionLinenumber: 121
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.util.LogbackMDCAdapterSimple].duplicateMap(java.util.Map)"
    - "[ch.qos.logback.classic.util.LogbackMDCAdapterSimple].makeUnmodifiableAndThreadLocalSet(java.util.Map)"
    - "[java.lang.ThreadLocal].get()"
    - "[java.util.Map].remove(java.lang.Object)"
    functionUses: 1
    ICount: 13
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:122"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:125"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:124"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:126"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:129"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:128"
        BranchSideFuncs:
        - "makeUnmodifiableAndThreadLocalSet(java.util.Map)"
        - "duplicateMap(java.util.Map)"
    Callsites:
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:125,1"
      Dst: "[java.lang.ThreadLocal].get()"
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:129,1"
      Dst: "[ch.qos.logback.classic.util.LogbackMDCAdapterSimple].duplicateMap(java.util.Map)"
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:130,1"
      Dst: "[java.util.Map].remove(java.lang.Object)"
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:131,1"
      Dst: "[ch.qos.logback.classic.util.LogbackMDCAdapterSimple].makeUnmodifiableAndThreadLocalSet(java.util.Map)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.LogbackMDCAdapterSimple].duplicateMap(java.util.Map)"
    functionSourceFile: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple"
    linkageType: null
    functionLinenumber: 83
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 1
    argTypes:
    - "java.util.Map"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashMap].<init>(java.util.Map)"
    - "[java.util.HashMap].<init>()"
    functionUses: 2
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:84"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:87"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:86"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:85,1"
      Dst: "[java.util.HashMap].<init>(java.util.Map)"
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:87,1"
      Dst: "[java.util.HashMap].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.LogbackMDCAdapterSimple].makeUnmodifiableAndThreadLocalSet(java.util.Map)"
    functionSourceFile: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple"
    linkageType: null
    functionLinenumber: 112
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.Map"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Collections].unmodifiableMap(java.util.Map)"
    - "[java.lang.ThreadLocal].set(java.lang.Object)"
    functionUses: 1
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:113,1"
      Dst: "[java.util.Collections].unmodifiableMap(java.util.Map)"
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:114,1"
      Dst: "[java.lang.ThreadLocal].set(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.LogbackMDCAdapterSimple].clear()"
    functionSourceFile: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ThreadLocal].remove()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:138,1"
      Dst: "[java.lang.ThreadLocal].remove()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.LogbackMDCAdapterSimple].get(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple"
    linkageType: null
    functionLinenumber: 145
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ThreadLocal].get()"
    - "[java.util.Map].get(java.lang.Object)"
    functionUses: 1
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:147"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:150"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:149"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:147"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:150"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:149"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:146,1"
      Dst: "[java.lang.ThreadLocal].get()"
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:148,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.util.LogbackMDCAdapterSimple].getPropertyMap()"
    functionSourceFile: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ThreadLocal].get()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:159,1"
      Dst: "[java.lang.ThreadLocal].get()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.LogbackMDCAdapterSimple].getKeys()"
    functionSourceFile: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.Set"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.util.LogbackMDCAdapterSimple].getPropertyMap()"
    - "[java.util.Map].keySet()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:168"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:171"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:170"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:166,1"
      Dst: "[ch.qos.logback.classic.util.LogbackMDCAdapterSimple].getPropertyMap()"
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:169,1"
      Dst: "[java.util.Map].keySet()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.LogbackMDCAdapterSimple].getPropertyMap()"
    functionSourceFile: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ThreadLocal].get()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:159,1"
      Dst: "[java.lang.ThreadLocal].get()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.LogbackMDCAdapterSimple].getCopyOfContextMap()"
    functionSourceFile: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple"
    linkageType: null
    functionLinenumber: 179
    functionDepth: 1
    returnType: "java.util.Map"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.util.LogbackMDCAdapterSimple].duplicateMap(java.util.Map)"
    - "[java.lang.ThreadLocal].get()"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:180,1"
      Dst: "[java.lang.ThreadLocal].get()"
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:181,1"
      Dst: "[ch.qos.logback.classic.util.LogbackMDCAdapterSimple].duplicateMap(java.util.Map)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.LogbackMDCAdapterSimple].duplicateMap(java.util.Map)"
    functionSourceFile: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple"
    linkageType: null
    functionLinenumber: 83
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 1
    argTypes:
    - "java.util.Map"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashMap].<init>(java.util.Map)"
    - "[java.util.HashMap].<init>()"
    functionUses: 2
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:84"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:87"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:86"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:85,1"
      Dst: "[java.util.HashMap].<init>(java.util.Map)"
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:87,1"
      Dst: "[java.util.HashMap].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.LogbackMDCAdapterSimple].setContextMap(java.util.Map)"
    functionSourceFile: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.Map"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.util.LogbackMDCAdapterSimple].duplicateMap(java.util.Map)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:190,1"
      Dst: "[ch.qos.logback.classic.util.LogbackMDCAdapterSimple].duplicateMap(java.util.Map)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.LogbackMDCAdapterSimple].duplicateMap(java.util.Map)"
    functionSourceFile: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple"
    linkageType: null
    functionLinenumber: 83
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 1
    argTypes:
    - "java.util.Map"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashMap].<init>(java.util.Map)"
    - "[java.util.HashMap].<init>()"
    functionUses: 2
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:84"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:87"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:86"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:85,1"
      Dst: "[java.util.HashMap].<init>(java.util.Map)"
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:87,1"
      Dst: "[java.util.HashMap].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.LogbackMDCAdapterSimple].pushByKey(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.ThreadLocalMapOfStacks].pushByKey(java.lang.String,java.lang.String)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:195,1"
      Dst: "[org.slf4j.helpers.ThreadLocalMapOfStacks].pushByKey(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.ThreadLocalMapOfStacks].pushByKey(java.lang.String,java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.ThreadLocalMapOfStacks"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ThreadLocal].get()"
    - "[java.util.HashMap].<init>()"
    - "[java.lang.ThreadLocal].set(java.lang.Object)"
    - "[java.util.Map].get(java.lang.Object)"
    - "[java.util.ArrayDeque].<init>()"
    - "[java.util.Deque].push(java.lang.Object)"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 0
    ICount: 27
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.ThreadLocalMapOfStacks:24"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:27"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:26"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.ThreadLocalMapOfStacks:29"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:null"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.ThreadLocalMapOfStacks:35"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:null"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:27,1"
      Dst: "[java.lang.ThreadLocal].get()"
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:30,1"
      Dst: "[java.util.HashMap].<init>()"
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:31,1"
      Dst: "[java.lang.ThreadLocal].set(java.lang.Object)"
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:34,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:36,1"
      Dst: "[java.util.ArrayDeque].<init>()"
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:38,1"
      Dst: "[java.util.Deque].push(java.lang.Object)"
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:39,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.util.LogbackMDCAdapterSimple].popByKey(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.ThreadLocalMapOfStacks].popByKey(java.lang.String)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:200,1"
      Dst: "[org.slf4j.helpers.ThreadLocalMapOfStacks].popByKey(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.ThreadLocalMapOfStacks].popByKey(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.ThreadLocalMapOfStacks"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ThreadLocal].get()"
    - "[java.util.Map].get(java.lang.Object)"
    - "[java.util.Deque].pop()"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.ThreadLocalMapOfStacks:43"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:46"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:45"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.ThreadLocalMapOfStacks:47"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:49"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:48"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.ThreadLocalMapOfStacks:50"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:52"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:51"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:46,1"
      Dst: "[java.lang.ThreadLocal].get()"
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:49,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:52,1"
      Dst: "[java.util.Deque].pop()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.LogbackMDCAdapterSimple].getCopyOfDequeByKey(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.Deque"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.ThreadLocalMapOfStacks].getCopyOfDequeByKey(java.lang.String)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:205,1"
      Dst: "[org.slf4j.helpers.ThreadLocalMapOfStacks].getCopyOfDequeByKey(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.ThreadLocalMapOfStacks].getCopyOfDequeByKey(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.ThreadLocalMapOfStacks"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.util.Deque"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ThreadLocal].get()"
    - "[java.util.Map].get(java.lang.Object)"
    - "[java.util.ArrayDeque].<init>(java.util.Collection)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.ThreadLocalMapOfStacks:56"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:59"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:58"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.ThreadLocalMapOfStacks:60"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:62"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:61"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.ThreadLocalMapOfStacks:63"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:66"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:65"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:59,1"
      Dst: "[java.lang.ThreadLocal].get()"
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:62,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:66,1"
      Dst: "[java.util.ArrayDeque].<init>(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.LogbackMDCAdapterSimple].clearDequeByKey(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.ThreadLocalMapOfStacks].clearDequeByKey(java.lang.String)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapterSimple:209,1"
      Dst: "[org.slf4j.helpers.ThreadLocalMapOfStacks].clearDequeByKey(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.ThreadLocalMapOfStacks].clearDequeByKey(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.ThreadLocalMapOfStacks"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ThreadLocal].get()"
    - "[java.util.Map].get(java.lang.Object)"
    - "[java.util.Collection].clear()"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.ThreadLocalMapOfStacks:77"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:80"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:79"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.ThreadLocalMapOfStacks:81"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:83"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:82"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.ThreadLocalMapOfStacks:84"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:86"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:85"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:80,1"
      Dst: "[java.lang.ThreadLocal].get()"
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:83,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:86,1"
      Dst: "[java.util.Collection].clear()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.encoder.NonClosableInputStream].<init>(java.io.InputStream)"
    functionSourceFile: "ch.qos.logback.core.encoder.NonClosableInputStream"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.InputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.FilterInputStream].<init>(java.io.InputStream)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.encoder.NonClosableInputStream:23,1"
      Dst: "[java.io.FilterInputStream].<init>(java.io.InputStream)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.encoder.NonClosableInputStream].close()"
    functionSourceFile: "ch.qos.logback.core.encoder.NonClosableInputStream"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 10
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.encoder.NonClosableInputStream].realClose()"
    functionSourceFile: "ch.qos.logback.core.encoder.NonClosableInputStream"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.FilterInputStream].close()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.encoder.NonClosableInputStream:35,1"
      Dst: "[java.io.FilterInputStream].close()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.recovery.RecoveryCoordinator].<init>()"
    functionSourceFile: "ch.qos.logback.core.recovery.RecoveryCoordinator"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.recovery.RecoveryCoordinator].getBackoffCoefficient()"
    - "[ch.qos.logback.core.recovery.RecoveryCoordinator].getCurrentTime()"
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 10
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.recovery.RecoveryCoordinator:29,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.recovery.RecoveryCoordinator:30,1"
      Dst: "[ch.qos.logback.core.recovery.RecoveryCoordinator].getCurrentTime()"
    - Src: "ch.qos.logback.core.recovery.RecoveryCoordinator:30,1"
      Dst: "[ch.qos.logback.core.recovery.RecoveryCoordinator].getBackoffCoefficient()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.recovery.RecoveryCoordinator].<init>(long)"
    functionSourceFile: "ch.qos.logback.core.recovery.RecoveryCoordinator"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[ch.qos.logback.core.recovery.RecoveryCoordinator].getCurrentTime()"
    - "[ch.qos.logback.core.recovery.RecoveryCoordinator].getBackoffCoefficient()"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.recovery.RecoveryCoordinator:33,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.recovery.RecoveryCoordinator:35,1"
      Dst: "[ch.qos.logback.core.recovery.RecoveryCoordinator].getCurrentTime()"
    - Src: "ch.qos.logback.core.recovery.RecoveryCoordinator:35,1"
      Dst: "[ch.qos.logback.core.recovery.RecoveryCoordinator].getBackoffCoefficient()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.recovery.RecoveryCoordinator].isTooSoon()"
    functionSourceFile: "ch.qos.logback.core.recovery.RecoveryCoordinator"
    linkageType: null
    functionLinenumber: 38
    functionDepth: 1
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.recovery.RecoveryCoordinator].getCurrentTime()"
    - "[ch.qos.logback.core.recovery.RecoveryCoordinator].getBackoffCoefficient()"
    functionUses: 2
    ICount: 11
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.recovery.RecoveryCoordinator:40"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.recovery.RecoveryCoordinator:44"
        BranchSideFuncs:
        - "getBackoffCoefficient()"
      - BranchSide: "ch.qos.logback.core.recovery.RecoveryCoordinator:43"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.recovery.RecoveryCoordinator:39,1"
      Dst: "[ch.qos.logback.core.recovery.RecoveryCoordinator].getCurrentTime()"
    - Src: "ch.qos.logback.core.recovery.RecoveryCoordinator:41,1"
      Dst: "[ch.qos.logback.core.recovery.RecoveryCoordinator].getBackoffCoefficient()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.recovery.RecoveryCoordinator].getCurrentTime()"
    functionSourceFile: "ch.qos.logback.core.recovery.RecoveryCoordinator"
    linkageType: null
    functionLinenumber: 52
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].currentTimeMillis()"
    functionUses: 2
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.recovery.RecoveryCoordinator:53"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.recovery.RecoveryCoordinator:56"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.recovery.RecoveryCoordinator:55"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.recovery.RecoveryCoordinator:56,1"
      Dst: "[java.lang.System].currentTimeMillis()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.recovery.RecoveryCoordinator].getBackoffCoefficient()"
    functionSourceFile: "ch.qos.logback.core.recovery.RecoveryCoordinator"
    linkageType: null
    functionLinenumber: 59
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.recovery.RecoveryCoordinator:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.recovery.RecoveryCoordinator:64"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.recovery.RecoveryCoordinator:63"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.recovery.RecoveryCoordinator].setCurrentTime(long)"
    functionSourceFile: "ch.qos.logback.core.recovery.RecoveryCoordinator"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.recovery.RecoveryCoordinator].getCurrentTime()"
    functionSourceFile: "ch.qos.logback.core.recovery.RecoveryCoordinator"
    linkageType: null
    functionLinenumber: 52
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].currentTimeMillis()"
    functionUses: 2
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.recovery.RecoveryCoordinator:53"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.recovery.RecoveryCoordinator:56"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.recovery.RecoveryCoordinator:55"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.recovery.RecoveryCoordinator:56,1"
      Dst: "[java.lang.System].currentTimeMillis()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.recovery.RecoveryCoordinator].getBackoffCoefficient()"
    functionSourceFile: "ch.qos.logback.core.recovery.RecoveryCoordinator"
    linkageType: null
    functionLinenumber: 59
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.recovery.RecoveryCoordinator:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.recovery.RecoveryCoordinator:64"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.recovery.RecoveryCoordinator:63"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.html.UrlCssBuilder].<init>()"
    functionSourceFile: "ch.qos.logback.classic.html.UrlCssBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.html.UrlCssBuilder:25,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.html.UrlCssBuilder].getUrl()"
    functionSourceFile: "ch.qos.logback.classic.html.UrlCssBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.html.UrlCssBuilder].setUrl(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.html.UrlCssBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.html.UrlCssBuilder].addCss(java.lang.StringBuilder)"
    functionSourceFile: "ch.qos.logback.classic.html.UrlCssBuilder"
    linkageType: null
    functionLinenumber: 37
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.StringBuilder"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 1
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.html.UrlCssBuilder:38,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.ExecutorServiceUtil].<init>()"
    functionSourceFile: "ch.qos.logback.core.util.ExecutorServiceUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.ExecutorServiceUtil:36,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.ExecutorServiceUtil].newScheduledExecutorService()"
    functionSourceFile: "ch.qos.logback.core.util.ExecutorServiceUtil"
    linkageType: null
    functionLinenumber: 82
    functionDepth: 0
    returnType: "java.util.concurrent.ScheduledExecutorService"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.ScheduledThreadPoolExecutor].<init>(int,java.util.concurrent.ThreadFactory)"
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.ExecutorServiceUtil:83,1"
      Dst: "[java.util.concurrent.ScheduledThreadPoolExecutor].<init>(int,java.util.concurrent.ThreadFactory)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.ExecutorServiceUtil].newExecutorService()"
    functionSourceFile: "ch.qos.logback.core.util.ExecutorServiceUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.concurrent.ExecutorService"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.ExecutorServiceUtil].newThreadPoolExecutor()"
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.ExecutorServiceUtil:91,1"
      Dst: "[ch.qos.logback.core.util.ExecutorServiceUtil].newThreadPoolExecutor()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.ExecutorServiceUtil].newThreadPoolExecutor()"
    functionSourceFile: "ch.qos.logback.core.util.ExecutorServiceUtil"
    linkageType: null
    functionLinenumber: 101
    functionDepth: 0
    returnType: "java.util.concurrent.ThreadPoolExecutor"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.SynchronousQueue].<init>()"
    - "[java.util.concurrent.ThreadPoolExecutor].<init>(int,int,long,java.util.concurrent.TimeUnit,java.util.concurrent.BlockingQueue,java.util.concurrent.ThreadFactory)"
    functionUses: 3
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.ExecutorServiceUtil:102,1"
      Dst: "[java.util.concurrent.SynchronousQueue].<init>()"
    - Src: "ch.qos.logback.core.util.ExecutorServiceUtil:102,1"
      Dst: "[java.util.concurrent.ThreadPoolExecutor].<init>(int,int,long,java.util.concurrent.TimeUnit,java.util.concurrent.BlockingQueue,java.util.concurrent.ThreadFactory)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.ExecutorServiceUtil].newThreadPoolExecutor()"
    functionSourceFile: "ch.qos.logback.core.util.ExecutorServiceUtil"
    linkageType: null
    functionLinenumber: 101
    functionDepth: 0
    returnType: "java.util.concurrent.ThreadPoolExecutor"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.SynchronousQueue].<init>()"
    - "[java.util.concurrent.ThreadPoolExecutor].<init>(int,int,long,java.util.concurrent.TimeUnit,java.util.concurrent.BlockingQueue,java.util.concurrent.ThreadFactory)"
    functionUses: 3
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.ExecutorServiceUtil:102,1"
      Dst: "[java.util.concurrent.SynchronousQueue].<init>()"
    - Src: "ch.qos.logback.core.util.ExecutorServiceUtil:102,1"
      Dst: "[java.util.concurrent.ThreadPoolExecutor].<init>(int,int,long,java.util.concurrent.TimeUnit,java.util.concurrent.BlockingQueue,java.util.concurrent.ThreadFactory)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.ExecutorServiceUtil].shutdown(java.util.concurrent.ExecutorService)"
    functionSourceFile: "ch.qos.logback.core.util.ExecutorServiceUtil"
    linkageType: null
    functionLinenumber: 112
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.concurrent.ExecutorService"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.ExecutorService].shutdownNow()"
    functionUses: 2
    ICount: 4
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.ExecutorServiceUtil:113"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.ExecutorServiceUtil:116"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.ExecutorServiceUtil:115"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.ExecutorServiceUtil:114,1"
      Dst: "[java.util.concurrent.ExecutorService].shutdownNow()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.ExecutorServiceUtil].newAlternateThreadPoolExecutor()"
    functionSourceFile: "ch.qos.logback.core.util.ExecutorServiceUtil"
    linkageType: null
    functionLinenumber: 125
    functionDepth: 3
    returnType: "java.util.concurrent.ExecutorService"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.EnvUtil].isJDK21OrHigher()"
    - "[ch.qos.logback.core.util.ExecutorServiceUtil].newThreadPoolExecutor()"
    - "[java.lang.Class].getMethod(java.lang.String,java.lang.Class[])"
    - "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    functionUses: 1
    ICount: 14
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.ExecutorServiceUtil:126"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.ExecutorServiceUtil:133"
        BranchSideFuncs:
        - "newThreadPoolExecutor()"
    Callsites:
    - Src: "ch.qos.logback.core.util.ExecutorServiceUtil:126,1"
      Dst: "[ch.qos.logback.core.util.EnvUtil].isJDK21OrHigher()"
    - Src: "ch.qos.logback.core.util.ExecutorServiceUtil:128,1"
      Dst: "[java.lang.Class].getMethod(java.lang.String,java.lang.Class[])"
    - Src: "ch.qos.logback.core.util.ExecutorServiceUtil:129,1"
      Dst: "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    - Src: "ch.qos.logback.core.util.ExecutorServiceUtil:131,1"
      Dst: "[ch.qos.logback.core.util.ExecutorServiceUtil].newThreadPoolExecutor()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.SMTPAppenderBase$SenderRunnable].<init>(ch.qos.logback.core.net.SMTPAppenderBase,ch.qos.logback.core.helpers.CyclicBuffer,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.net.SMTPAppenderBase$SenderRunnable"
    linkageType: null
    functionLinenumber: 675
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.net.SMTPAppenderBase"
    - "ch.qos.logback.core.helpers.CyclicBuffer"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.SMTPAppenderBase$SenderRunnable:676,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.SMTPAppenderBase$SenderRunnable].run()"
    functionSourceFile: "ch.qos.logback.core.net.SMTPAppenderBase$SenderRunnable"
    linkageType: null
    functionLinenumber: 681
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.SMTPAppenderBase].sendBuffer(ch.qos.logback.core.helpers.CyclicBuffer,java.lang.Object)"
    functionUses: 2
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.SMTPAppenderBase$SenderRunnable:682,1"
      Dst: "[ch.qos.logback.core.net.SMTPAppenderBase].sendBuffer(ch.qos.logback.core.helpers.CyclicBuffer,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__74].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__74"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__74].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__74:-1,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__74].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__74].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__74"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__74:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__74].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__74"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.EventEvaluatorModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__74:-1,1"
      Dst: "[ch.qos.logback.core.model.processor.EventEvaluatorModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.EventEvaluatorModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler"
    linkageType: null
    functionLinenumber: 25
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.EventEvaluatorModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:26,1"
      Dst: "[ch.qos.logback.core.model.processor.EventEvaluatorModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.EventEvaluatorModelHandler].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler"
    linkageType: null
    functionLinenumber: 21
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:22,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.BodyEvent].<init>(java.lang.String,org.xml.sax.Locator)"
    functionSourceFile: "ch.qos.logback.core.joran.event.BodyEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "org.xml.sax.Locator"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.event.SaxEvent].<init>(java.lang.String,java.lang.String,java.lang.String,org.xml.sax.Locator)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.BodyEvent:23,1"
      Dst: "[ch.qos.logback.core.joran.event.SaxEvent].<init>(java.lang.String,java.lang.String,java.lang.String,org.xml.sax.Locator)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.BodyEvent].getText()"
    functionSourceFile: "ch.qos.logback.core.joran.event.BodyEvent"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    functionUses: 2
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.event.BodyEvent:33"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.event.BodyEvent:36"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.event.BodyEvent:35"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.BodyEvent:34,1"
      Dst: "[java.lang.String].trim()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.BodyEvent].toString()"
    functionSourceFile: "ch.qos.logback.core.joran.event.BodyEvent"
    linkageType: null
    functionLinenumber: 40
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.xml.sax.helpers.LocatorImpl].getColumnNumber()"
    - "[org.xml.sax.helpers.LocatorImpl].getLineNumber()"
    - "[ch.qos.logback.core.joran.event.BodyEvent].getText()"
    - "[org.xml.sax.Locator].getLineNumber()"
    - "[org.xml.sax.Locator].getColumnNumber()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int,int)"
    functionUses: 3
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.BodyEvent:41,1"
      Dst: "[ch.qos.logback.core.joran.event.BodyEvent].getText()"
    - Src: "ch.qos.logback.core.joran.event.BodyEvent:41,1"
      Dst: "[org.xml.sax.Locator].getLineNumber()"
    - Src: "ch.qos.logback.core.joran.event.BodyEvent:41,1"
      Dst: "[org.xml.sax.Locator].getColumnNumber()"
    - Src: "ch.qos.logback.core.joran.event.BodyEvent:41,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.BodyEvent].getText()"
    functionSourceFile: "ch.qos.logback.core.joran.event.BodyEvent"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    functionUses: 2
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.event.BodyEvent:33"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.event.BodyEvent:36"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.event.BodyEvent:35"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.BodyEvent:34,1"
      Dst: "[java.lang.String].trim()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.BodyEvent].append(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.event.BodyEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.BodyEvent:45,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.LoggingEventPreSerializationTransformer].<init>()"
    functionSourceFile: "ch.qos.logback.classic.net.LoggingEventPreSerializationTransformer"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.LoggingEventPreSerializationTransformer:23,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.LoggingEventPreSerializationTransformer].transform(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.net.LoggingEventPreSerializationTransformer"
    linkageType: null
    functionLinenumber: 25
    functionDepth: 3
    returnType: "java.io.Serializable"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEventVO].build(ch.qos.logback.classic.spi.ILoggingEvent)"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 18
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.net.LoggingEventPreSerializationTransformer:26"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.LoggingEventPreSerializationTransformer:29"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.net.LoggingEventPreSerializationTransformer:28"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.net.LoggingEventPreSerializationTransformer:29"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.LoggingEventPreSerializationTransformer:31"
        BranchSideFuncs:
        - "build(ch.qos.logback.classic.spi.ILoggingEvent)"
      - BranchSide: "ch.qos.logback.classic.net.LoggingEventPreSerializationTransformer:30"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.net.LoggingEventPreSerializationTransformer:31"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.LoggingEventPreSerializationTransformer:34"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.net.LoggingEventPreSerializationTransformer:33"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.LoggingEventPreSerializationTransformer:30,1"
      Dst: "[ch.qos.logback.classic.spi.LoggingEventVO].build(ch.qos.logback.classic.spi.ILoggingEvent)"
    - Src: "ch.qos.logback.classic.net.LoggingEventPreSerializationTransformer:34,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.classic.net.LoggingEventPreSerializationTransformer:34,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.classic.net.LoggingEventPreSerializationTransformer:34,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.net.LoggingEventPreSerializationTransformer:34,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEventVO].build(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEventVO"
    linkageType: null
    functionLinenumber: 73
    functionDepth: 2
    returnType: "ch.qos.logback.classic.spi.LoggingEventVO"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEventVO].<init>()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getLoggerName()"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getLoggerContextVO()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getThreadName()"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getLevel()"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getMessage()"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getArgumentArray()"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getMarkerList()"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getKeyValuePairs()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getMDCPropertyMap()"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getTimeStamp()"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getNanoseconds()"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getSequenceNumber()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].build(ch.qos.logback.classic.spi.IThrowableProxy)"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getThrowableProxy()"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].hasCallerData()"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getCallerData()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerName()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerContextVO()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getThreadName()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getMessage()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getArgumentArray()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getMarkerList()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getKeyValuePairs()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getMDCPropertyMap()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getTimeStamp()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getNanoseconds()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getSequenceNumber()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getThrowableProxy()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].hasCallerData()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getCallerData()"
    functionUses: 1
    ICount: 35
    EdgeCount: 18
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.LoggingEventVO:90"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:93"
        BranchSideFuncs:
        - "getCallerData()"
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:92"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:74,1"
      Dst: "[ch.qos.logback.classic.spi.LoggingEventVO].<init>()"
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:75,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerName()"
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:76,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerContextVO()"
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:77,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getThreadName()"
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:78,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:79,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getMessage()"
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:80,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getArgumentArray()"
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:81,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getMarkerList()"
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:82,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getKeyValuePairs()"
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:83,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getMDCPropertyMap()"
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:84,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getTimeStamp()"
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:85,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getNanoseconds()"
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:86,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getSequenceNumber()"
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:87,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getThrowableProxy()"
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:87,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxyVO].build(ch.qos.logback.classic.spi.IThrowableProxy)"
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:90,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].hasCallerData()"
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:91,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getCallerData()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.LoggingEventVO].<init>()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEventVO"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:40,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxyVO].build(ch.qos.logback.classic.spi.IThrowableProxy)"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxyVO"
    linkageType: null
    functionLinenumber: 98
    functionDepth: 1
    returnType: "ch.qos.logback.classic.spi.ThrowableProxyVO"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.IThrowableProxy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].<init>()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].getClassName()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy:ch.qos.logback.classic.spi.ThrowableProxyVO].getMessage()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy:ch.qos.logback.classic.spi.ThrowableProxyVO].getCommonFrames()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy:ch.qos.logback.classic.spi.ThrowableProxyVO].getStackTraceElementProxyArray()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy:ch.qos.logback.classic.spi.ThrowableProxyVO].isCyclic()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy:ch.qos.logback.classic.spi.ThrowableProxyVO].getCause()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].build(ch.qos.logback.classic.spi.IThrowableProxy)"
    - "[ch.qos.logback.classic.spi.ThrowableProxy:ch.qos.logback.classic.spi.ThrowableProxyVO].getSuppressed()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getClassName()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getMessage()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getCommonFrames()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getStackTraceElementProxyArray()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].isCyclic()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getCause()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getSuppressed()"
    functionUses: 3
    ICount: 34
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyVO:99"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyVO:102"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyVO:101"
        BranchSideFuncs:
        - "<init>()"
        - "isCyclic()"
        - "getStackTraceElementProxyArray()"
        - "getClassName()"
        - "getCommonFrames()"
        - "getCause()"
        - "getMessage()"
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyVO:110"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyVO:113"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyVO:112"
        BranchSideFuncs:
        - "getSuppressed()"
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyVO:114"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyVO:121"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyVO:120"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyVO:116"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyVO:120"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyVO:102,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxyVO].<init>()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyVO:103,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getClassName()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyVO:104,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getMessage()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyVO:105,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getCommonFrames()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyVO:106,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getStackTraceElementProxyArray()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyVO:107,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].isCyclic()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyVO:109,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getCause()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyVO:111,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxyVO].build(ch.qos.logback.classic.spi.IThrowableProxy)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyVO:113,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getSuppressed()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxyVO].<init>()"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxyVO"
    linkageType: null
    functionLinenumber: 18
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyVO:19,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.LoggingEventPreSerializationTransformer].transform(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.net.LoggingEventPreSerializationTransformer"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 4
    returnType: "java.io.Serializable"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.net.LoggingEventPreSerializationTransformer].transform(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.LoggingEventPreSerializationTransformer:23,1"
      Dst: "[ch.qos.logback.classic.net.LoggingEventPreSerializationTransformer].transform(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.LoggingEventPreSerializationTransformer].transform(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.net.LoggingEventPreSerializationTransformer"
    linkageType: null
    functionLinenumber: 25
    functionDepth: 3
    returnType: "java.io.Serializable"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEventVO].build(ch.qos.logback.classic.spi.ILoggingEvent)"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 18
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.net.LoggingEventPreSerializationTransformer:26"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.LoggingEventPreSerializationTransformer:29"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.net.LoggingEventPreSerializationTransformer:28"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.net.LoggingEventPreSerializationTransformer:29"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.LoggingEventPreSerializationTransformer:31"
        BranchSideFuncs:
        - "build(ch.qos.logback.classic.spi.ILoggingEvent)"
      - BranchSide: "ch.qos.logback.classic.net.LoggingEventPreSerializationTransformer:30"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.net.LoggingEventPreSerializationTransformer:31"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.LoggingEventPreSerializationTransformer:34"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.net.LoggingEventPreSerializationTransformer:33"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.LoggingEventPreSerializationTransformer:30,1"
      Dst: "[ch.qos.logback.classic.spi.LoggingEventVO].build(ch.qos.logback.classic.spi.ILoggingEvent)"
    - Src: "ch.qos.logback.classic.net.LoggingEventPreSerializationTransformer:34,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.classic.net.LoggingEventPreSerializationTransformer:34,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.classic.net.LoggingEventPreSerializationTransformer:34,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.net.LoggingEventPreSerializationTransformer:34,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.TimestampModelHandler].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.model.processor.TimestampModelHandler"
    linkageType: null
    functionLinenumber: 30
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.TimestampModelHandler:31,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.TimestampModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.TimestampModelHandler"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.TimestampModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.TimestampModelHandler:35,1"
      Dst: "[ch.qos.logback.core.model.processor.TimestampModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.TimestampModelHandler].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.model.processor.TimestampModelHandler"
    linkageType: null
    functionLinenumber: 30
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.TimestampModelHandler:31,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.TimestampModelHandler].getSupportedModelClass()"
    functionSourceFile: "ch.qos.logback.core.model.processor.TimestampModelHandler"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 0
    returnType: "java.lang.Class"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.TimestampModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.TimestampModelHandler"
    linkageType: null
    functionLinenumber: 44
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.TimestampModel].getKey()"
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.model.TimestampModel].getDatePattern()"
    - "[ch.qos.logback.core.model.TimestampModel].getTimeReference()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.ContextBase].getBirthTime()"
    - "[ch.qos.logback.core.model.TimestampModel].getScopeStr()"
    - "[ch.qos.logback.core.joran.action.ActionUtil].stringToScope(java.lang.String)"
    - "[ch.qos.logback.core.util.CachingDateFormatter].<init>(java.lang.String)"
    - "[ch.qos.logback.core.util.CachingDateFormatter].format(long)"
    - "[ch.qos.logback.core.joran.action.ActionUtil].setProperty(ch.qos.logback.core.model.processor.ModelInterpretationContext,java.lang.String,java.lang.String,ch.qos.logback.core.joran.action.ActionUtil$Scope)"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - "[ch.qos.logback.core.Context].getBirthTime()"
    - "[java.lang.System].currentTimeMillis()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,ch.qos.logback.core.joran.action.ActionUtil$Scope)"
    functionUses: 3
    ICount: 36
    EdgeCount: 16
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.TimestampModelHandler:47"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.TimestampModelHandler:51"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.TimestampModelHandler:50"
        BranchSideFuncs:
        - "isNullOrEmptyOrAllSpaces(java.lang.String)"
        - "getDatePattern()"
    - Branch String: "ch.qos.logback.core.model.processor.TimestampModelHandler:52"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.TimestampModelHandler:57"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.model.processor.TimestampModelHandler:56"
        BranchSideFuncs:
        - "getTimeReference()"
    - Branch String: "ch.qos.logback.core.model.processor.TimestampModelHandler:59"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.TimestampModelHandler:63"
        BranchSideFuncs:
        - "getBirthTime()"
      - BranchSide: "ch.qos.logback.core.model.processor.TimestampModelHandler:62"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.TimestampModelHandler:67"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.TimestampModelHandler:70"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.TimestampModelHandler:69"
        BranchSideFuncs:
        - "getScopeStr()"
        - "stringToScope(java.lang.String)"
        - "format(long)"
        - "setProperty(ch.qos.logback.core.model.processor.ModelInterpretationContext,java.lang.String,java.lang.String,ch.qos.logback.core.joran.action.ActionUtil$Scope)"
        - "<init>(java.lang.String)"
        - "addInfo(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.TimestampModelHandler:46,1"
      Dst: "[ch.qos.logback.core.model.TimestampModel].getKey()"
    - Src: "ch.qos.logback.core.model.processor.TimestampModelHandler:47,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.TimestampModelHandler:48,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.TimestampModelHandler:51,1"
      Dst: "[ch.qos.logback.core.model.TimestampModel].getDatePattern()"
    - Src: "ch.qos.logback.core.model.processor.TimestampModelHandler:57,1"
      Dst: "[ch.qos.logback.core.model.TimestampModel].getTimeReference()"
    - Src: "ch.qos.logback.core.model.processor.TimestampModelHandler:59,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.TimestampModelHandler:60,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.TimestampModelHandler:61,1"
      Dst: "[ch.qos.logback.core.Context].getBirthTime()"
    - Src: "ch.qos.logback.core.model.processor.TimestampModelHandler:63,1"
      Dst: "[java.lang.System].currentTimeMillis()"
    - Src: "ch.qos.logback.core.model.processor.TimestampModelHandler:70,1"
      Dst: "[ch.qos.logback.core.model.TimestampModel].getScopeStr()"
    - Src: "ch.qos.logback.core.model.processor.TimestampModelHandler:71,1"
      Dst: "[ch.qos.logback.core.joran.action.ActionUtil].stringToScope(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.TimestampModelHandler:73,1"
      Dst: "[ch.qos.logback.core.util.CachingDateFormatter].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.TimestampModelHandler:74,1"
      Dst: "[ch.qos.logback.core.util.CachingDateFormatter].format(long)"
    - Src: "ch.qos.logback.core.model.processor.TimestampModelHandler:76,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,ch.qos.logback.core.joran.action.ActionUtil$Scope)"
    - Src: "ch.qos.logback.core.model.processor.TimestampModelHandler:78,1"
      Dst: "[ch.qos.logback.core.joran.action.ActionUtil].setProperty(ch.qos.logback.core.model.processor.ModelInterpretationContext,java.lang.String,java.lang.String,ch.qos.logback.core.joran.action.ActionUtil$Scope)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.model.TimestampModel].getKey()"
    functionSourceFile: "ch.qos.logback.core.model.TimestampModel"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.NamedModel].getName()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.TimestampModel:43,1"
      Dst: "[ch.qos.logback.core.model.NamedModel].getName()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.NamedModel].getName()"
    functionSourceFile: "ch.qos.logback.core.model.NamedModel"
    linkageType: null
    functionLinenumber: 36
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 6
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 282
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    - "[java.lang.String].length()"
    functionUses: 62
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].length()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.TimestampModel].getDatePattern()"
    functionSourceFile: "ch.qos.logback.core.model.TimestampModel"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.TimestampModel].getTimeReference()"
    functionSourceFile: "ch.qos.logback.core.model.TimestampModel"
    linkageType: null
    functionLinenumber: 58
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.TimestampModel].getScopeStr()"
    functionSourceFile: "ch.qos.logback.core.model.TimestampModel"
    linkageType: null
    functionLinenumber: 66
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.ActionUtil].stringToScope(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.action.ActionUtil"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 0
    returnType: "ch.qos.logback.core.joran.action.ActionUtil$Scope"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].toString()"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    functionUses: 4
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.action.ActionUtil:32"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.ActionUtil:34"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.action.ActionUtil:33"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.action.ActionUtil:34"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.ActionUtil:37"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.action.ActionUtil:36"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.ActionUtil:32,1"
      Dst: "[java.lang.Enum].toString()"
    - Src: "ch.qos.logback.core.joran.action.ActionUtil:32,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.CachingDateFormatter].<init>(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.CachingDateFormatter"
    linkageType: null
    functionLinenumber: 47
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.CachingDateFormatter].<init>(java.lang.String,java.time.ZoneId)"
    functionUses: 3
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:48,1"
      Dst: "[ch.qos.logback.core.util.CachingDateFormatter].<init>(java.lang.String,java.time.ZoneId)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.CachingDateFormatter].format(long)"
    functionSourceFile: "ch.qos.logback.core.util.CachingDateFormatter"
    linkageType: null
    functionLinenumber: 68
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.CachingDateFormatter$CacheTuple].<init>(long,java.lang.String)"
    - "[java.util.concurrent.atomic.AtomicReference].get()"
    - "[java.time.Instant].ofEpochMilli(long)"
    - "[java.time.format.DateTimeFormatter].format(java.time.temporal.TemporalAccessor)"
    - "[java.util.concurrent.atomic.AtomicReference].compareAndSet(java.lang.Object,java.lang.Object)"
    functionUses: 6
    ICount: 19
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.CachingDateFormatter:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.CachingDateFormatter:79"
        BranchSideFuncs:
        - "<init>(long,java.lang.String)"
      - BranchSide: "ch.qos.logback.core.util.CachingDateFormatter:78"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:69,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].get()"
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:73,1"
      Dst: "[java.time.Instant].ofEpochMilli(long)"
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:74,1"
      Dst: "[java.time.format.DateTimeFormatter].format(java.time.temporal.TemporalAccessor)"
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:75,1"
      Dst: "[ch.qos.logback.core.util.CachingDateFormatter$CacheTuple].<init>(long,java.lang.String)"
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:77,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].compareAndSet(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.action.ActionUtil].setProperty(ch.qos.logback.core.model.processor.ModelInterpretationContext,java.lang.String,java.lang.String,ch.qos.logback.core.joran.action.ActionUtil$Scope)"
    functionSourceFile: "ch.qos.logback.core.joran.action.ActionUtil"
    linkageType: null
    functionLinenumber: 53
    functionDepth: 1
    returnType: "void"
    argCount: 4
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "java.lang.String"
    - "java.lang.String"
    - "ch.qos.logback.core.joran.action.ActionUtil$Scope"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].addSubstitutionProperty(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - "[ch.qos.logback.classic.LoggerContext].putProperty(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.ContextBase].putProperty(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].setSystemProperty(ch.qos.logback.core.spi.ContextAware,java.lang.String,java.lang.String)"
    - "[java.lang.Enum].ordinal()"
    - "[ch.qos.logback.core.Context].putProperty(java.lang.String,java.lang.String)"
    functionUses: 3
    ICount: 15
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.ActionUtil:54,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "ch.qos.logback.core.joran.action.ActionUtil:56,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].addSubstitutionProperty(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.ActionUtil:59,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - Src: "ch.qos.logback.core.joran.action.ActionUtil:59,1"
      Dst: "[ch.qos.logback.core.Context].putProperty(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.ActionUtil:62,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].setSystemProperty(ch.qos.logback.core.spi.ContextAware,java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_2__89].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_2__89"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Predicate"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_2__89].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_2__89:-1,1"
      Dst: "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_2__89].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_2__89].<init>()"
    functionSourceFile: "ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_2__89"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_2__89:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_2__89].test(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_2__89"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ConsoleAppender].lambda$wrapWithJansi$2(java.lang.reflect.Method)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_2__89:-1,1"
      Dst: "[ch.qos.logback.core.ConsoleAppender].lambda$wrapWithJansi$2(java.lang.reflect.Method)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ConsoleAppender].lambda$wrapWithJansi$2(java.lang.reflect.Method)"
    functionSourceFile: "ch.qos.logback.core.ConsoleAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Method"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.reflect.Method].getModifiers()"
    - "[java.lang.reflect.Modifier].isStatic(int)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ConsoleAppender:109,1"
      Dst: "[java.lang.reflect.Method].getModifiers()"
    - Src: "ch.qos.logback.core.ConsoleAppender:109,1"
      Dst: "[java.lang.reflect.Modifier].isStatic(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.EventArgUtil].<init>()"
    functionSourceFile: "ch.qos.logback.classic.spi.EventArgUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.EventArgUtil:16,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.EventArgUtil].extractThrowable(java.lang.Object[])"
    functionSourceFile: "ch.qos.logback.classic.spi.EventArgUtil"
    linkageType: null
    functionLinenumber: 18
    functionDepth: 0
    returnType: "java.lang.Throwable"
    argCount: 1
    argTypes:
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.EventArgUtil:19"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.EventArgUtil:20"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.EventArgUtil:19"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.EventArgUtil:19"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.EventArgUtil:23"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.EventArgUtil:22"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.EventArgUtil:24"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.EventArgUtil:27"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.EventArgUtil:26"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.EventArgUtil].trimmedCopy(java.lang.Object[])"
    functionSourceFile: "ch.qos.logback.classic.spi.EventArgUtil"
    linkageType: null
    functionLinenumber: 37
    functionDepth: 0
    returnType: "java.lang.Object[]"
    argCount: 1
    argTypes:
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    functionUses: 1
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.EventArgUtil:38"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.EventArgUtil:39"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.EventArgUtil:38"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.EventArgUtil:38"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.EventArgUtil:41"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.EventArgUtil:40"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.EventArgUtil:39,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.classic.spi.EventArgUtil:43,1"
      Dst: "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.EventArgUtil].arrangeArguments(java.lang.Object[])"
    functionSourceFile: "ch.qos.logback.classic.spi.EventArgUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.Object[]"
    argCount: 1
    argTypes:
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.EventArgUtil].successfulExtraction(java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.spi.EventArgUtil"
    linkageType: null
    functionLinenumber: 51
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 6
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.EventArgUtil:52"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.EventArgUtil:51"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.helpers.ThrowableToStringArray].<init>()"
    functionSourceFile: "ch.qos.logback.core.helpers.ThrowableToStringArray"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.helpers.ThrowableToStringArray:21,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.helpers.ThrowableToStringArray].convert(java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.helpers.ThrowableToStringArray"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 2
    returnType: "java.lang.String[]"
    argCount: 1
    argTypes:
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.helpers.ThrowableToStringArray].extract(java.util.List,java.lang.Throwable,java.lang.StackTraceElement[])"
    - "[java.util.LinkedList].<init>()"
    - "[java.util.List].toArray(java.lang.Object[])"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.helpers.ThrowableToStringArray:24,1"
      Dst: "[java.util.LinkedList].<init>()"
    - Src: "ch.qos.logback.core.helpers.ThrowableToStringArray:25,1"
      Dst: "[ch.qos.logback.core.helpers.ThrowableToStringArray].extract(java.util.List,java.lang.Throwable,java.lang.StackTraceElement[])"
    - Src: "ch.qos.logback.core.helpers.ThrowableToStringArray:26,1"
      Dst: "[java.util.List].toArray(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.helpers.ThrowableToStringArray].extract(java.util.List,java.lang.Throwable,java.lang.StackTraceElement[])"
    functionSourceFile: "ch.qos.logback.core.helpers.ThrowableToStringArray"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.util.List"
    - "java.lang.Throwable"
    - "java.lang.StackTraceElement[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.helpers.ThrowableToStringArray].findNumberOfCommonFrames(java.lang.StackTraceElement[],java.lang.StackTraceElement[])"
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[ch.qos.logback.core.helpers.ThrowableToStringArray].formatFirstLine(java.lang.Throwable,java.lang.StackTraceElement[])"
    - "[ch.qos.logback.core.spi.ScanException:org.xml.sax.SAXException].getCause()"
    - "[ch.qos.logback.core.helpers.ThrowableToStringArray].extract(java.util.List,java.lang.Throwable,java.lang.StackTraceElement[])"
    - "[java.lang.Throwable].getStackTrace()"
    - "[java.util.List].add(java.lang.Object)"
    - "[java.lang.StackTraceElement].toString()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - "[java.lang.Throwable].getCause()"
    functionUses: 2
    ICount: 24
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.helpers.ThrowableToStringArray:36"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.ThrowableToStringArray:39"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.helpers.ThrowableToStringArray:40"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.ThrowableToStringArray:44"
        BranchSideFuncs:
        - "add(java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.helpers.ThrowableToStringArray:43"
        BranchSideFuncs:
        - "getCause()"
    - Branch String: "ch.qos.logback.core.helpers.ThrowableToStringArray:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.ThrowableToStringArray:48"
        BranchSideFuncs:
        - "extract(java.util.List,java.lang.Throwable,java.lang.StackTraceElement[])"
      - BranchSide: "ch.qos.logback.core.helpers.ThrowableToStringArray:47"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.helpers.ThrowableToStringArray:32,1"
      Dst: "[java.lang.Throwable].getStackTrace()"
    - Src: "ch.qos.logback.core.helpers.ThrowableToStringArray:33,1"
      Dst: "[ch.qos.logback.core.helpers.ThrowableToStringArray].findNumberOfCommonFrames(java.lang.StackTraceElement[],java.lang.StackTraceElement[])"
    - Src: "ch.qos.logback.core.helpers.ThrowableToStringArray:35,1"
      Dst: "[ch.qos.logback.core.helpers.ThrowableToStringArray].formatFirstLine(java.lang.Throwable,java.lang.StackTraceElement[])"
    - Src: "ch.qos.logback.core.helpers.ThrowableToStringArray:35,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "ch.qos.logback.core.helpers.ThrowableToStringArray:37,1"
      Dst: "[java.lang.StackTraceElement].toString()"
    - Src: "ch.qos.logback.core.helpers.ThrowableToStringArray:37,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.helpers.ThrowableToStringArray:41,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - Src: "ch.qos.logback.core.helpers.ThrowableToStringArray:44,1"
      Dst: "[java.lang.Throwable].getCause()"
    - Src: "ch.qos.logback.core.helpers.ThrowableToStringArray:46,1"
      Dst: "[ch.qos.logback.core.helpers.ThrowableToStringArray].extract(java.util.List,java.lang.Throwable,java.lang.StackTraceElement[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.helpers.ThrowableToStringArray].formatFirstLine(java.lang.Throwable,java.lang.StackTraceElement[])"
    functionSourceFile: "ch.qos.logback.core.helpers.ThrowableToStringArray"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "java.lang.Throwable"
    - "java.lang.StackTraceElement[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.xml.sax.SAXException].getMessage()"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - "[java.lang.Throwable].getMessage()"
    functionUses: 1
    ICount: 14
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.helpers.ThrowableToStringArray:52"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.ThrowableToStringArray:56"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.ThrowableToStringArray:55"
        BranchSideFuncs:
        - "getMessage()"
    - Branch String: "ch.qos.logback.core.helpers.ThrowableToStringArray:57"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.ThrowableToStringArray:60"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.ThrowableToStringArray:59"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.helpers.ThrowableToStringArray:56,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.helpers.ThrowableToStringArray:56,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.core.helpers.ThrowableToStringArray:56,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.helpers.ThrowableToStringArray:57,1"
      Dst: "[java.lang.Throwable].getMessage()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.helpers.ThrowableToStringArray].findNumberOfCommonFrames(java.lang.StackTraceElement[],java.lang.StackTraceElement[])"
    functionSourceFile: "ch.qos.logback.core.helpers.ThrowableToStringArray"
    linkageType: null
    functionLinenumber: 63
    functionDepth: 0
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.lang.StackTraceElement[]"
    - "java.lang.StackTraceElement[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StackTraceElement].equals(java.lang.Object)"
    functionUses: 1
    ICount: 22
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.helpers.ThrowableToStringArray:64"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.ThrowableToStringArray:68"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.ThrowableToStringArray:67"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.helpers.ThrowableToStringArray:71"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.ThrowableToStringArray:80"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.ThrowableToStringArray:79"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.helpers.ThrowableToStringArray:71"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.ThrowableToStringArray:80"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.ThrowableToStringArray:79"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.helpers.ThrowableToStringArray:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.ThrowableToStringArray:80"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.ThrowableToStringArray:79"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.helpers.ThrowableToStringArray:72,1"
      Dst: "[java.lang.StackTraceElement].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__53].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__53"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__53].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__53:-1,1"
      Dst: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__53].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__53].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__53"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__53:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__53].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__53"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__53:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__53].get()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__53"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.SiftAction].<init>()"
    functionUses: 3
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__53:-1,1"
      Dst: "[ch.qos.logback.core.joran.action.SiftAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.SiftAction].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.action.SiftAction"
    linkageType: null
    functionLinenumber: 21
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.SiftAction:22,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.LoggerModel].<init>()"
    functionSourceFile: "ch.qos.logback.classic.model.LoggerModel"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.LoggerModel:23,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.LoggerModel].makeNewInstance()"
    functionSourceFile: "ch.qos.logback.classic.model.LoggerModel"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 2
    returnType: "ch.qos.logback.classic.model.LoggerModel"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.model.LoggerModel].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.LoggerModel:33,1"
      Dst: "[ch.qos.logback.classic.model.LoggerModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.LoggerModel].<init>()"
    functionSourceFile: "ch.qos.logback.classic.model.LoggerModel"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.LoggerModel:23,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.ArrayList].<init>()"
    functionUses: 16
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:27,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.model.Model:40,1"
      Dst: "[java.util.ArrayList].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.LoggerModel].mirror(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.classic.model.LoggerModel"
    linkageType: null
    functionLinenumber: 37
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].mirror(ch.qos.logback.core.model.Model)"
    functionUses: 1
    ICount: 11
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.LoggerModel:39,1"
      Dst: "[ch.qos.logback.core.model.Model].mirror(ch.qos.logback.core.model.Model)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].mirror(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 56
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 11
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.LoggerModel].getName()"
    functionSourceFile: "ch.qos.logback.classic.model.LoggerModel"
    linkageType: null
    functionLinenumber: 45
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.LoggerModel].setName(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.model.LoggerModel"
    linkageType: null
    functionLinenumber: 49
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.LoggerModel].getLevel()"
    functionSourceFile: "ch.qos.logback.classic.model.LoggerModel"
    linkageType: null
    functionLinenumber: 53
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.LoggerModel].setLevel(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.model.LoggerModel"
    linkageType: null
    functionLinenumber: 57
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.LoggerModel].getAdditivity()"
    functionSourceFile: "ch.qos.logback.classic.model.LoggerModel"
    linkageType: null
    functionLinenumber: 61
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.LoggerModel].setAdditivity(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.model.LoggerModel"
    linkageType: null
    functionLinenumber: 65
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.LoggerModel].toString()"
    functionSourceFile: "ch.qos.logback.classic.model.LoggerModel"
    linkageType: null
    functionLinenumber: 70
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getSimpleName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    functionUses: 3
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.LoggerModel:71,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.classic.model.LoggerModel:71,1"
      Dst: "[java.lang.Class].getSimpleName()"
    - Src: "ch.qos.logback.classic.model.LoggerModel:71,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.LoggerModel].hashCode()"
    functionSourceFile: "ch.qos.logback.classic.model.LoggerModel"
    linkageType: null
    functionLinenumber: 76
    functionDepth: 1
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].hashCode()"
    - "[java.util.Objects].hash(java.lang.Object[])"
    functionUses: 5
    ICount: 13
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.LoggerModel:77,1"
      Dst: "[ch.qos.logback.core.model.Model].hashCode()"
    - Src: "ch.qos.logback.classic.model.LoggerModel:78,1"
      Dst: "[java.util.Objects].hash(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].hashCode()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 145
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Integer].valueOf(int)"
    - "[java.util.Objects].hash(java.lang.Object[])"
    functionUses: 15
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:146,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "ch.qos.logback.core.model.Model:146,1"
      Dst: "[java.util.Objects].hash(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.LoggerModel].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.model.LoggerModel"
    linkageType: null
    functionLinenumber: 83
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].equals(java.lang.Object)"
    - "[java.lang.Object].getClass()"
    - "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    functionUses: 6
    ICount: 28
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.model.LoggerModel:84"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.LoggerModel:86"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.model.LoggerModel:85"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "ch.qos.logback.classic.model.LoggerModel:86"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.LoggerModel:88"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.model.LoggerModel:87"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.model.LoggerModel:88"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.LoggerModel:90"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.model.LoggerModel:89"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.model.LoggerModel:91"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.LoggerModel:-1"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.model.LoggerModel:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.model.LoggerModel:91"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.LoggerModel:-1"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.model.LoggerModel:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.model.LoggerModel:92"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.LoggerModel:-2"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.LoggerModel:86,1"
      Dst: "[ch.qos.logback.core.model.Model].equals(java.lang.Object)"
    - Src: "ch.qos.logback.classic.model.LoggerModel:88,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.classic.model.LoggerModel:91,1"
      Dst: "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 12
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.model.Model].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 150
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    functionUses: 16
    ICount: 30
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.Model:151"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:153"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:152"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:153"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:155"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:154"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:155"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:157"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:156"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:158"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:-1"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:158"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:-1"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:159"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:159"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:-2"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:155,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.model.Model:158,1"
      Dst: "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 13
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.model.processor.DefineModelHandler].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefineModelHandler"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefineModelHandler:40,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DefineModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefineModelHandler"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.DefineModelHandler"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.DefineModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefineModelHandler:44,1"
      Dst: "[ch.qos.logback.core.model.processor.DefineModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DefineModelHandler].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefineModelHandler"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefineModelHandler:40,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DefineModelHandler].getSupportedModelClass()"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefineModelHandler"
    linkageType: null
    functionLinenumber: 48
    functionDepth: 0
    returnType: "java.lang.Class"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DefineModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefineModelHandler"
    linkageType: null
    functionLinenumber: 53
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.NamedComponentModel].getName()"
    - "[ch.qos.logback.core.model.DefineModel].getScopeStr()"
    - "[ch.qos.logback.core.joran.action.ActionUtil].stringToScope(java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.model.Model].getTag()"
    - "[ch.qos.logback.core.model.Model].getLineNumber()"
    - "[ch.qos.logback.core.model.ComponentModel].getClassName()"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getImport(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].pushObject(java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.model.processor.ModelHandlerException].<init>(java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAware].setContext(ch.qos.logback.core.Context)"
    functionUses: 3
    ICount: 54
    EdgeCount: 19
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.DefineModelHandler:65"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefineModelHandler:72"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.DefineModelHandler:71"
        BranchSideFuncs:
        - "getClassName()"
        - "isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Branch String: "ch.qos.logback.core.model.processor.DefineModelHandler:73"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefineModelHandler:78"
        BranchSideFuncs:
        - "getTag()"
        - "addError(java.lang.String)"
        - "getLineNumber()"
      - BranchSide: "ch.qos.logback.core.model.processor.DefineModelHandler:77"
        BranchSideFuncs:
        - "getImport(java.lang.String)"
    - Branch String: "ch.qos.logback.core.model.processor.DefineModelHandler:81"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefineModelHandler:86"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.DefineModelHandler:85"
        BranchSideFuncs:
        - "addError(java.lang.String,java.lang.Throwable)"
        - "pushObject(java.lang.Object)"
        - "<init>(java.lang.Throwable)"
        - "setContext(ch.qos.logback.core.Context)"
        - "instantiateByClassName(java.lang.String,java.lang.Class,ch.qos.logback.core.Context)"
        - "addInfo(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefineModelHandler:60,1"
      Dst: "[ch.qos.logback.core.model.NamedComponentModel].getName()"
    - Src: "ch.qos.logback.core.model.processor.DefineModelHandler:61,1"
      Dst: "[ch.qos.logback.core.model.DefineModel].getScopeStr()"
    - Src: "ch.qos.logback.core.model.processor.DefineModelHandler:63,1"
      Dst: "[ch.qos.logback.core.joran.action.ActionUtil].stringToScope(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.DefineModelHandler:65,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.DefineModelHandler:66,1"
      Dst: "[ch.qos.logback.core.model.Model].getTag()"
    - Src: "ch.qos.logback.core.model.processor.DefineModelHandler:67,1"
      Dst: "[ch.qos.logback.core.model.Model].getLineNumber()"
    - Src: "ch.qos.logback.core.model.processor.DefineModelHandler:67,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int)"
    - Src: "ch.qos.logback.core.model.processor.DefineModelHandler:66,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.DefineModelHandler:72,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].getClassName()"
    - Src: "ch.qos.logback.core.model.processor.DefineModelHandler:78,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getImport(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.DefineModelHandler:86,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.DefineModelHandler:86,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.DefineModelHandler:87,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.model.processor.DefineModelHandler:88,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.model.processor.DefineModelHandler:89,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].pushObject(java.lang.Object)"
    - Src: "ch.qos.logback.core.model.processor.DefineModelHandler:92,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.model.processor.DefineModelHandler:93,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerException].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.model.NamedComponentModel].getName()"
    functionSourceFile: "ch.qos.logback.core.model.NamedComponentModel"
    linkageType: null
    functionLinenumber: 35
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.DefineModel].getScopeStr()"
    functionSourceFile: "ch.qos.logback.core.model.DefineModel"
    linkageType: null
    functionLinenumber: 35
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.ActionUtil].stringToScope(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.action.ActionUtil"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 0
    returnType: "ch.qos.logback.core.joran.action.ActionUtil$Scope"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].toString()"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    functionUses: 4
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.action.ActionUtil:32"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.ActionUtil:34"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.action.ActionUtil:33"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.action.ActionUtil:34"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.ActionUtil:37"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.action.ActionUtil:36"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.ActionUtil:32,1"
      Dst: "[java.lang.Enum].toString()"
    - Src: "ch.qos.logback.core.joran.action.ActionUtil:32,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 282
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    - "[java.lang.String].length()"
    functionUses: 62
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].length()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.model.Model].getTag()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 16
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].getLineNumber()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 112
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 8
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ComponentModel].getClassName()"
    functionSourceFile: "ch.qos.logback.core.model.ComponentModel"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 11
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getImport(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 287
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map].get(java.lang.Object)"
    functionUses: 9
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:288"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:291"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:290"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:292"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:295"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:294"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:291,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 3
    returnType: "java.lang.Object"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Class"
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].getClassLoaderOfObject(java.lang.Object)"
    - "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,java.lang.ClassLoader)"
    functionUses: 12
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:32,1"
      Dst: "[ch.qos.logback.core.util.Loader].getClassLoaderOfObject(java.lang.Object)"
    - Src: "ch.qos.logback.core.util.OptionHelper:33,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,java.lang.ClassLoader)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].pushObject(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 126
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].push(java.lang.Object)"
    functionUses: 12
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:127,1"
      Dst: "[java.util.Stack].push(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 74
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelHandlerException].<init>(java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelHandlerException"
    linkageType: null
    functionLinenumber: 10
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Exception].<init>(java.lang.Throwable)"
    functionUses: 5
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelHandlerException:11,1"
      Dst: "[java.lang.Exception].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DefineModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefineModelHandler"
    linkageType: null
    functionLinenumber: 103
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekObject()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].popObject()"
    - "[ch.qos.logback.classic.net.SocketReceiver].run()"
    - "[ch.qos.logback.core.boolex.Matcher].start()"
    - "[ch.qos.logback.classic.turbo.MarkerFilter].start()"
    - "[ch.qos.logback.classic.pattern.SyslogStartConverter].start()"
    - "[ch.qos.logback.classic.pattern.KeyValuePairConverter].start()"
    - "[ch.qos.logback.classic.jul.LevelChangePropagator].start()"
    - "[ch.qos.logback.core.AsyncAppenderBase].start()"
    - "[ch.qos.logback.core.pattern.PatternLayoutBase].start()"
    - "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP].start()"
    - "[ch.qos.logback.core.net.server.SSLServerSocketAppenderBase].start()"
    - "[ch.qos.logback.core.status.OnPrintStreamStatusListenerBase].start()"
    - "[ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy].start()"
    - "[ch.qos.logback.core.testUtil.StringListAppender].start()"
    - "[ch.qos.logback.core.filter.EvaluatorFilter].start()"
    - "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].start()"
    - "[ch.qos.logback.classic.html.HTMLLayout].start()"
    - "[ch.qos.logback.classic.pattern.MDCConverter].start()"
    - "[ch.qos.logback.core.net.SMTPAppenderBase].start()"
    - "[ch.qos.logback.core.status.OnFileStatusListener].start()"
    - "[ch.qos.logback.classic.log4j.XMLLayout].start()"
    - "[ch.qos.logback.classic.net.SMTPAppender].start()"
    - "[ch.qos.logback.core.read.CyclicBufferAppender].start()"
    - "[ch.qos.logback.core.boolex.JaninoEventEvaluatorBase].start()"
    - "[ch.qos.logback.core.FileAppender].start()"
    - "[ch.qos.logback.classic.pattern.DateConverter].start()"
    - "[ch.qos.logback.classic.pattern.PropertyConverter].start()"
    - "[ch.qos.logback.classic.encoder.PatternLayoutEncoder].start()"
    - "[ch.qos.logback.classic.layout.TTLLLayout].start()"
    - "[ch.qos.logback.core.rolling.FixedWindowRollingPolicy].start()"
    - "[ch.qos.logback.classic.turbo.MDCFilter].start()"
    - "[ch.qos.logback.classic.pattern.NamedConverter].start()"
    - "[ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy].start()"
    - "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase].start()"
    - "[ch.qos.logback.core.OutputStreamAppender].start()"
    - "[ch.qos.logback.classic.filter.ThresholdFilter].start()"
    - "[ch.qos.logback.core.net.server.AbstractServerSocketAppender].start()"
    - "[ch.qos.logback.classic.pattern.CallerDataConverter].start()"
    - "[ch.qos.logback.classic.pattern.SequenceNumberConverter].start()"
    - "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].start()"
    - "[ch.qos.logback.core.net.SyslogAppenderBase].start()"
    - "[ch.qos.logback.core.sift.SiftingAppenderBase].start()"
    - "[ch.qos.logback.core.rolling.RollingFileAppender].start()"
    - "[ch.qos.logback.core.rolling.helper.DateTokenConverter].start()"
    - "[ch.qos.logback.classic.LoggerContext].start()"
    - "[ch.qos.logback.classic.net.ReceiverBase].start()"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].start()"
    - "[ch.qos.logback.core.net.AbstractSocketAppender].start()"
    - "[ch.qos.logback.classic.turbo.DuplicateMessageFilter].start()"
    - "[ch.qos.logback.classic.turbo.DynamicThresholdFilter].start()"
    - "[ch.qos.logback.core.ConsoleAppender].start()"
    - "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].start()"
    - "[ch.qos.logback.classic.sift.MDCBasedDiscriminator].start()"
    - "[ch.qos.logback.core.pattern.ReplacingCompositeConverter].start()"
    - "[ch.qos.logback.core.html.HTMLLayoutBase].start()"
    - "[ch.qos.logback.classic.filter.LevelFilter].start()"
    - "[ch.qos.logback.classic.helpers.WithLayoutListAppender].start()"
    - "[ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy].start()"
    - "[ch.qos.logback.classic.net.SyslogAppender].start()"
    - "[ch.qos.logback.core.net.AbstractSSLSocketAppender].start()"
    - "[ch.qos.logback.classic.turbo.TurboFilter:ch.qos.logback.core.AppenderBase:ch.qos.logback.core.ContextBase:ch.qos.logback.core.LayoutBase:ch.qos.logback.core.UnsynchronizedAppenderBase:ch.qos.logback.core.boolex.EventEvaluatorBase:ch.qos.logback.core.encoder.EncoderBase:ch.qos.logback.core.filter.Filter:ch.qos.logback.core.pattern.DynamicConverter:ch.qos.logback.core.rolling.RollingPolicyBase:ch.qos.logback.core.rolling.TriggeringPolicyBase:ch.qos.logback.core.sift.AbstractDiscriminator:ch.qos.logback.core.testUtil.TrivialStatusListener].start()"
    - "[ch.qos.logback.core.property.CanonicalHostNamePropertyDefiner].getPropertyValue()"
    - "[ch.qos.logback.core.property.FileExistsPropertyDefiner].getPropertyValue()"
    - "[ch.qos.logback.core.property.ResourceExistsPropertyDefiner].getPropertyValue()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.joran.action.ActionUtil].setProperty(ch.qos.logback.core.model.processor.ModelInterpretationContext,java.lang.String,java.lang.String,ch.qos.logback.core.joran.action.ActionUtil$Scope)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[ch.qos.logback.core.spi.LifeCycle].start()"
    - "[ch.qos.logback.core.spi.PropertyDefiner].getPropertyValue()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,ch.qos.logback.core.joran.action.ActionUtil$Scope)"
    functionUses: 3
    ICount: 31
    EdgeCount: 68
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.DefineModelHandler:104"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefineModelHandler:108"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.DefineModelHandler:107"
        BranchSideFuncs:
        - "peekObject()"
    - Branch String: "ch.qos.logback.core.model.processor.DefineModelHandler:110"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefineModelHandler:114"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.model.processor.DefineModelHandler:113"
        BranchSideFuncs:
        - "popObject()"
    - Branch String: "ch.qos.logback.core.model.processor.DefineModelHandler:115"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefineModelHandler:120"
        BranchSideFuncs:
        - "run()"
        - "start()"
      - BranchSide: "ch.qos.logback.core.model.processor.DefineModelHandler:119"
        BranchSideFuncs:
        - "getPropertyValue()"
    - Branch String: "ch.qos.logback.core.model.processor.DefineModelHandler:121"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefineModelHandler:127"
        BranchSideFuncs:
        - "setProperty(ch.qos.logback.core.model.processor.ModelInterpretationContext,java.lang.String,java.lang.String,ch.qos.logback.core.joran.action.ActionUtil$Scope)"
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.model.processor.DefineModelHandler:126"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefineModelHandler:108,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekObject()"
    - Src: "ch.qos.logback.core.model.processor.DefineModelHandler:111,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.DefineModelHandler:111,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.DefineModelHandler:114,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].popObject()"
    - Src: "ch.qos.logback.core.model.processor.DefineModelHandler:116,1"
      Dst: "[ch.qos.logback.core.spi.LifeCycle].start()"
    - Src: "ch.qos.logback.core.model.processor.DefineModelHandler:120,1"
      Dst: "[ch.qos.logback.core.spi.PropertyDefiner].getPropertyValue()"
    - Src: "ch.qos.logback.core.model.processor.DefineModelHandler:122,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,ch.qos.logback.core.joran.action.ActionUtil$Scope)"
    - Src: "ch.qos.logback.core.model.processor.DefineModelHandler:122,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.DefineModelHandler:123,1"
      Dst: "[ch.qos.logback.core.joran.action.ActionUtil].setProperty(ch.qos.logback.core.model.processor.ModelInterpretationContext,java.lang.String,java.lang.String,ch.qos.logback.core.joran.action.ActionUtil$Scope)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekObject()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 122
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].peek()"
    functionUses: 16
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:123,1"
      Dst: "[java.util.Stack].peek()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 96
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].popObject()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 130
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].pop()"
    functionUses: 12
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:131,1"
      Dst: "[java.util.Stack].pop()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.ActionUtil].setProperty(ch.qos.logback.core.model.processor.ModelInterpretationContext,java.lang.String,java.lang.String,ch.qos.logback.core.joran.action.ActionUtil$Scope)"
    functionSourceFile: "ch.qos.logback.core.joran.action.ActionUtil"
    linkageType: null
    functionLinenumber: 53
    functionDepth: 1
    returnType: "void"
    argCount: 4
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "java.lang.String"
    - "java.lang.String"
    - "ch.qos.logback.core.joran.action.ActionUtil$Scope"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].addSubstitutionProperty(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - "[ch.qos.logback.classic.LoggerContext].putProperty(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.ContextBase].putProperty(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].setSystemProperty(ch.qos.logback.core.spi.ContextAware,java.lang.String,java.lang.String)"
    - "[java.lang.Enum].ordinal()"
    - "[ch.qos.logback.core.Context].putProperty(java.lang.String,java.lang.String)"
    functionUses: 3
    ICount: 15
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.ActionUtil:54,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "ch.qos.logback.core.joran.action.ActionUtil:56,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].addSubstitutionProperty(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.ActionUtil:59,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - Src: "ch.qos.logback.core.joran.action.ActionUtil:59,1"
      Dst: "[ch.qos.logback.core.Context].putProperty(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.ActionUtil:62,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].setSystemProperty(ch.qos.logback.core.spi.ContextAware,java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.joran.spi.NoAutoStartUtil].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.NoAutoStartUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.NoAutoStartUtil:16,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.NoAutoStartUtil].notMarkedWithNoAutoStart(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.NoAutoStartUtil"
    linkageType: null
    functionLinenumber: 25
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getAnnotation(java.lang.Class)"
    functionUses: 1
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.NoAutoStartUtil:26"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.NoAutoStartUtil:29"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.NoAutoStartUtil:28"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.NoAutoStartUtil:31"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.NoAutoStartUtil:28"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.NoAutoStartUtil:29,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.joran.spi.NoAutoStartUtil:30,1"
      Dst: "[java.lang.Class].getAnnotation(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.helpers.MessageFormatter].<init>()"
    functionSourceFile: "org.slf4j.helpers.MessageFormatter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.MessageFormatter:98,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.MessageFormatter].format(java.lang.String,java.lang.Object)"
    functionSourceFile: "org.slf4j.helpers.MessageFormatter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 6
    returnType: "org.slf4j.helpers.FormattingTuple"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.MessageFormatter].arrayFormat(java.lang.String,java.lang.Object[])"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.MessageFormatter:124,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].arrayFormat(java.lang.String,java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.MessageFormatter].arrayFormat(java.lang.String,java.lang.Object[])"
    functionSourceFile: "org.slf4j.helpers.MessageFormatter"
    linkageType: null
    functionLinenumber: 154
    functionDepth: 5
    returnType: "org.slf4j.helpers.FormattingTuple"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.MessageFormatter].getThrowableCandidate(java.lang.Object[])"
    - "[org.slf4j.helpers.MessageFormatter].trimmedCopy(java.lang.Object[])"
    - "[org.slf4j.helpers.MessageFormatter].arrayFormat(java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 2
    ICount: 8
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.MessageFormatter:157"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:160"
        BranchSideFuncs:
        - "trimmedCopy(java.lang.Object[])"
      - BranchSide: "org.slf4j.helpers.MessageFormatter:159"
        BranchSideFuncs:
        - "arrayFormat(java.lang.String,java.lang.Object[],java.lang.Throwable)"
    Callsites:
    - Src: "org.slf4j.helpers.MessageFormatter:155,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].getThrowableCandidate(java.lang.Object[])"
    - Src: "org.slf4j.helpers.MessageFormatter:158,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].trimmedCopy(java.lang.Object[])"
    - Src: "org.slf4j.helpers.MessageFormatter:160,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].arrayFormat(java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.helpers.MessageFormatter].getThrowableCandidate(java.lang.Object[])"
    functionSourceFile: "org.slf4j.helpers.MessageFormatter"
    linkageType: null
    functionLinenumber: 414
    functionDepth: 1
    returnType: "java.lang.Throwable"
    argCount: 1
    argTypes:
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.NormalizedParameters].getThrowableCandidate(java.lang.Object[])"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.MessageFormatter:415,1"
      Dst: "[org.slf4j.helpers.NormalizedParameters].getThrowableCandidate(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NormalizedParameters].getThrowableCandidate(java.lang.Object[])"
    functionSourceFile: "org.slf4j.helpers.NormalizedParameters"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 0
    returnType: "java.lang.Throwable"
    argCount: 1
    argTypes:
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.NormalizedParameters:51"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.NormalizedParameters:52"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.NormalizedParameters:51"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.NormalizedParameters:51"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.NormalizedParameters:55"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.NormalizedParameters:54"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.NormalizedParameters:56"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.NormalizedParameters:60"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.NormalizedParameters:59"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.helpers.MessageFormatter].trimmedCopy(java.lang.Object[])"
    functionSourceFile: "org.slf4j.helpers.MessageFormatter"
    linkageType: null
    functionLinenumber: 426
    functionDepth: 1
    returnType: "java.lang.Object[]"
    argCount: 1
    argTypes:
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.NormalizedParameters].trimmedCopy(java.lang.Object[])"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.MessageFormatter:427,1"
      Dst: "[org.slf4j.helpers.NormalizedParameters].trimmedCopy(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NormalizedParameters].trimmedCopy(java.lang.Object[])"
    functionSourceFile: "org.slf4j.helpers.NormalizedParameters"
    linkageType: null
    functionLinenumber: 70
    functionDepth: 0
    returnType: "java.lang.Object[]"
    argCount: 1
    argTypes:
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    functionUses: 1
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.NormalizedParameters:71"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.NormalizedParameters:72"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.NormalizedParameters:71"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.NormalizedParameters:71"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.NormalizedParameters:75"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.NormalizedParameters:74"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.NormalizedParameters:79"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.NormalizedParameters:83"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.NormalizedParameters:82"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.NormalizedParameters:72,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - Src: "org.slf4j.helpers.NormalizedParameters:80,1"
      Dst: "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[org.slf4j.helpers.MessageFormatter].arrayFormat(java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "org.slf4j.helpers.MessageFormatter"
    linkageType: null
    functionLinenumber: 179
    functionDepth: 4
    returnType: "org.slf4j.helpers.FormattingTuple"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.FormattingTuple].<init>(java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[org.slf4j.helpers.FormattingTuple].<init>(java.lang.String)"
    - "[org.slf4j.helpers.MessageFormatter].isEscapedDelimeter(java.lang.String,int)"
    - "[org.slf4j.helpers.MessageFormatter].isDoubleEscaped(java.lang.String,int)"
    - "[org.slf4j.helpers.MessageFormatter].deeplyAppendParameter(java.lang.StringBuilder,java.lang.Object,java.util.Map)"
    - "[java.lang.String].length()"
    - "[java.lang.StringBuilder].<init>(int)"
    - "[java.lang.String].indexOf(java.lang.String,int)"
    - "[java.lang.StringBuilder].append(java.lang.CharSequence,int,int)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.util.HashMap].<init>()"
    functionUses: 1
    ICount: 65
    EdgeCount: 9
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.MessageFormatter:180"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:184"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:183"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.MessageFormatter:184"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:188"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "org.slf4j.helpers.MessageFormatter:187"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.MessageFormatter:194"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:230"
        BranchSideFuncs:
        - "<init>(java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Branch String: "org.slf4j.helpers.MessageFormatter:198"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:207"
        BranchSideFuncs:
        - "isEscapedDelimeter(java.lang.String,int)"
    - Branch String: "org.slf4j.helpers.MessageFormatter:200"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:204"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:203"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.MessageFormatter:208"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:224"
        BranchSideFuncs:
        - "isDoubleEscaped(java.lang.String,int)"
      - BranchSide: "org.slf4j.helpers.MessageFormatter:223"
        BranchSideFuncs:
        - "deeplyAppendParameter(java.lang.StringBuilder,java.lang.Object,java.util.Map)"
    - Branch String: "org.slf4j.helpers.MessageFormatter:209"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:218"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:217"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.MessageFormatter:181,1"
      Dst: "[org.slf4j.helpers.FormattingTuple].<init>(java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Src: "org.slf4j.helpers.MessageFormatter:185,1"
      Dst: "[org.slf4j.helpers.FormattingTuple].<init>(java.lang.String)"
    - Src: "org.slf4j.helpers.MessageFormatter:191,1"
      Dst: "[java.lang.String].length()"
    - Src: "org.slf4j.helpers.MessageFormatter:191,1"
      Dst: "[java.lang.StringBuilder].<init>(int)"
    - Src: "org.slf4j.helpers.MessageFormatter:196,1"
      Dst: "[java.lang.String].indexOf(java.lang.String,int)"
    - Src: "org.slf4j.helpers.MessageFormatter:204,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.CharSequence,int,int)"
    - Src: "org.slf4j.helpers.MessageFormatter:205,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "org.slf4j.helpers.MessageFormatter:208,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].isEscapedDelimeter(java.lang.String,int)"
    - Src: "org.slf4j.helpers.MessageFormatter:209,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].isDoubleEscaped(java.lang.String,int)"
    - Src: "org.slf4j.helpers.MessageFormatter:212,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "org.slf4j.helpers.MessageFormatter:219,1"
      Dst: "[java.util.HashMap].<init>()"
    - Src: "org.slf4j.helpers.MessageFormatter:219,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].deeplyAppendParameter(java.lang.StringBuilder,java.lang.Object,java.util.Map)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 17
    CyclomaticComplexity: 4
  - functionName: "[org.slf4j.helpers.FormattingTuple].<init>(java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "org.slf4j.helpers.FormattingTuple"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 5
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.FormattingTuple:44,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.FormattingTuple].<init>(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.FormattingTuple"
    linkageType: null
    functionLinenumber: 40
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.FormattingTuple].<init>(java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.FormattingTuple:41,1"
      Dst: "[org.slf4j.helpers.FormattingTuple].<init>(java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.MessageFormatter].isEscapedDelimeter(java.lang.String,int)"
    functionSourceFile: "org.slf4j.helpers.MessageFormatter"
    linkageType: null
    functionLinenumber: 236
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].charAt(int)"
    functionUses: 1
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.MessageFormatter:237"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:240"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:239"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.MessageFormatter:241"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:244"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:243"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.MessageFormatter:240,1"
      Dst: "[java.lang.String].charAt(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.MessageFormatter].isDoubleEscaped(java.lang.String,int)"
    functionSourceFile: "org.slf4j.helpers.MessageFormatter"
    linkageType: null
    functionLinenumber: 248
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].charAt(int)"
    functionUses: 1
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.MessageFormatter:249"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:252"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:251"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.MessageFormatter:249"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:252"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:251"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.MessageFormatter:249,1"
      Dst: "[java.lang.String].charAt(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.helpers.MessageFormatter].deeplyAppendParameter(java.lang.StringBuilder,java.lang.Object,java.util.Map)"
    functionSourceFile: "org.slf4j.helpers.MessageFormatter"
    linkageType: null
    functionLinenumber: 257
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.StringBuilder"
    - "java.lang.Object"
    - "java.util.Map"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.MessageFormatter].safeObjectAppend(java.lang.StringBuilder,java.lang.Object)"
    - "[org.slf4j.helpers.MessageFormatter].booleanArrayAppend(java.lang.StringBuilder,boolean[])"
    - "[org.slf4j.helpers.MessageFormatter].byteArrayAppend(java.lang.StringBuilder,byte[])"
    - "[org.slf4j.helpers.MessageFormatter].charArrayAppend(java.lang.StringBuilder,char[])"
    - "[org.slf4j.helpers.MessageFormatter].shortArrayAppend(java.lang.StringBuilder,short[])"
    - "[org.slf4j.helpers.MessageFormatter].intArrayAppend(java.lang.StringBuilder,int[])"
    - "[org.slf4j.helpers.MessageFormatter].longArrayAppend(java.lang.StringBuilder,long[])"
    - "[org.slf4j.helpers.MessageFormatter].floatArrayAppend(java.lang.StringBuilder,float[])"
    - "[org.slf4j.helpers.MessageFormatter].doubleArrayAppend(java.lang.StringBuilder,double[])"
    - "[org.slf4j.helpers.MessageFormatter].objectArrayAppend(java.lang.StringBuilder,java.lang.Object[],java.util.Map)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].isArray()"
    functionUses: 3
    ICount: 54
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.MessageFormatter:258"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:262"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:261"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.MessageFormatter:262"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:267"
        BranchSideFuncs:
        - "safeObjectAppend(java.lang.StringBuilder,java.lang.Object)"
      - BranchSide: "org.slf4j.helpers.MessageFormatter:266"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.MessageFormatter:267"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:269"
        BranchSideFuncs:
        - "booleanArrayAppend(java.lang.StringBuilder,boolean[])"
      - BranchSide: "org.slf4j.helpers.MessageFormatter:268"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.MessageFormatter:269"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:271"
        BranchSideFuncs:
        - "byteArrayAppend(java.lang.StringBuilder,byte[])"
      - BranchSide: "org.slf4j.helpers.MessageFormatter:270"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.MessageFormatter:271"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:273"
        BranchSideFuncs:
        - "charArrayAppend(java.lang.StringBuilder,char[])"
      - BranchSide: "org.slf4j.helpers.MessageFormatter:272"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.MessageFormatter:273"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:275"
        BranchSideFuncs:
        - "shortArrayAppend(java.lang.StringBuilder,short[])"
      - BranchSide: "org.slf4j.helpers.MessageFormatter:274"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.MessageFormatter:275"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:277"
        BranchSideFuncs:
        - "intArrayAppend(java.lang.StringBuilder,int[])"
      - BranchSide: "org.slf4j.helpers.MessageFormatter:276"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.MessageFormatter:277"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:279"
        BranchSideFuncs:
        - "longArrayAppend(java.lang.StringBuilder,long[])"
      - BranchSide: "org.slf4j.helpers.MessageFormatter:278"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.MessageFormatter:279"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:281"
        BranchSideFuncs:
        - "floatArrayAppend(java.lang.StringBuilder,float[])"
      - BranchSide: "org.slf4j.helpers.MessageFormatter:280"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.MessageFormatter:281"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:284"
        BranchSideFuncs:
        - "doubleArrayAppend(java.lang.StringBuilder,double[])"
      - BranchSide: "org.slf4j.helpers.MessageFormatter:283"
        BranchSideFuncs:
        - "objectArrayAppend(java.lang.StringBuilder,java.lang.Object[],java.util.Map)"
    Callsites:
    - Src: "org.slf4j.helpers.MessageFormatter:259,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.slf4j.helpers.MessageFormatter:262,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "org.slf4j.helpers.MessageFormatter:262,1"
      Dst: "[java.lang.Class].isArray()"
    - Src: "org.slf4j.helpers.MessageFormatter:263,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].safeObjectAppend(java.lang.StringBuilder,java.lang.Object)"
    - Src: "org.slf4j.helpers.MessageFormatter:268,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].booleanArrayAppend(java.lang.StringBuilder,boolean[])"
    - Src: "org.slf4j.helpers.MessageFormatter:270,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].byteArrayAppend(java.lang.StringBuilder,byte[])"
    - Src: "org.slf4j.helpers.MessageFormatter:272,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].charArrayAppend(java.lang.StringBuilder,char[])"
    - Src: "org.slf4j.helpers.MessageFormatter:274,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].shortArrayAppend(java.lang.StringBuilder,short[])"
    - Src: "org.slf4j.helpers.MessageFormatter:276,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].intArrayAppend(java.lang.StringBuilder,int[])"
    - Src: "org.slf4j.helpers.MessageFormatter:278,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].longArrayAppend(java.lang.StringBuilder,long[])"
    - Src: "org.slf4j.helpers.MessageFormatter:280,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].floatArrayAppend(java.lang.StringBuilder,float[])"
    - Src: "org.slf4j.helpers.MessageFormatter:282,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].doubleArrayAppend(java.lang.StringBuilder,double[])"
    - Src: "org.slf4j.helpers.MessageFormatter:284,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].objectArrayAppend(java.lang.StringBuilder,java.lang.Object[],java.util.Map)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 22
    CyclomaticComplexity: 10
  - functionName: "[org.slf4j.helpers.MessageFormatter].safeObjectAppend(java.lang.StringBuilder,java.lang.Object)"
    functionSourceFile: "org.slf4j.helpers.MessageFormatter"
    linkageType: null
    functionLinenumber: 290
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.Token].toString()"
    - "[ch.qos.logback.classic.spi.LoggerContextVO].toString()"
    - "[ch.qos.logback.classic.Logger].toString()"
    - "[ch.qos.logback.classic.model.LoggerModel].toString()"
    - "[ch.qos.logback.core.recovery.ResilientFileOutputStream].toString()"
    - "[ch.qos.logback.core.pattern.PatternLayoutBase].toString()"
    - "[ch.qos.logback.core.UnsynchronizedAppenderBase].toString()"
    - "[org.slf4j.event.Level].toString()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].toString()"
    - "[ch.qos.logback.core.joran.event.EndEvent].toString()"
    - "[ch.qos.logback.core.pattern.parser.CompositeNode].toString()"
    - "[ch.qos.logback.core.testUtil.TeeOutputStream].toString()"
    - "[ch.qos.logback.core.model.ComponentModel].toString()"
    - "[ch.qos.logback.core.rolling.helper.Compressor].toString()"
    - "[ch.qos.logback.core.pattern.FormatInfo].toString()"
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].toString()"
    - "[org.slf4j.helpers.BasicMarker].toString()"
    - "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].toString()"
    - "[org.slf4j.event.KeyValuePair].toString()"
    - "[ch.qos.logback.classic.net.SocketNode].toString()"
    - "[ch.qos.logback.core.pattern.parser.SimpleKeywordNode].toString()"
    - "[org.xml.sax.SAXException].toString()"
    - "[ch.qos.logback.core.joran.spi.ElementPath].toString()"
    - "[ch.qos.logback.core.joran.event.BodyEvent].toString()"
    - "[ch.qos.logback.core.net.server.ServerSocketListener].toString()"
    - "[ch.qos.logback.core.model.NamedComponentModel].toString()"
    - "[ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy].toString()"
    - "[ch.qos.logback.core.recovery.ResilientSyslogOutputStream].toString()"
    - "[ch.qos.logback.core.spi.ConfigurationEvent].toString()"
    - "[ch.qos.logback.core.model.conditional.IfModel].toString()"
    - "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].toString()"
    - "[ch.qos.logback.core.joran.action.Action].toString()"
    - "[ch.qos.logback.core.joran.util.ParentTag_Tag_Class_Tuple].toString()"
    - "[ch.qos.logback.core.rolling.helper.RenameUtil].toString()"
    - "[ch.qos.logback.classic.Level].toString()"
    - "[ch.qos.logback.core.spi.AbstractComponentTracker$Entry].toString()"
    - "[ch.qos.logback.core.joran.spi.SimpleRuleStore].toString()"
    - "[ch.qos.logback.classic.LoggerContext].toString()"
    - "[ch.qos.logback.classic.joran.ReconfigureOnChangeTask].toString()"
    - "[ch.qos.logback.core.ContextBase].toString()"
    - "[ch.qos.logback.classic.net.server.RemoteAppenderStreamClient].toString()"
    - "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].toString()"
    - "[ch.qos.logback.core.AppenderBase].toString()"
    - "[org.slf4j.helpers.MarkerIgnoringBase].toString()"
    - "[ch.qos.logback.core.joran.event.stax.EndEvent].toString()"
    - "[ch.qos.logback.core.pattern.CompositeConverter].toString()"
    - "[org.xml.sax.SAXParseException].toString()"
    - "[ch.qos.logback.core.joran.spi.ConsoleTarget].toString()"
    - "[ch.qos.logback.core.joran.event.stax.StartEvent].toString()"
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].toString()"
    - "[ch.qos.logback.core.subst.Node].toString()"
    - "[ch.qos.logback.core.model.Model].toString()"
    - "[ch.qos.logback.core.joran.event.stax.BodyEvent].toString()"
    - "[ch.qos.logback.core.subst.Token].toString()"
    - "[ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy].toString()"
    - "[ch.qos.logback.core.joran.event.StartEvent].toString()"
    - "[ch.qos.logback.core.util.FileSize].toString()"
    - "[ch.qos.logback.core.pattern.parser.Node].toString()"
    - "[ch.qos.logback.classic.joran.sanity.IfNestedWithinSecondPhaseElementSC].toString()"
    - "[ch.qos.logback.classic.spi.StackTraceElementProxy].toString()"
    - "[ch.qos.logback.core.status.StatusBase].toString()"
    - "[ch.qos.logback.core.util.Duration].toString()"
    - "[org.slf4j.helpers.Reporter].error(java.lang.String,java.lang.Throwable)"
    - "[java.lang.Object].toString()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getName()"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 17
    EdgeCount: 63
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.MessageFormatter:291,1"
      Dst: "[java.lang.Object].toString()"
    - Src: "org.slf4j.helpers.MessageFormatter:292,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.slf4j.helpers.MessageFormatter:294,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.slf4j.helpers.MessageFormatter:294,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "org.slf4j.helpers.MessageFormatter:294,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "org.slf4j.helpers.MessageFormatter:294,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "org.slf4j.helpers.MessageFormatter:294,1"
      Dst: "[org.slf4j.helpers.Reporter].error(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.Reporter].error(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "org.slf4j.helpers.Reporter"
    linkageType: null
    functionLinenumber: 161
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.Reporter].getTarget()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.io.PrintStream].println(java.lang.String)"
    - "[java.lang.Throwable].printStackTrace(java.io.PrintStream)"
    functionUses: 6
    ICount: 14
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.Reporter:162,1"
      Dst: "[org.slf4j.helpers.Reporter].getTarget()"
    - Src: "org.slf4j.helpers.Reporter:162,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.slf4j.helpers.Reporter:162,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.slf4j.helpers.Reporter:162,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "org.slf4j.helpers.Reporter:162,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    - Src: "org.slf4j.helpers.Reporter:164,1"
      Dst: "[java.lang.Throwable].printStackTrace(java.io.PrintStream)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.MessageFormatter].booleanArrayAppend(java.lang.StringBuilder,boolean[])"
    functionSourceFile: "org.slf4j.helpers.MessageFormatter"
    linkageType: null
    functionLinenumber: 318
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "boolean[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(boolean)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 1
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.MessageFormatter:321"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:326"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:325"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.MessageFormatter:323"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:319"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:318"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.MessageFormatter:319,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "org.slf4j.helpers.MessageFormatter:322,1"
      Dst: "[java.lang.StringBuilder].append(boolean)"
    - Src: "org.slf4j.helpers.MessageFormatter:324,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[org.slf4j.helpers.MessageFormatter].byteArrayAppend(java.lang.StringBuilder,byte[])"
    functionSourceFile: "org.slf4j.helpers.MessageFormatter"
    linkageType: null
    functionLinenumber: 329
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 1
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.MessageFormatter:332"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:337"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:336"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.MessageFormatter:334"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:330"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:329"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.MessageFormatter:330,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "org.slf4j.helpers.MessageFormatter:333,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "org.slf4j.helpers.MessageFormatter:335,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[org.slf4j.helpers.MessageFormatter].charArrayAppend(java.lang.StringBuilder,char[])"
    functionSourceFile: "org.slf4j.helpers.MessageFormatter"
    linkageType: null
    functionLinenumber: 340
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "char[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 1
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.MessageFormatter:343"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:348"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:347"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.MessageFormatter:345"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:341"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:340"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.MessageFormatter:341,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "org.slf4j.helpers.MessageFormatter:346,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[org.slf4j.helpers.MessageFormatter].shortArrayAppend(java.lang.StringBuilder,short[])"
    functionSourceFile: "org.slf4j.helpers.MessageFormatter"
    linkageType: null
    functionLinenumber: 351
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "short[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 1
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.MessageFormatter:354"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:359"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:358"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.MessageFormatter:356"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:352"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:351"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.MessageFormatter:352,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "org.slf4j.helpers.MessageFormatter:355,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "org.slf4j.helpers.MessageFormatter:357,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[org.slf4j.helpers.MessageFormatter].intArrayAppend(java.lang.StringBuilder,int[])"
    functionSourceFile: "org.slf4j.helpers.MessageFormatter"
    linkageType: null
    functionLinenumber: 362
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "int[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 1
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.MessageFormatter:365"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:370"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:369"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.MessageFormatter:367"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:363"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:362"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.MessageFormatter:363,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "org.slf4j.helpers.MessageFormatter:366,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "org.slf4j.helpers.MessageFormatter:368,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[org.slf4j.helpers.MessageFormatter].longArrayAppend(java.lang.StringBuilder,long[])"
    functionSourceFile: "org.slf4j.helpers.MessageFormatter"
    linkageType: null
    functionLinenumber: 373
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "long[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(long)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 1
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.MessageFormatter:376"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:381"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:380"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.MessageFormatter:378"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:374"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:373"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.MessageFormatter:374,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "org.slf4j.helpers.MessageFormatter:377,1"
      Dst: "[java.lang.StringBuilder].append(long)"
    - Src: "org.slf4j.helpers.MessageFormatter:379,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[org.slf4j.helpers.MessageFormatter].floatArrayAppend(java.lang.StringBuilder,float[])"
    functionSourceFile: "org.slf4j.helpers.MessageFormatter"
    linkageType: null
    functionLinenumber: 384
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "float[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(float)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 1
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.MessageFormatter:387"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:392"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:391"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.MessageFormatter:389"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:385"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:384"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.MessageFormatter:385,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "org.slf4j.helpers.MessageFormatter:388,1"
      Dst: "[java.lang.StringBuilder].append(float)"
    - Src: "org.slf4j.helpers.MessageFormatter:390,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[org.slf4j.helpers.MessageFormatter].doubleArrayAppend(java.lang.StringBuilder,double[])"
    functionSourceFile: "org.slf4j.helpers.MessageFormatter"
    linkageType: null
    functionLinenumber: 395
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "double[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(double)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 1
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.MessageFormatter:398"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:403"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:402"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.MessageFormatter:400"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:396"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:395"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.MessageFormatter:396,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "org.slf4j.helpers.MessageFormatter:399,1"
      Dst: "[java.lang.StringBuilder].append(double)"
    - Src: "org.slf4j.helpers.MessageFormatter:401,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[org.slf4j.helpers.MessageFormatter].objectArrayAppend(java.lang.StringBuilder,java.lang.Object[],java.util.Map)"
    functionSourceFile: "org.slf4j.helpers.MessageFormatter"
    linkageType: null
    functionLinenumber: 300
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.StringBuilder"
    - "java.lang.Object[]"
    - "java.util.Map"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.MessageFormatter].deeplyAppendParameter(java.lang.StringBuilder,java.lang.Object,java.util.Map)"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.util.Map].containsKey(java.lang.Object)"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.util.Map].remove(java.lang.Object)"
    functionUses: 1
    ICount: 22
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.MessageFormatter:302"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:313"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:312"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.MessageFormatter:305"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:311"
        BranchSideFuncs:
        - "deeplyAppendParameter(java.lang.StringBuilder,java.lang.Object,java.util.Map)"
      - BranchSide: "org.slf4j.helpers.MessageFormatter:310"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.MessageFormatter:307"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:303"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:302"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.MessageFormatter:301,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "org.slf4j.helpers.MessageFormatter:302,1"
      Dst: "[java.util.Map].containsKey(java.lang.Object)"
    - Src: "org.slf4j.helpers.MessageFormatter:303,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - Src: "org.slf4j.helpers.MessageFormatter:306,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].deeplyAppendParameter(java.lang.StringBuilder,java.lang.Object,java.util.Map)"
    - Src: "org.slf4j.helpers.MessageFormatter:308,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.slf4j.helpers.MessageFormatter:311,1"
      Dst: "[java.util.Map].remove(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[org.slf4j.helpers.MessageFormatter].format(java.lang.String,java.lang.Object,java.lang.Object)"
    functionSourceFile: "org.slf4j.helpers.MessageFormatter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 6
    returnType: "org.slf4j.helpers.FormattingTuple"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.MessageFormatter].arrayFormat(java.lang.String,java.lang.Object[])"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.MessageFormatter:151,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].arrayFormat(java.lang.String,java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.MessageFormatter].arrayFormat(java.lang.String,java.lang.Object[])"
    functionSourceFile: "org.slf4j.helpers.MessageFormatter"
    linkageType: null
    functionLinenumber: 154
    functionDepth: 5
    returnType: "org.slf4j.helpers.FormattingTuple"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.MessageFormatter].getThrowableCandidate(java.lang.Object[])"
    - "[org.slf4j.helpers.MessageFormatter].trimmedCopy(java.lang.Object[])"
    - "[org.slf4j.helpers.MessageFormatter].arrayFormat(java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 2
    ICount: 8
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.MessageFormatter:157"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:160"
        BranchSideFuncs:
        - "trimmedCopy(java.lang.Object[])"
      - BranchSide: "org.slf4j.helpers.MessageFormatter:159"
        BranchSideFuncs:
        - "arrayFormat(java.lang.String,java.lang.Object[],java.lang.Throwable)"
    Callsites:
    - Src: "org.slf4j.helpers.MessageFormatter:155,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].getThrowableCandidate(java.lang.Object[])"
    - Src: "org.slf4j.helpers.MessageFormatter:158,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].trimmedCopy(java.lang.Object[])"
    - Src: "org.slf4j.helpers.MessageFormatter:160,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].arrayFormat(java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.helpers.MessageFormatter].arrayFormat(java.lang.String,java.lang.Object[])"
    functionSourceFile: "org.slf4j.helpers.MessageFormatter"
    linkageType: null
    functionLinenumber: 154
    functionDepth: 5
    returnType: "org.slf4j.helpers.FormattingTuple"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.MessageFormatter].getThrowableCandidate(java.lang.Object[])"
    - "[org.slf4j.helpers.MessageFormatter].trimmedCopy(java.lang.Object[])"
    - "[org.slf4j.helpers.MessageFormatter].arrayFormat(java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 2
    ICount: 8
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.MessageFormatter:157"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:160"
        BranchSideFuncs:
        - "trimmedCopy(java.lang.Object[])"
      - BranchSide: "org.slf4j.helpers.MessageFormatter:159"
        BranchSideFuncs:
        - "arrayFormat(java.lang.String,java.lang.Object[],java.lang.Throwable)"
    Callsites:
    - Src: "org.slf4j.helpers.MessageFormatter:155,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].getThrowableCandidate(java.lang.Object[])"
    - Src: "org.slf4j.helpers.MessageFormatter:158,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].trimmedCopy(java.lang.Object[])"
    - Src: "org.slf4j.helpers.MessageFormatter:160,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].arrayFormat(java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.helpers.MessageFormatter].basicArrayFormat(java.lang.String,java.lang.Object[])"
    functionSourceFile: "org.slf4j.helpers.MessageFormatter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 5
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.MessageFormatter].arrayFormat(java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[org.slf4j.helpers.FormattingTuple].getMessage()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.MessageFormatter:170,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].arrayFormat(java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Src: "org.slf4j.helpers.MessageFormatter:171,1"
      Dst: "[org.slf4j.helpers.FormattingTuple].getMessage()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.MessageFormatter].arrayFormat(java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "org.slf4j.helpers.MessageFormatter"
    linkageType: null
    functionLinenumber: 179
    functionDepth: 4
    returnType: "org.slf4j.helpers.FormattingTuple"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.FormattingTuple].<init>(java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[org.slf4j.helpers.FormattingTuple].<init>(java.lang.String)"
    - "[org.slf4j.helpers.MessageFormatter].isEscapedDelimeter(java.lang.String,int)"
    - "[org.slf4j.helpers.MessageFormatter].isDoubleEscaped(java.lang.String,int)"
    - "[org.slf4j.helpers.MessageFormatter].deeplyAppendParameter(java.lang.StringBuilder,java.lang.Object,java.util.Map)"
    - "[java.lang.String].length()"
    - "[java.lang.StringBuilder].<init>(int)"
    - "[java.lang.String].indexOf(java.lang.String,int)"
    - "[java.lang.StringBuilder].append(java.lang.CharSequence,int,int)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.util.HashMap].<init>()"
    functionUses: 1
    ICount: 65
    EdgeCount: 9
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.MessageFormatter:180"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:184"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:183"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.MessageFormatter:184"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:188"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "org.slf4j.helpers.MessageFormatter:187"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.MessageFormatter:194"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:230"
        BranchSideFuncs:
        - "<init>(java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Branch String: "org.slf4j.helpers.MessageFormatter:198"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:207"
        BranchSideFuncs:
        - "isEscapedDelimeter(java.lang.String,int)"
    - Branch String: "org.slf4j.helpers.MessageFormatter:200"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:204"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:203"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.MessageFormatter:208"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:224"
        BranchSideFuncs:
        - "isDoubleEscaped(java.lang.String,int)"
      - BranchSide: "org.slf4j.helpers.MessageFormatter:223"
        BranchSideFuncs:
        - "deeplyAppendParameter(java.lang.StringBuilder,java.lang.Object,java.util.Map)"
    - Branch String: "org.slf4j.helpers.MessageFormatter:209"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:218"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:217"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.MessageFormatter:181,1"
      Dst: "[org.slf4j.helpers.FormattingTuple].<init>(java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Src: "org.slf4j.helpers.MessageFormatter:185,1"
      Dst: "[org.slf4j.helpers.FormattingTuple].<init>(java.lang.String)"
    - Src: "org.slf4j.helpers.MessageFormatter:191,1"
      Dst: "[java.lang.String].length()"
    - Src: "org.slf4j.helpers.MessageFormatter:191,1"
      Dst: "[java.lang.StringBuilder].<init>(int)"
    - Src: "org.slf4j.helpers.MessageFormatter:196,1"
      Dst: "[java.lang.String].indexOf(java.lang.String,int)"
    - Src: "org.slf4j.helpers.MessageFormatter:204,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.CharSequence,int,int)"
    - Src: "org.slf4j.helpers.MessageFormatter:205,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "org.slf4j.helpers.MessageFormatter:208,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].isEscapedDelimeter(java.lang.String,int)"
    - Src: "org.slf4j.helpers.MessageFormatter:209,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].isDoubleEscaped(java.lang.String,int)"
    - Src: "org.slf4j.helpers.MessageFormatter:212,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "org.slf4j.helpers.MessageFormatter:219,1"
      Dst: "[java.util.HashMap].<init>()"
    - Src: "org.slf4j.helpers.MessageFormatter:219,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].deeplyAppendParameter(java.lang.StringBuilder,java.lang.Object,java.util.Map)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 17
    CyclomaticComplexity: 4
  - functionName: "[org.slf4j.helpers.FormattingTuple].getMessage()"
    functionSourceFile: "org.slf4j.helpers.FormattingTuple"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.MessageFormatter].basicArrayFormat(org.slf4j.helpers.NormalizedParameters)"
    functionSourceFile: "org.slf4j.helpers.MessageFormatter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 6
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "org.slf4j.helpers.NormalizedParameters"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.NormalizedParameters].getMessage()"
    - "[org.slf4j.helpers.NormalizedParameters].getArguments()"
    - "[org.slf4j.helpers.MessageFormatter].basicArrayFormat(java.lang.String,java.lang.Object[])"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.MessageFormatter:175,1"
      Dst: "[org.slf4j.helpers.NormalizedParameters].getMessage()"
    - Src: "org.slf4j.helpers.MessageFormatter:175,1"
      Dst: "[org.slf4j.helpers.NormalizedParameters].getArguments()"
    - Src: "org.slf4j.helpers.MessageFormatter:175,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].basicArrayFormat(java.lang.String,java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NormalizedParameters].getMessage()"
    functionSourceFile: "org.slf4j.helpers.NormalizedParameters"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NormalizedParameters].getArguments()"
    functionSourceFile: "org.slf4j.helpers.NormalizedParameters"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.Object[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.MessageFormatter].basicArrayFormat(java.lang.String,java.lang.Object[])"
    functionSourceFile: "org.slf4j.helpers.MessageFormatter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 5
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.MessageFormatter].arrayFormat(java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[org.slf4j.helpers.FormattingTuple].getMessage()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.MessageFormatter:170,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].arrayFormat(java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Src: "org.slf4j.helpers.MessageFormatter:171,1"
      Dst: "[org.slf4j.helpers.FormattingTuple].getMessage()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.MessageFormatter].arrayFormat(java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "org.slf4j.helpers.MessageFormatter"
    linkageType: null
    functionLinenumber: 179
    functionDepth: 4
    returnType: "org.slf4j.helpers.FormattingTuple"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.FormattingTuple].<init>(java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[org.slf4j.helpers.FormattingTuple].<init>(java.lang.String)"
    - "[org.slf4j.helpers.MessageFormatter].isEscapedDelimeter(java.lang.String,int)"
    - "[org.slf4j.helpers.MessageFormatter].isDoubleEscaped(java.lang.String,int)"
    - "[org.slf4j.helpers.MessageFormatter].deeplyAppendParameter(java.lang.StringBuilder,java.lang.Object,java.util.Map)"
    - "[java.lang.String].length()"
    - "[java.lang.StringBuilder].<init>(int)"
    - "[java.lang.String].indexOf(java.lang.String,int)"
    - "[java.lang.StringBuilder].append(java.lang.CharSequence,int,int)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.util.HashMap].<init>()"
    functionUses: 1
    ICount: 65
    EdgeCount: 9
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.MessageFormatter:180"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:184"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:183"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.MessageFormatter:184"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:188"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "org.slf4j.helpers.MessageFormatter:187"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.MessageFormatter:194"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:230"
        BranchSideFuncs:
        - "<init>(java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Branch String: "org.slf4j.helpers.MessageFormatter:198"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:207"
        BranchSideFuncs:
        - "isEscapedDelimeter(java.lang.String,int)"
    - Branch String: "org.slf4j.helpers.MessageFormatter:200"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:204"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:203"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.MessageFormatter:208"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:224"
        BranchSideFuncs:
        - "isDoubleEscaped(java.lang.String,int)"
      - BranchSide: "org.slf4j.helpers.MessageFormatter:223"
        BranchSideFuncs:
        - "deeplyAppendParameter(java.lang.StringBuilder,java.lang.Object,java.util.Map)"
    - Branch String: "org.slf4j.helpers.MessageFormatter:209"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:218"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:217"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.MessageFormatter:181,1"
      Dst: "[org.slf4j.helpers.FormattingTuple].<init>(java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Src: "org.slf4j.helpers.MessageFormatter:185,1"
      Dst: "[org.slf4j.helpers.FormattingTuple].<init>(java.lang.String)"
    - Src: "org.slf4j.helpers.MessageFormatter:191,1"
      Dst: "[java.lang.String].length()"
    - Src: "org.slf4j.helpers.MessageFormatter:191,1"
      Dst: "[java.lang.StringBuilder].<init>(int)"
    - Src: "org.slf4j.helpers.MessageFormatter:196,1"
      Dst: "[java.lang.String].indexOf(java.lang.String,int)"
    - Src: "org.slf4j.helpers.MessageFormatter:204,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.CharSequence,int,int)"
    - Src: "org.slf4j.helpers.MessageFormatter:205,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "org.slf4j.helpers.MessageFormatter:208,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].isEscapedDelimeter(java.lang.String,int)"
    - Src: "org.slf4j.helpers.MessageFormatter:209,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].isDoubleEscaped(java.lang.String,int)"
    - Src: "org.slf4j.helpers.MessageFormatter:212,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "org.slf4j.helpers.MessageFormatter:219,1"
      Dst: "[java.util.HashMap].<init>()"
    - Src: "org.slf4j.helpers.MessageFormatter:219,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].deeplyAppendParameter(java.lang.StringBuilder,java.lang.Object,java.util.Map)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 17
    CyclomaticComplexity: 4
  - functionName: "[org.slf4j.helpers.MessageFormatter].isEscapedDelimeter(java.lang.String,int)"
    functionSourceFile: "org.slf4j.helpers.MessageFormatter"
    linkageType: null
    functionLinenumber: 236
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].charAt(int)"
    functionUses: 1
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.MessageFormatter:237"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:240"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:239"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.MessageFormatter:241"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:244"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:243"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.MessageFormatter:240,1"
      Dst: "[java.lang.String].charAt(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.MessageFormatter].isDoubleEscaped(java.lang.String,int)"
    functionSourceFile: "org.slf4j.helpers.MessageFormatter"
    linkageType: null
    functionLinenumber: 248
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].charAt(int)"
    functionUses: 1
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.MessageFormatter:249"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:252"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:251"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.MessageFormatter:249"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:252"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:251"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.MessageFormatter:249,1"
      Dst: "[java.lang.String].charAt(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.helpers.MessageFormatter].deeplyAppendParameter(java.lang.StringBuilder,java.lang.Object,java.util.Map)"
    functionSourceFile: "org.slf4j.helpers.MessageFormatter"
    linkageType: null
    functionLinenumber: 257
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.StringBuilder"
    - "java.lang.Object"
    - "java.util.Map"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.MessageFormatter].safeObjectAppend(java.lang.StringBuilder,java.lang.Object)"
    - "[org.slf4j.helpers.MessageFormatter].booleanArrayAppend(java.lang.StringBuilder,boolean[])"
    - "[org.slf4j.helpers.MessageFormatter].byteArrayAppend(java.lang.StringBuilder,byte[])"
    - "[org.slf4j.helpers.MessageFormatter].charArrayAppend(java.lang.StringBuilder,char[])"
    - "[org.slf4j.helpers.MessageFormatter].shortArrayAppend(java.lang.StringBuilder,short[])"
    - "[org.slf4j.helpers.MessageFormatter].intArrayAppend(java.lang.StringBuilder,int[])"
    - "[org.slf4j.helpers.MessageFormatter].longArrayAppend(java.lang.StringBuilder,long[])"
    - "[org.slf4j.helpers.MessageFormatter].floatArrayAppend(java.lang.StringBuilder,float[])"
    - "[org.slf4j.helpers.MessageFormatter].doubleArrayAppend(java.lang.StringBuilder,double[])"
    - "[org.slf4j.helpers.MessageFormatter].objectArrayAppend(java.lang.StringBuilder,java.lang.Object[],java.util.Map)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].isArray()"
    functionUses: 3
    ICount: 54
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.MessageFormatter:258"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:262"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:261"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.MessageFormatter:262"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:267"
        BranchSideFuncs:
        - "safeObjectAppend(java.lang.StringBuilder,java.lang.Object)"
      - BranchSide: "org.slf4j.helpers.MessageFormatter:266"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.MessageFormatter:267"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:269"
        BranchSideFuncs:
        - "booleanArrayAppend(java.lang.StringBuilder,boolean[])"
      - BranchSide: "org.slf4j.helpers.MessageFormatter:268"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.MessageFormatter:269"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:271"
        BranchSideFuncs:
        - "byteArrayAppend(java.lang.StringBuilder,byte[])"
      - BranchSide: "org.slf4j.helpers.MessageFormatter:270"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.MessageFormatter:271"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:273"
        BranchSideFuncs:
        - "charArrayAppend(java.lang.StringBuilder,char[])"
      - BranchSide: "org.slf4j.helpers.MessageFormatter:272"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.MessageFormatter:273"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:275"
        BranchSideFuncs:
        - "shortArrayAppend(java.lang.StringBuilder,short[])"
      - BranchSide: "org.slf4j.helpers.MessageFormatter:274"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.MessageFormatter:275"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:277"
        BranchSideFuncs:
        - "intArrayAppend(java.lang.StringBuilder,int[])"
      - BranchSide: "org.slf4j.helpers.MessageFormatter:276"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.MessageFormatter:277"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:279"
        BranchSideFuncs:
        - "longArrayAppend(java.lang.StringBuilder,long[])"
      - BranchSide: "org.slf4j.helpers.MessageFormatter:278"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.MessageFormatter:279"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:281"
        BranchSideFuncs:
        - "floatArrayAppend(java.lang.StringBuilder,float[])"
      - BranchSide: "org.slf4j.helpers.MessageFormatter:280"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.MessageFormatter:281"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:284"
        BranchSideFuncs:
        - "doubleArrayAppend(java.lang.StringBuilder,double[])"
      - BranchSide: "org.slf4j.helpers.MessageFormatter:283"
        BranchSideFuncs:
        - "objectArrayAppend(java.lang.StringBuilder,java.lang.Object[],java.util.Map)"
    Callsites:
    - Src: "org.slf4j.helpers.MessageFormatter:259,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.slf4j.helpers.MessageFormatter:262,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "org.slf4j.helpers.MessageFormatter:262,1"
      Dst: "[java.lang.Class].isArray()"
    - Src: "org.slf4j.helpers.MessageFormatter:263,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].safeObjectAppend(java.lang.StringBuilder,java.lang.Object)"
    - Src: "org.slf4j.helpers.MessageFormatter:268,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].booleanArrayAppend(java.lang.StringBuilder,boolean[])"
    - Src: "org.slf4j.helpers.MessageFormatter:270,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].byteArrayAppend(java.lang.StringBuilder,byte[])"
    - Src: "org.slf4j.helpers.MessageFormatter:272,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].charArrayAppend(java.lang.StringBuilder,char[])"
    - Src: "org.slf4j.helpers.MessageFormatter:274,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].shortArrayAppend(java.lang.StringBuilder,short[])"
    - Src: "org.slf4j.helpers.MessageFormatter:276,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].intArrayAppend(java.lang.StringBuilder,int[])"
    - Src: "org.slf4j.helpers.MessageFormatter:278,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].longArrayAppend(java.lang.StringBuilder,long[])"
    - Src: "org.slf4j.helpers.MessageFormatter:280,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].floatArrayAppend(java.lang.StringBuilder,float[])"
    - Src: "org.slf4j.helpers.MessageFormatter:282,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].doubleArrayAppend(java.lang.StringBuilder,double[])"
    - Src: "org.slf4j.helpers.MessageFormatter:284,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].objectArrayAppend(java.lang.StringBuilder,java.lang.Object[],java.util.Map)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 22
    CyclomaticComplexity: 10
  - functionName: "[org.slf4j.helpers.MessageFormatter].safeObjectAppend(java.lang.StringBuilder,java.lang.Object)"
    functionSourceFile: "org.slf4j.helpers.MessageFormatter"
    linkageType: null
    functionLinenumber: 290
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.Token].toString()"
    - "[ch.qos.logback.classic.spi.LoggerContextVO].toString()"
    - "[ch.qos.logback.classic.Logger].toString()"
    - "[ch.qos.logback.classic.model.LoggerModel].toString()"
    - "[ch.qos.logback.core.recovery.ResilientFileOutputStream].toString()"
    - "[ch.qos.logback.core.pattern.PatternLayoutBase].toString()"
    - "[ch.qos.logback.core.UnsynchronizedAppenderBase].toString()"
    - "[org.slf4j.event.Level].toString()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].toString()"
    - "[ch.qos.logback.core.joran.event.EndEvent].toString()"
    - "[ch.qos.logback.core.pattern.parser.CompositeNode].toString()"
    - "[ch.qos.logback.core.testUtil.TeeOutputStream].toString()"
    - "[ch.qos.logback.core.model.ComponentModel].toString()"
    - "[ch.qos.logback.core.rolling.helper.Compressor].toString()"
    - "[ch.qos.logback.core.pattern.FormatInfo].toString()"
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].toString()"
    - "[org.slf4j.helpers.BasicMarker].toString()"
    - "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].toString()"
    - "[org.slf4j.event.KeyValuePair].toString()"
    - "[ch.qos.logback.classic.net.SocketNode].toString()"
    - "[ch.qos.logback.core.pattern.parser.SimpleKeywordNode].toString()"
    - "[org.xml.sax.SAXException].toString()"
    - "[ch.qos.logback.core.joran.spi.ElementPath].toString()"
    - "[ch.qos.logback.core.joran.event.BodyEvent].toString()"
    - "[ch.qos.logback.core.net.server.ServerSocketListener].toString()"
    - "[ch.qos.logback.core.model.NamedComponentModel].toString()"
    - "[ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy].toString()"
    - "[ch.qos.logback.core.recovery.ResilientSyslogOutputStream].toString()"
    - "[ch.qos.logback.core.spi.ConfigurationEvent].toString()"
    - "[ch.qos.logback.core.model.conditional.IfModel].toString()"
    - "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].toString()"
    - "[ch.qos.logback.core.joran.action.Action].toString()"
    - "[ch.qos.logback.core.joran.util.ParentTag_Tag_Class_Tuple].toString()"
    - "[ch.qos.logback.core.rolling.helper.RenameUtil].toString()"
    - "[ch.qos.logback.classic.Level].toString()"
    - "[ch.qos.logback.core.spi.AbstractComponentTracker$Entry].toString()"
    - "[ch.qos.logback.core.joran.spi.SimpleRuleStore].toString()"
    - "[ch.qos.logback.classic.LoggerContext].toString()"
    - "[ch.qos.logback.classic.joran.ReconfigureOnChangeTask].toString()"
    - "[ch.qos.logback.core.ContextBase].toString()"
    - "[ch.qos.logback.classic.net.server.RemoteAppenderStreamClient].toString()"
    - "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].toString()"
    - "[ch.qos.logback.core.AppenderBase].toString()"
    - "[org.slf4j.helpers.MarkerIgnoringBase].toString()"
    - "[ch.qos.logback.core.joran.event.stax.EndEvent].toString()"
    - "[ch.qos.logback.core.pattern.CompositeConverter].toString()"
    - "[org.xml.sax.SAXParseException].toString()"
    - "[ch.qos.logback.core.joran.spi.ConsoleTarget].toString()"
    - "[ch.qos.logback.core.joran.event.stax.StartEvent].toString()"
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].toString()"
    - "[ch.qos.logback.core.subst.Node].toString()"
    - "[ch.qos.logback.core.model.Model].toString()"
    - "[ch.qos.logback.core.joran.event.stax.BodyEvent].toString()"
    - "[ch.qos.logback.core.subst.Token].toString()"
    - "[ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy].toString()"
    - "[ch.qos.logback.core.joran.event.StartEvent].toString()"
    - "[ch.qos.logback.core.util.FileSize].toString()"
    - "[ch.qos.logback.core.pattern.parser.Node].toString()"
    - "[ch.qos.logback.classic.joran.sanity.IfNestedWithinSecondPhaseElementSC].toString()"
    - "[ch.qos.logback.classic.spi.StackTraceElementProxy].toString()"
    - "[ch.qos.logback.core.status.StatusBase].toString()"
    - "[ch.qos.logback.core.util.Duration].toString()"
    - "[org.slf4j.helpers.Reporter].error(java.lang.String,java.lang.Throwable)"
    - "[java.lang.Object].toString()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getName()"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 17
    EdgeCount: 63
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.MessageFormatter:291,1"
      Dst: "[java.lang.Object].toString()"
    - Src: "org.slf4j.helpers.MessageFormatter:292,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.slf4j.helpers.MessageFormatter:294,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.slf4j.helpers.MessageFormatter:294,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "org.slf4j.helpers.MessageFormatter:294,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "org.slf4j.helpers.MessageFormatter:294,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "org.slf4j.helpers.MessageFormatter:294,1"
      Dst: "[org.slf4j.helpers.Reporter].error(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.MessageFormatter].objectArrayAppend(java.lang.StringBuilder,java.lang.Object[],java.util.Map)"
    functionSourceFile: "org.slf4j.helpers.MessageFormatter"
    linkageType: null
    functionLinenumber: 300
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.StringBuilder"
    - "java.lang.Object[]"
    - "java.util.Map"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.MessageFormatter].deeplyAppendParameter(java.lang.StringBuilder,java.lang.Object,java.util.Map)"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.util.Map].containsKey(java.lang.Object)"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.util.Map].remove(java.lang.Object)"
    functionUses: 1
    ICount: 22
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.MessageFormatter:302"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:313"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:312"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.MessageFormatter:305"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:311"
        BranchSideFuncs:
        - "deeplyAppendParameter(java.lang.StringBuilder,java.lang.Object,java.util.Map)"
      - BranchSide: "org.slf4j.helpers.MessageFormatter:310"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.MessageFormatter:307"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:303"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:302"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.MessageFormatter:301,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "org.slf4j.helpers.MessageFormatter:302,1"
      Dst: "[java.util.Map].containsKey(java.lang.Object)"
    - Src: "org.slf4j.helpers.MessageFormatter:303,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - Src: "org.slf4j.helpers.MessageFormatter:306,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].deeplyAppendParameter(java.lang.StringBuilder,java.lang.Object,java.util.Map)"
    - Src: "org.slf4j.helpers.MessageFormatter:308,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.slf4j.helpers.MessageFormatter:311,1"
      Dst: "[java.util.Map].remove(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[org.slf4j.helpers.MessageFormatter].booleanArrayAppend(java.lang.StringBuilder,boolean[])"
    functionSourceFile: "org.slf4j.helpers.MessageFormatter"
    linkageType: null
    functionLinenumber: 318
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "boolean[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(boolean)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 1
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.MessageFormatter:321"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:326"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:325"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.MessageFormatter:323"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:319"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:318"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.MessageFormatter:319,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "org.slf4j.helpers.MessageFormatter:322,1"
      Dst: "[java.lang.StringBuilder].append(boolean)"
    - Src: "org.slf4j.helpers.MessageFormatter:324,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[org.slf4j.helpers.MessageFormatter].byteArrayAppend(java.lang.StringBuilder,byte[])"
    functionSourceFile: "org.slf4j.helpers.MessageFormatter"
    linkageType: null
    functionLinenumber: 329
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 1
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.MessageFormatter:332"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:337"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:336"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.MessageFormatter:334"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:330"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:329"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.MessageFormatter:330,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "org.slf4j.helpers.MessageFormatter:333,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "org.slf4j.helpers.MessageFormatter:335,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[org.slf4j.helpers.MessageFormatter].charArrayAppend(java.lang.StringBuilder,char[])"
    functionSourceFile: "org.slf4j.helpers.MessageFormatter"
    linkageType: null
    functionLinenumber: 340
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "char[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 1
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.MessageFormatter:343"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:348"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:347"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.MessageFormatter:345"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:341"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:340"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.MessageFormatter:341,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "org.slf4j.helpers.MessageFormatter:346,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[org.slf4j.helpers.MessageFormatter].shortArrayAppend(java.lang.StringBuilder,short[])"
    functionSourceFile: "org.slf4j.helpers.MessageFormatter"
    linkageType: null
    functionLinenumber: 351
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "short[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 1
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.MessageFormatter:354"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:359"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:358"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.MessageFormatter:356"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:352"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:351"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.MessageFormatter:352,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "org.slf4j.helpers.MessageFormatter:355,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "org.slf4j.helpers.MessageFormatter:357,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[org.slf4j.helpers.MessageFormatter].intArrayAppend(java.lang.StringBuilder,int[])"
    functionSourceFile: "org.slf4j.helpers.MessageFormatter"
    linkageType: null
    functionLinenumber: 362
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "int[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 1
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.MessageFormatter:365"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:370"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:369"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.MessageFormatter:367"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:363"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:362"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.MessageFormatter:363,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "org.slf4j.helpers.MessageFormatter:366,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "org.slf4j.helpers.MessageFormatter:368,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[org.slf4j.helpers.MessageFormatter].longArrayAppend(java.lang.StringBuilder,long[])"
    functionSourceFile: "org.slf4j.helpers.MessageFormatter"
    linkageType: null
    functionLinenumber: 373
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "long[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(long)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 1
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.MessageFormatter:376"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:381"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:380"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.MessageFormatter:378"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:374"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:373"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.MessageFormatter:374,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "org.slf4j.helpers.MessageFormatter:377,1"
      Dst: "[java.lang.StringBuilder].append(long)"
    - Src: "org.slf4j.helpers.MessageFormatter:379,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[org.slf4j.helpers.MessageFormatter].floatArrayAppend(java.lang.StringBuilder,float[])"
    functionSourceFile: "org.slf4j.helpers.MessageFormatter"
    linkageType: null
    functionLinenumber: 384
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "float[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(float)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 1
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.MessageFormatter:387"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:392"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:391"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.MessageFormatter:389"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:385"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:384"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.MessageFormatter:385,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "org.slf4j.helpers.MessageFormatter:388,1"
      Dst: "[java.lang.StringBuilder].append(float)"
    - Src: "org.slf4j.helpers.MessageFormatter:390,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[org.slf4j.helpers.MessageFormatter].doubleArrayAppend(java.lang.StringBuilder,double[])"
    functionSourceFile: "org.slf4j.helpers.MessageFormatter"
    linkageType: null
    functionLinenumber: 395
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "double[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(double)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 1
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.MessageFormatter:398"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:403"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:402"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.MessageFormatter:400"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:396"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.MessageFormatter:395"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.MessageFormatter:396,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "org.slf4j.helpers.MessageFormatter:399,1"
      Dst: "[java.lang.StringBuilder].append(double)"
    - Src: "org.slf4j.helpers.MessageFormatter:401,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[org.slf4j.helpers.MessageFormatter].getThrowableCandidate(java.lang.Object[])"
    functionSourceFile: "org.slf4j.helpers.MessageFormatter"
    linkageType: null
    functionLinenumber: 414
    functionDepth: 1
    returnType: "java.lang.Throwable"
    argCount: 1
    argTypes:
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.NormalizedParameters].getThrowableCandidate(java.lang.Object[])"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.MessageFormatter:415,1"
      Dst: "[org.slf4j.helpers.NormalizedParameters].getThrowableCandidate(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.MessageFormatter].trimmedCopy(java.lang.Object[])"
    functionSourceFile: "org.slf4j.helpers.MessageFormatter"
    linkageType: null
    functionLinenumber: 426
    functionDepth: 1
    returnType: "java.lang.Object[]"
    argCount: 1
    argTypes:
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.NormalizedParameters].trimmedCopy(java.lang.Object[])"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.MessageFormatter:427,1"
      Dst: "[org.slf4j.helpers.NormalizedParameters].trimmedCopy(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.DuplicateMessageFilter].<init>()"
    functionSourceFile: "ch.qos.logback.classic.turbo.DuplicateMessageFilter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.turbo.TurboFilter].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.turbo.DuplicateMessageFilter:30,1"
      Dst: "[ch.qos.logback.classic.turbo.TurboFilter].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.DuplicateMessageFilter].start()"
    functionSourceFile: "ch.qos.logback.classic.turbo.DuplicateMessageFilter"
    linkageType: null
    functionLinenumber: 47
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.turbo.LRUMessageCache].<init>(int)"
    - "[ch.qos.logback.classic.turbo.TurboFilter].start()"
    functionUses: 5
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.turbo.DuplicateMessageFilter:48,1"
      Dst: "[ch.qos.logback.classic.turbo.LRUMessageCache].<init>(int)"
    - Src: "ch.qos.logback.classic.turbo.DuplicateMessageFilter:49,1"
      Dst: "[ch.qos.logback.classic.turbo.TurboFilter].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.LRUMessageCache].<init>(int)"
    functionSourceFile: "ch.qos.logback.classic.turbo.LRUMessageCache"
    linkageType: null
    functionLinenumber: 29
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.LinkedHashMap].<init>(int,float,boolean)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.turbo.LRUMessageCache:31"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.turbo.LRUMessageCache:34"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.turbo.LRUMessageCache:33"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.turbo.LRUMessageCache:30,1"
      Dst: "[java.util.LinkedHashMap].<init>(int,float,boolean)"
    - Src: "ch.qos.logback.classic.turbo.LRUMessageCache:32,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.DuplicateMessageFilter].stop()"
    functionSourceFile: "ch.qos.logback.classic.turbo.DuplicateMessageFilter"
    linkageType: null
    functionLinenumber: 53
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.turbo.LRUMessageCache].clear()"
    - "[ch.qos.logback.classic.turbo.TurboFilter].stop()"
    functionUses: 2
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.turbo.DuplicateMessageFilter:54,1"
      Dst: "[ch.qos.logback.classic.turbo.LRUMessageCache].clear()"
    - Src: "ch.qos.logback.classic.turbo.DuplicateMessageFilter:56,1"
      Dst: "[ch.qos.logback.classic.turbo.TurboFilter].stop()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.LRUMessageCache].clear()"
    functionSourceFile: "ch.qos.logback.classic.turbo.LRUMessageCache"
    linkageType: null
    functionLinenumber: 64
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.LinkedHashMap].clear()"
    functionUses: 4
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.turbo.LRUMessageCache:65,1"
      Dst: "[java.util.LinkedHashMap].clear()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.DuplicateMessageFilter].decide(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.turbo.DuplicateMessageFilter"
    linkageType: null
    functionLinenumber: 60
    functionDepth: 1
    returnType: "ch.qos.logback.core.spi.FilterReply"
    argCount: 6
    argTypes:
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Logger"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.turbo.LRUMessageCache].getMessageCountAndThenIncrement(java.lang.String)"
    functionUses: 2
    ICount: 15
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.turbo.DuplicateMessageFilter:62"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.turbo.DuplicateMessageFilter:65"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.turbo.DuplicateMessageFilter:64"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.turbo.DuplicateMessageFilter:61,1"
      Dst: "[ch.qos.logback.classic.turbo.LRUMessageCache].getMessageCountAndThenIncrement(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.LRUMessageCache].getMessageCountAndThenIncrement(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.turbo.LRUMessageCache"
    linkageType: null
    functionLinenumber: 38
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.LinkedHashMap].get(java.lang.Object)"
    - "[java.lang.Integer].valueOf(int)"
    - "[java.lang.Integer].intValue()"
    - "[java.util.HashMap].put(java.lang.Object,java.lang.Object)"
    functionUses: 1
    ICount: 21
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.turbo.LRUMessageCache:39"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.turbo.LRUMessageCache:45"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.turbo.LRUMessageCache:44"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.turbo.LRUMessageCache:47"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.turbo.LRUMessageCache:50"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.turbo.LRUMessageCache:49"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.turbo.LRUMessageCache:46,1"
      Dst: "[java.util.LinkedHashMap].get(java.lang.Object)"
    - Src: "ch.qos.logback.classic.turbo.LRUMessageCache:48,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "ch.qos.logback.classic.turbo.LRUMessageCache:50,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "ch.qos.logback.classic.turbo.LRUMessageCache:52,1"
      Dst: "[java.util.HashMap].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.DuplicateMessageFilter].getAllowedRepetitions()"
    functionSourceFile: "ch.qos.logback.classic.turbo.DuplicateMessageFilter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.DuplicateMessageFilter].setAllowedRepetitions(int)"
    functionSourceFile: "ch.qos.logback.classic.turbo.DuplicateMessageFilter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.DuplicateMessageFilter].getCacheSize()"
    functionSourceFile: "ch.qos.logback.classic.turbo.DuplicateMessageFilter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.DuplicateMessageFilter].setCacheSize(int)"
    functionSourceFile: "ch.qos.logback.classic.turbo.DuplicateMessageFilter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__7].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__7"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__7].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__7:-1,1"
      Dst: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__7].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__7].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__7"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__7:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__7].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__7"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__7:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__7].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__7"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.EventEvaluatorModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__7:-1,1"
      Dst: "[ch.qos.logback.core.model.processor.EventEvaluatorModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.EventEvaluatorModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler"
    linkageType: null
    functionLinenumber: 25
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.EventEvaluatorModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:26,1"
      Dst: "[ch.qos.logback.core.model.processor.EventEvaluatorModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.TokenStream].<init>(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.TokenStream"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.util.RegularEscapeUtil].<init>()"
    - "[ch.qos.logback.core.pattern.parser.TokenStream].<init>(java.lang.String,ch.qos.logback.core.pattern.util.IEscapeUtil)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:65,1"
      Dst: "[ch.qos.logback.core.pattern.util.RegularEscapeUtil].<init>()"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:65,1"
      Dst: "[ch.qos.logback.core.pattern.parser.TokenStream].<init>(java.lang.String,ch.qos.logback.core.pattern.util.IEscapeUtil)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.TokenStream].<init>(java.lang.String,ch.qos.logback.core.pattern.util.IEscapeUtil)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.TokenStream"
    linkageType: null
    functionLinenumber: 67
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "ch.qos.logback.core.pattern.util.IEscapeUtil"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.util.RestrictedEscapeUtil].<init>()"
    - "[java.lang.Object].<init>()"
    - "[java.lang.String].length()"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 21
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.TokenStream:69"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.TokenStream:70"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.TokenStream:69"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.TokenStream:69"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.TokenStream:72"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.TokenStream:71"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:68,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:58,1"
      Dst: "[ch.qos.logback.core.pattern.util.RestrictedEscapeUtil].<init>()"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:69,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:70,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.pattern.parser.TokenStream].tokenize()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.TokenStream"
    linkageType: null
    functionLinenumber: 77
    functionDepth: 5
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.TokenStream].handleLiteralState(char,java.util.List,java.lang.StringBuffer)"
    - "[ch.qos.logback.core.pattern.parser.TokenStream].handleFormatModifierState(char,java.util.List,java.lang.StringBuffer)"
    - "[ch.qos.logback.core.pattern.parser.TokenStream].processOption(char,java.util.List,java.lang.StringBuffer)"
    - "[ch.qos.logback.core.pattern.parser.TokenStream].handleKeywordState(char,java.util.List,java.lang.StringBuffer)"
    - "[ch.qos.logback.core.pattern.parser.TokenStream].handleRightParenthesisState(char,java.util.List,java.lang.StringBuffer)"
    - "[ch.qos.logback.core.pattern.parser.TokenStream].addValuedToken(int,java.lang.StringBuffer,java.util.List)"
    - "[ch.qos.logback.core.pattern.parser.Token].<init>(int,java.lang.String)"
    - "[ch.qos.logback.core.spi.ScanException].<init>(java.lang.String)"
    - "[java.util.ArrayList].<init>()"
    - "[java.lang.StringBuffer].<init>()"
    - "[java.lang.String].charAt(int)"
    - "[java.lang.Enum].ordinal()"
    - "[java.lang.StringBuffer].toString()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 49
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.TokenStream:81"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.TokenStream:107"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.TokenStream:106"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:78,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:79,1"
      Dst: "[java.lang.StringBuffer].<init>()"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:82,1"
      Dst: "[java.lang.String].charAt(int)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:85,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:87,1"
      Dst: "[ch.qos.logback.core.pattern.parser.TokenStream].handleLiteralState(char,java.util.List,java.lang.StringBuffer)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:90,1"
      Dst: "[ch.qos.logback.core.pattern.parser.TokenStream].handleFormatModifierState(char,java.util.List,java.lang.StringBuffer)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:93,1"
      Dst: "[ch.qos.logback.core.pattern.parser.TokenStream].processOption(char,java.util.List,java.lang.StringBuffer)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:96,1"
      Dst: "[ch.qos.logback.core.pattern.parser.TokenStream].handleKeywordState(char,java.util.List,java.lang.StringBuffer)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:99,1"
      Dst: "[ch.qos.logback.core.pattern.parser.TokenStream].handleRightParenthesisState(char,java.util.List,java.lang.StringBuffer)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:109,1"
      Dst: "[ch.qos.logback.core.pattern.parser.TokenStream].addValuedToken(int,java.lang.StringBuffer,java.util.List)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:112,1"
      Dst: "[java.lang.StringBuffer].toString()"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:112,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Token].<init>(int,java.lang.String)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:112,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:120,1"
      Dst: "[ch.qos.logback.core.spi.ScanException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 15
    CyclomaticComplexity: 10
  - functionName: "[ch.qos.logback.core.pattern.parser.TokenStream].handleRightParenthesisState(char,java.util.List,java.lang.StringBuffer)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.TokenStream"
    linkageType: null
    functionLinenumber: 126
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "char"
    - "java.util.List"
    - "java.lang.StringBuffer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.parser.TokenStream].escape(java.lang.String,java.lang.StringBuffer)"
    - "[java.util.List].add(java.lang.Object)"
    - "[java.lang.StringBuffer].append(char)"
    functionUses: 1
    ICount: 20
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:127,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:135,1"
      Dst: "[ch.qos.logback.core.pattern.parser.TokenStream].escape(java.lang.String,java.lang.StringBuffer)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:139,1"
      Dst: "[java.lang.StringBuffer].append(char)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.pattern.parser.TokenStream].processOption(char,java.util.List,java.lang.StringBuffer)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.TokenStream"
    linkageType: null
    functionLinenumber: 144
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "char"
    - "java.util.List"
    - "java.lang.StringBuffer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.OptionTokenizer].<init>(ch.qos.logback.core.pattern.parser.TokenStream)"
    - "[ch.qos.logback.core.pattern.parser.OptionTokenizer].tokenize(char,java.util.List)"
    functionUses: 1
    ICount: 8
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:145,1"
      Dst: "[ch.qos.logback.core.pattern.parser.OptionTokenizer].<init>(ch.qos.logback.core.pattern.parser.TokenStream)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:146,1"
      Dst: "[ch.qos.logback.core.pattern.parser.OptionTokenizer].tokenize(char,java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.TokenStream].handleFormatModifierState(char,java.util.List,java.lang.StringBuffer)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.TokenStream"
    linkageType: null
    functionLinenumber: 149
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "char"
    - "java.util.List"
    - "java.lang.StringBuffer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.TokenStream].addValuedToken(int,java.lang.StringBuffer,java.util.List)"
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.util.List].add(java.lang.Object)"
    - "[java.lang.Character].isJavaIdentifierStart(char)"
    - "[java.lang.StringBuffer].append(char)"
    functionUses: 1
    ICount: 21
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.TokenStream:150"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.TokenStream:154"
        BranchSideFuncs:
        - "add(java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.pattern.parser.TokenStream:153"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.TokenStream:154"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.TokenStream:159"
        BranchSideFuncs:
        - "addValuedToken(int,java.lang.StringBuffer,java.util.List)"
      - BranchSide: "ch.qos.logback.core.pattern.parser.TokenStream:158"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:151,1"
      Dst: "[ch.qos.logback.core.pattern.parser.TokenStream].addValuedToken(int,java.lang.StringBuffer,java.util.List)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:152,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:154,1"
      Dst: "[java.lang.Character].isJavaIdentifierStart(char)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:157,1"
      Dst: "[java.lang.StringBuffer].append(char)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.pattern.parser.TokenStream].handleLiteralState(char,java.util.List,java.lang.StringBuffer)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.TokenStream"
    linkageType: null
    functionLinenumber: 163
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "char"
    - "java.util.List"
    - "java.lang.StringBuffer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.TokenStream].escape(java.lang.String,java.lang.StringBuffer)"
    - "[ch.qos.logback.core.pattern.parser.TokenStream].addValuedToken(int,java.lang.StringBuffer,java.util.List)"
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.util.List].add(java.lang.Object)"
    - "[java.lang.StringBuffer].append(char)"
    functionUses: 1
    ICount: 20
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:166,1"
      Dst: "[ch.qos.logback.core.pattern.parser.TokenStream].escape(java.lang.String,java.lang.StringBuffer)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:170,1"
      Dst: "[ch.qos.logback.core.pattern.parser.TokenStream].addValuedToken(int,java.lang.StringBuffer,java.util.List)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:171,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:181,1"
      Dst: "[java.lang.StringBuffer].append(char)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.pattern.parser.TokenStream].handleKeywordState(char,java.util.List,java.lang.StringBuffer)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.TokenStream"
    linkageType: null
    functionLinenumber: 186
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "char"
    - "java.util.List"
    - "java.lang.StringBuffer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.TokenStream].addValuedToken(int,java.lang.StringBuffer,java.util.List)"
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.util.AsIsEscapeUtil].escape(java.lang.String,java.lang.StringBuffer,char,int)"
    - "[ch.qos.logback.core.pattern.util.AlmostAsIsEscapeUtil].escape(java.lang.String,java.lang.StringBuffer,char,int)"
    - "[ch.qos.logback.core.pattern.util.RegularEscapeUtil].escape(java.lang.String,java.lang.StringBuffer,char,int)"
    - "[ch.qos.logback.core.pattern.util.RestrictedEscapeUtil].escape(java.lang.String,java.lang.StringBuffer,char,int)"
    - "[java.lang.Character].isJavaIdentifierPart(char)"
    - "[java.lang.StringBuffer].append(char)"
    - "[java.util.List].add(java.lang.Object)"
    - "[java.lang.String].charAt(int)"
    - "[ch.qos.logback.core.pattern.util.IEscapeUtil].escape(java.lang.String,java.lang.StringBuffer,char,int)"
    functionUses: 1
    ICount: 53
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.TokenStream:187"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.TokenStream:null"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.TokenStream:189"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.TokenStream:null"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.TokenStream:192"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.TokenStream:null"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.TokenStream:195"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.TokenStream:null"
        BranchSideFuncs:
        - "add(java.lang.Object)"
    - Branch String: "ch.qos.logback.core.pattern.parser.TokenStream:199"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.TokenStream:203"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.TokenStream:202"
        BranchSideFuncs:
        - "addValuedToken(int,java.lang.StringBuffer,java.util.List)"
    - Branch String: "ch.qos.logback.core.pattern.parser.TokenStream:204"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.TokenStream:210"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.TokenStream:209"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.TokenStream:205"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.TokenStream:212"
        BranchSideFuncs:
        - "escape(java.lang.String,java.lang.StringBuffer,char,int)"
      - BranchSide: "ch.qos.logback.core.pattern.parser.TokenStream:211"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:187,1"
      Dst: "[java.lang.Character].isJavaIdentifierPart(char)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:188,1"
      Dst: "[java.lang.StringBuffer].append(char)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:190,1"
      Dst: "[ch.qos.logback.core.pattern.parser.TokenStream].addValuedToken(int,java.lang.StringBuffer,java.util.List)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:197,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:206,1"
      Dst: "[java.lang.String].charAt(int)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:207,1"
      Dst: "[ch.qos.logback.core.pattern.util.IEscapeUtil].escape(java.lang.String,java.lang.StringBuffer,char,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 16
    CyclomaticComplexity: 8
  - functionName: "[ch.qos.logback.core.pattern.parser.TokenStream].escape(java.lang.String,java.lang.StringBuffer)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.TokenStream"
    linkageType: null
    functionLinenumber: 216
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.StringBuffer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.util.AsIsEscapeUtil].escape(java.lang.String,java.lang.StringBuffer,char,int)"
    - "[ch.qos.logback.core.pattern.util.AlmostAsIsEscapeUtil].escape(java.lang.String,java.lang.StringBuffer,char,int)"
    - "[ch.qos.logback.core.pattern.util.RegularEscapeUtil].escape(java.lang.String,java.lang.StringBuffer,char,int)"
    - "[ch.qos.logback.core.pattern.util.RestrictedEscapeUtil].escape(java.lang.String,java.lang.StringBuffer,char,int)"
    - "[java.lang.String].charAt(int)"
    - "[ch.qos.logback.core.pattern.util.IEscapeUtil].escape(java.lang.String,java.lang.StringBuffer,char,int)"
    functionUses: 2
    ICount: 15
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.TokenStream:217"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.TokenStream:221"
        BranchSideFuncs:
        - "escape(java.lang.String,java.lang.StringBuffer,char,int)"
      - BranchSide: "ch.qos.logback.core.pattern.parser.TokenStream:220"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:218,1"
      Dst: "[java.lang.String].charAt(int)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:219,1"
      Dst: "[ch.qos.logback.core.pattern.util.IEscapeUtil].escape(java.lang.String,java.lang.StringBuffer,char,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.pattern.parser.TokenStream].optionEscape(java.lang.String,java.lang.StringBuffer)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.TokenStream"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.StringBuffer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].charAt(int)"
    - "[ch.qos.logback.core.pattern.util.IEscapeUtil].escape(java.lang.String,java.lang.StringBuffer,char,int)"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.TokenStream:224"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.TokenStream:228"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.TokenStream:227"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:225,1"
      Dst: "[java.lang.String].charAt(int)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:226,1"
      Dst: "[ch.qos.logback.core.pattern.util.IEscapeUtil].escape(java.lang.String,java.lang.StringBuffer,char,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.pattern.parser.TokenStream].addValuedToken(int,java.lang.StringBuffer,java.util.List)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.TokenStream"
    linkageType: null
    functionLinenumber: 230
    functionDepth: 2
    returnType: "void"
    argCount: 3
    argTypes:
    - "int"
    - "java.lang.StringBuffer"
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.Token].<init>(int,java.lang.String)"
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.lang.StringBuffer].length()"
    - "[java.lang.StringBuffer].toString()"
    - "[java.util.List].add(java.lang.Object)"
    - "[java.lang.StringBuffer].setLength(int)"
    functionUses: 10
    ICount: 12
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.TokenStream:231"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.TokenStream:235"
        BranchSideFuncs:
        - "<init>(int,java.lang.String)"
        - "add(java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.pattern.parser.TokenStream:234"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:231,1"
      Dst: "[java.lang.StringBuffer].length()"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:232,1"
      Dst: "[java.lang.StringBuffer].toString()"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:232,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Token].<init>(int,java.lang.String)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:232,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream:233,1"
      Dst: "[java.lang.StringBuffer].setLength(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.ContentTypeUtil].<init>()"
    functionSourceFile: "ch.qos.logback.core.util.ContentTypeUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.ContentTypeUtil:22,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.ContentTypeUtil].isTextual(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.ContentTypeUtil"
    linkageType: null
    functionLinenumber: 24
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].startsWith(java.lang.String)"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.ContentTypeUtil:25"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.ContentTypeUtil:28"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.ContentTypeUtil:27"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.ContentTypeUtil:28,1"
      Dst: "[java.lang.String].startsWith(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.ContentTypeUtil].getSubType(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.ContentTypeUtil"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].indexOf(int)"
    - "[java.lang.String].length()"
    - "[java.lang.String].substring(int)"
    functionUses: 1
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.ContentTypeUtil:32"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.ContentTypeUtil:35"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.ContentTypeUtil:34"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.ContentTypeUtil:36"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.ContentTypeUtil:39"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.ContentTypeUtil:38"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.ContentTypeUtil:40"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.ContentTypeUtil:43"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.ContentTypeUtil:42"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.ContentTypeUtil:35,1"
      Dst: "[java.lang.String].indexOf(int)"
    - Src: "ch.qos.logback.core.util.ContentTypeUtil:40,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.core.util.ContentTypeUtil:41,1"
      Dst: "[java.lang.String].substring(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.PatternLayoutEncoderBase].<init>()"
    functionSourceFile: "ch.qos.logback.core.pattern.PatternLayoutEncoderBase"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].<init>()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.PatternLayoutEncoderBase:19,1"
      Dst: "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.PatternLayoutEncoderBase].getPattern()"
    functionSourceFile: "ch.qos.logback.core.pattern.PatternLayoutEncoderBase"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.PatternLayoutEncoderBase].setPattern(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.pattern.PatternLayoutEncoderBase"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.PatternLayoutEncoderBase].isOutputPatternAsHeader()"
    functionSourceFile: "ch.qos.logback.core.pattern.PatternLayoutEncoderBase"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.PatternLayoutEncoderBase].setOutputPatternAsHeader(boolean)"
    functionSourceFile: "ch.qos.logback.core.pattern.PatternLayoutEncoderBase"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.PatternLayoutEncoderBase].isOutputPatternAsPresentationHeader()"
    functionSourceFile: "ch.qos.logback.core.pattern.PatternLayoutEncoderBase"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.PatternLayoutEncoderBase].setOutputPatternAsPresentationHeader(boolean)"
    functionSourceFile: "ch.qos.logback.core.pattern.PatternLayoutEncoderBase"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.PatternLayoutEncoderBase:56,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 96
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.PatternLayoutEncoderBase].setLayout(ch.qos.logback.core.Layout)"
    functionSourceFile: "ch.qos.logback.core.pattern.PatternLayoutEncoderBase"
    linkageType: null
    functionLinenumber: 61
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Layout"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.lang.UnsupportedOperationException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.PatternLayoutEncoderBase:62,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.pattern.PatternLayoutEncoderBase:62,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.core.pattern.PatternLayoutEncoderBase:62,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.pattern.PatternLayoutEncoderBase:62,1"
      Dst: "[java.lang.UnsupportedOperationException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ParamModelHandler].<init>(ch.qos.logback.core.Context,ch.qos.logback.core.joran.util.beans.BeanDescriptionCache)"
    functionSourceFile: "ch.qos.logback.core.joran.ParamModelHandler"
    linkageType: null
    functionLinenumber: 16
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.joran.util.beans.BeanDescriptionCache"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ParamModelHandler:17,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ParamModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.joran.ParamModelHandler"
    linkageType: null
    functionLinenumber: 21
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.ParamModelHandler].<init>(ch.qos.logback.core.Context,ch.qos.logback.core.joran.util.beans.BeanDescriptionCache)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getBeanDescriptionCache()"
    functionUses: 2
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ParamModelHandler:22,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getBeanDescriptionCache()"
    - Src: "ch.qos.logback.core.joran.ParamModelHandler:22,1"
      Dst: "[ch.qos.logback.core.joran.ParamModelHandler].<init>(ch.qos.logback.core.Context,ch.qos.logback.core.joran.util.beans.BeanDescriptionCache)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ParamModelHandler].getSupportedModelClass()"
    functionSourceFile: "ch.qos.logback.core.joran.ParamModelHandler"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 0
    returnType: "java.lang.Class"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ParamModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.joran.ParamModelHandler"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 13
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.ParamModel].getValue()"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekObject()"
    - "[ch.qos.logback.core.joran.util.PropertySetter].<init>(ch.qos.logback.core.joran.util.beans.BeanDescriptionCache,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.model.NamedModel].getName()"
    - "[ch.qos.logback.core.joran.util.PropertySetter].setProperty(java.lang.String,java.lang.String)"
    functionUses: 3
    ICount: 16
    EdgeCount: 8
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ParamModelHandler:35,1"
      Dst: "[ch.qos.logback.core.model.ParamModel].getValue()"
    - Src: "ch.qos.logback.core.joran.ParamModelHandler:35,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.ParamModelHandler:37,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekObject()"
    - Src: "ch.qos.logback.core.joran.ParamModelHandler:39,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].<init>(ch.qos.logback.core.joran.util.beans.BeanDescriptionCache,java.lang.Object)"
    - Src: "ch.qos.logback.core.joran.ParamModelHandler:40,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.joran.ParamModelHandler:43,1"
      Dst: "[ch.qos.logback.core.model.NamedModel].getName()"
    - Src: "ch.qos.logback.core.joran.ParamModelHandler:44,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].setProperty(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ParamModel].getValue()"
    functionSourceFile: "ch.qos.logback.core.model.ParamModel"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 152
    functionDepth: 12
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.OptionHelper].substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 26
    ICount: 11
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:153"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:158"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:157"
        BranchSideFuncs:
        - "substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:158,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:160,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:160,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekObject()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 122
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].peek()"
    functionUses: 16
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:123,1"
      Dst: "[java.util.Stack].peek()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].<init>(ch.qos.logback.core.joran.util.beans.BeanDescriptionCache,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 64
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.joran.util.beans.BeanDescriptionCache"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - "[ch.qos.logback.core.joran.util.beans.BeanDescriptionCache].getBeanDescription(java.lang.Class)"
    - "[java.lang.Object].getClass()"
    functionUses: 3
    ICount: 11
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:65,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:67,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:68,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanDescriptionCache].getBeanDescription(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 34
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:34,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.beans.BeanDescriptionCache].getBeanDescription(java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.joran.util.beans.BeanDescriptionCache"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 3
    returnType: "ch.qos.logback.core.joran.util.beans.BeanDescription"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory].create(java.lang.Class)"
    - "[ch.qos.logback.core.joran.util.beans.BeanDescriptionCache].getBeanDescriptionFactory()"
    - "[java.util.Map].containsKey(java.lang.Object)"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - "[java.util.Map].get(java.lang.Object)"
    functionUses: 1
    ICount: 13
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.beans.BeanDescriptionCache:47"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanDescriptionCache:51"
        BranchSideFuncs:
        - "getBeanDescriptionFactory()"
        - "create(java.lang.Class)"
      - BranchSide: "ch.qos.logback.core.joran.util.beans.BeanDescriptionCache:50"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescriptionCache:47,1"
      Dst: "[java.util.Map].containsKey(java.lang.Object)"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescriptionCache:48,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanDescriptionCache].getBeanDescriptionFactory()"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescriptionCache:48,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory].create(java.lang.Class)"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescriptionCache:49,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescriptionCache:51,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 67
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:45"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:44"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:47"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:46,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.model.NamedModel].getName()"
    functionSourceFile: "ch.qos.logback.core.model.NamedModel"
    linkageType: null
    functionLinenumber: 36
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 6
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].setProperty(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 87
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.PropertySetter].findSetterMethod(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.joran.util.PropertySetter].setProperty(java.lang.reflect.Method,java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String,java.lang.Throwable)"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    functionUses: 2
    ICount: 18
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:88"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:91"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:90"
        BranchSideFuncs:
        - "findSetterMethod(java.lang.String)"
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:92"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:96"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:95"
        BranchSideFuncs:
        - "setProperty(java.lang.reflect.Method,java.lang.String,java.lang.String)"
        - "addWarn(java.lang.String,java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:91,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].findSetterMethod(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:93,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:93,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:96,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].setProperty(java.lang.reflect.Method,java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:98,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__12].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__12"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__12].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__12:-1,1"
      Dst: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__12].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__12].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__12"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__12:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__12].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__12"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__12:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__12].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__12"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.TimestampModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__12:-1,1"
      Dst: "[ch.qos.logback.core.model.processor.TimestampModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.TimestampModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.TimestampModelHandler"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.TimestampModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.TimestampModelHandler:35,1"
      Dst: "[ch.qos.logback.core.model.processor.TimestampModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SecureRandomFactoryBean].<init>()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SecureRandomFactoryBean"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SecureRandomFactoryBean:28,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SecureRandomFactoryBean].createSecureRandom()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SecureRandomFactoryBean"
    linkageType: null
    functionLinenumber: 48
    functionDepth: 1
    returnType: "java.security.SecureRandom"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.SecureRandomFactoryBean].getAlgorithm()"
    - "[ch.qos.logback.core.net.ssl.SecureRandomFactoryBean].getProvider()"
    - "[java.security.SecureRandom].getInstance(java.lang.String,java.lang.String)"
    - "[java.security.SecureRandom].getInstance(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.security.NoSuchProviderException].<init>(java.lang.String)"
    - "[java.security.NoSuchAlgorithmException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 22
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.SecureRandomFactoryBean:49"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SecureRandomFactoryBean:50"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.ssl.SecureRandomFactoryBean:49"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SecureRandomFactoryBean:49,1"
      Dst: "[ch.qos.logback.core.net.ssl.SecureRandomFactoryBean].getProvider()"
    - Src: "ch.qos.logback.core.net.ssl.SecureRandomFactoryBean:49,1"
      Dst: "[ch.qos.logback.core.net.ssl.SecureRandomFactoryBean].getAlgorithm()"
    - Src: "ch.qos.logback.core.net.ssl.SecureRandomFactoryBean:49,1"
      Dst: "[java.security.SecureRandom].getInstance(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SecureRandomFactoryBean:50,1"
      Dst: "[java.security.SecureRandom].getInstance(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SecureRandomFactoryBean:52,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SecureRandomFactoryBean:52,1"
      Dst: "[java.security.NoSuchProviderException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SecureRandomFactoryBean:54,1"
      Dst: "[java.security.NoSuchAlgorithmException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SecureRandomFactoryBean].getProvider()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SecureRandomFactoryBean"
    linkageType: null
    functionLinenumber: 88
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SecureRandomFactoryBean].getAlgorithm()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SecureRandomFactoryBean"
    linkageType: null
    functionLinenumber: 65
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 6
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.SecureRandomFactoryBean:66"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SecureRandomFactoryBean:69"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.ssl.SecureRandomFactoryBean:68"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SecureRandomFactoryBean].getAlgorithm()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SecureRandomFactoryBean"
    linkageType: null
    functionLinenumber: 65
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 6
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.SecureRandomFactoryBean:66"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SecureRandomFactoryBean:69"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.ssl.SecureRandomFactoryBean:68"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SecureRandomFactoryBean].setAlgorithm(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SecureRandomFactoryBean"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SecureRandomFactoryBean].getProvider()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SecureRandomFactoryBean"
    linkageType: null
    functionLinenumber: 88
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SecureRandomFactoryBean].setProvider(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SecureRandomFactoryBean"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLoggerFactory].<init>()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLoggerFactory"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.concurrent.ConcurrentHashMap].<init>()"
    - "[java.util.concurrent.LinkedBlockingQueue].<init>()"
    functionUses: 1
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLoggerFactory:43,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "org.slf4j.helpers.SubstituteLoggerFactory:47,1"
      Dst: "[java.util.concurrent.ConcurrentHashMap].<init>()"
    - Src: "org.slf4j.helpers.SubstituteLoggerFactory:49,1"
      Dst: "[java.util.concurrent.LinkedBlockingQueue].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLoggerFactory].getLogger(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLoggerFactory"
    linkageType: null
    functionLinenumber: 51
    functionDepth: 1
    returnType: "org.slf4j.Logger"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].<init>(java.lang.String,java.util.Queue,boolean)"
    - "[java.util.Map].get(java.lang.Object)"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 1
    ICount: 14
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLoggerFactory:53"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLoggerFactory:57"
        BranchSideFuncs:
        - "<init>(java.lang.String,java.util.Queue,boolean)"
      - BranchSide: "org.slf4j.helpers.SubstituteLoggerFactory:56"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLoggerFactory:52,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "org.slf4j.helpers.SubstituteLoggerFactory:54,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].<init>(java.lang.String,java.util.Queue,boolean)"
    - Src: "org.slf4j.helpers.SubstituteLoggerFactory:55,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.helpers.SubstituteLogger].<init>(java.lang.String,java.util.Queue,boolean)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 59
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.util.Queue"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:60,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLoggerFactory].getLoggerNames()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLoggerFactory"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map].keySet()"
    - "[java.util.ArrayList].<init>(java.util.Collection)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLoggerFactory:61,1"
      Dst: "[java.util.Map].keySet()"
    - Src: "org.slf4j.helpers.SubstituteLoggerFactory:61,1"
      Dst: "[java.util.ArrayList].<init>(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLoggerFactory].getLoggers()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLoggerFactory"
    linkageType: null
    functionLinenumber: 64
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map].values()"
    - "[java.util.ArrayList].<init>(java.util.Collection)"
    functionUses: 1
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLoggerFactory:65,1"
      Dst: "[java.util.Map].values()"
    - Src: "org.slf4j.helpers.SubstituteLoggerFactory:65,1"
      Dst: "[java.util.ArrayList].<init>(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLoggerFactory].getEventQueue()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLoggerFactory"
    linkageType: null
    functionLinenumber: 68
    functionDepth: 0
    returnType: "java.util.concurrent.LinkedBlockingQueue"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLoggerFactory].postInitialization()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLoggerFactory"
    linkageType: null
    functionLinenumber: 72
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLoggerFactory].clear()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLoggerFactory"
    linkageType: null
    functionLinenumber: 76
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.turbo.LRUMessageCache].clear()"
    - "[java.util.Map].clear()"
    - "[java.util.concurrent.LinkedBlockingQueue].clear()"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLoggerFactory:77,1"
      Dst: "[java.util.Map].clear()"
    - Src: "org.slf4j.helpers.SubstituteLoggerFactory:78,1"
      Dst: "[java.util.concurrent.LinkedBlockingQueue].clear()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.conditional.ThenModelHandler].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.model.processor.conditional.ThenModelHandler"
    linkageType: null
    functionLinenumber: 29
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.conditional.ThenModelHandler:30,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.conditional.ThenModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.conditional.ThenModelHandler"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.conditional.ThenModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.conditional.ThenModelHandler:34,1"
      Dst: "[ch.qos.logback.core.model.processor.conditional.ThenModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.conditional.ThenModelHandler].getSupportedModelClass()"
    functionSourceFile: "ch.qos.logback.core.model.processor.conditional.ThenModelHandler"
    linkageType: null
    functionLinenumber: 38
    functionDepth: 0
    returnType: "java.lang.Class"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.conditional.ThenModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.conditional.ThenModelHandler"
    linkageType: null
    functionLinenumber: 44
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].isModelStackEmpty()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.model.Model].markAsSkipped()"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekModel()"
    - "[ch.qos.logback.core.model.conditional.IfModel].getBranchState()"
    - "[ch.qos.logback.core.model.Model].deepMarkAsSkipped()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.model.Model)"
    functionUses: 3
    ICount: 22
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.conditional.ThenModelHandler:47"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.conditional.ThenModelHandler:52"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.conditional.ThenModelHandler:51"
        BranchSideFuncs:
        - "peekModel()"
    - Branch String: "ch.qos.logback.core.model.processor.conditional.ThenModelHandler:54"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.conditional.ThenModelHandler:60"
        BranchSideFuncs:
        - "markAsSkipped()"
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.model.processor.conditional.ThenModelHandler:59"
        BranchSideFuncs:
        - "getBranchState()"
    - Branch String: "ch.qos.logback.core.model.processor.conditional.ThenModelHandler:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.conditional.ThenModelHandler:64"
        BranchSideFuncs:
        - "deepMarkAsSkipped()"
      - BranchSide: "ch.qos.logback.core.model.processor.conditional.ThenModelHandler:63"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.conditional.ThenModelHandler:47,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].isModelStackEmpty()"
    - Src: "ch.qos.logback.core.model.processor.conditional.ThenModelHandler:48,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.conditional.ThenModelHandler:49,1"
      Dst: "[ch.qos.logback.core.model.Model].markAsSkipped()"
    - Src: "ch.qos.logback.core.model.processor.conditional.ThenModelHandler:52,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekModel()"
    - Src: "ch.qos.logback.core.model.processor.conditional.ThenModelHandler:55,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.model.processor.conditional.ThenModelHandler:61,1"
      Dst: "[ch.qos.logback.core.model.conditional.IfModel].getBranchState()"
    - Src: "ch.qos.logback.core.model.processor.conditional.ThenModelHandler:62,1"
      Dst: "[ch.qos.logback.core.model.Model].deepMarkAsSkipped()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].isModelStackEmpty()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Vector].isEmpty()"
    functionUses: 3
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:105,1"
      Dst: "[java.util.Vector].isEmpty()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].markAsSkipped()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 63
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 7
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekModel()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 0
    returnType: "ch.qos.logback.core.model.Model"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].peek()"
    functionUses: 4
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:101,1"
      Dst: "[java.util.Stack].peek()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.conditional.IfModel].getBranchState()"
    functionSourceFile: "ch.qos.logback.core.model.conditional.IfModel"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 0
    returnType: "ch.qos.logback.core.model.conditional.IfModel$BranchState"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].deepMarkAsSkipped()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 66
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].markAsSkipped()"
    - "[ch.qos.logback.core.model.Model].getSubModels()"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.model.Model].deepMarkAsSkipped()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    functionUses: 3
    ICount: 11
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.Model:68"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:71"
        BranchSideFuncs:
        - "deepMarkAsSkipped()"
        - "iterator()"
        - "getSubModels()"
      - BranchSide: "ch.qos.logback.core.model.Model:70"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:67,1"
      Dst: "[ch.qos.logback.core.model.Model].markAsSkipped()"
    - Src: "ch.qos.logback.core.model.Model:68,1"
      Dst: "[ch.qos.logback.core.model.Model].getSubModels()"
    - Src: "ch.qos.logback.core.model.Model:68,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.model.Model:68,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.model.Model:68,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.model.Model:69,1"
      Dst: "[ch.qos.logback.core.model.Model].deepMarkAsSkipped()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.action.ContextPropertyAction].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.action.ContextPropertyAction"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.Action].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.ContextPropertyAction:24,1"
      Dst: "[ch.qos.logback.core.joran.action.Action].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.ContextPropertyAction].begin(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.ContextPropertyAction"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 2
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.ContextPropertyAction:28,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.ContextPropertyAction].end(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.action.ContextPropertyAction"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.ClassicEnvUtil].<init>()"
    functionSourceFile: "ch.qos.logback.classic.util.ClassicEnvUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.ClassicEnvUtil:27,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.ClassicEnvUtil].isGroovyAvailable()"
    functionSourceFile: "ch.qos.logback.classic.util.ClassicEnvUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 3
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.EnvUtil].isClassAvailable(java.lang.Class,java.lang.String)"
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.ClassicEnvUtil:38,1"
      Dst: "[ch.qos.logback.core.util.EnvUtil].isClassAvailable(java.lang.Class,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.EnvUtil].isClassAvailable(java.lang.Class,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.EnvUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].getClassLoaderOfClass(java.lang.Class)"
    - "[java.lang.ClassLoader].loadClass(java.lang.String)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.EnvUtil:138"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:135"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:134"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.EnvUtil:135,1"
      Dst: "[ch.qos.logback.core.util.Loader].getClassLoaderOfClass(java.lang.Class)"
    - Src: "ch.qos.logback.core.util.EnvUtil:137,1"
      Dst: "[java.lang.ClassLoader].loadClass(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.ClassicEnvUtil].loadFromServiceLoader(java.lang.Class,java.lang.ClassLoader)"
    functionSourceFile: "ch.qos.logback.classic.util.ClassicEnvUtil"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "java.lang.ClassLoader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ServiceLoader].load(java.lang.Class,java.lang.ClassLoader)"
    - "[java.util.ArrayList].<init>()"
    - "[java.util.ServiceLoader].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.ClassicEnvUtil:50"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.ClassicEnvUtil:54"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.ClassicEnvUtil:53"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.ClassicEnvUtil:47,1"
      Dst: "[java.util.ServiceLoader].load(java.lang.Class,java.lang.ClassLoader)"
    - Src: "ch.qos.logback.classic.util.ClassicEnvUtil:48,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.classic.util.ClassicEnvUtil:49,1"
      Dst: "[java.util.ServiceLoader].iterator()"
    - Src: "ch.qos.logback.classic.util.ClassicEnvUtil:50,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.classic.util.ClassicEnvUtil:51,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.classic.util.ClassicEnvUtil:52,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__48].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__48"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__48].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__48:-1,1"
      Dst: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__48].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__48].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__48"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__48:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__48].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__48"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__48:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__48].get()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__48"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.NewRuleAction].<init>()"
    functionUses: 3
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__48:-1,1"
      Dst: "[ch.qos.logback.core.joran.action.NewRuleAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.NewRuleAction].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.action.NewRuleAction"
    linkageType: null
    functionLinenumber: 21
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.Action].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.NewRuleAction:22,1"
      Dst: "[ch.qos.logback.core.joran.action.Action].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PropertyAction].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.action.PropertyAction"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 3
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.PropertyAction:28,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PropertyAction].validPreconditions(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.PropertyAction"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 2
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.action.PropertyAction:35"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.PropertyAction:38"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.action.PropertyAction:37"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.PropertyAction:35,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.joran.action.PropertyAction:36,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 96
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PropertyAction].buildCurrentModel(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.PropertyAction"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 3
    returnType: "ch.qos.logback.core.model.Model"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.PropertyModel].<init>()"
    - "[org.xml.sax.helpers.AttributesImpl].getValue(java.lang.String)"
    - "[ch.qos.logback.core.model.NamedModel].setName(java.lang.String)"
    - "[ch.qos.logback.core.model.PropertyModel].setValue(java.lang.String)"
    - "[ch.qos.logback.core.model.PropertyModel].setScopeStr(java.lang.String)"
    - "[ch.qos.logback.core.model.PropertyModel].setFile(java.lang.String)"
    - "[ch.qos.logback.core.model.PropertyModel].setResource(java.lang.String)"
    - "[org.xml.sax.Attributes].getValue(java.lang.String)"
    functionUses: 1
    ICount: 17
    EdgeCount: 11
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.PropertyAction:44,1"
      Dst: "[ch.qos.logback.core.model.PropertyModel].<init>()"
    - Src: "ch.qos.logback.core.joran.action.PropertyAction:45,1"
      Dst: "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.PropertyAction:45,1"
      Dst: "[ch.qos.logback.core.model.NamedModel].setName(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.PropertyAction:46,1"
      Dst: "[ch.qos.logback.core.model.PropertyModel].setValue(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.PropertyAction:47,1"
      Dst: "[ch.qos.logback.core.model.PropertyModel].setScopeStr(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.PropertyAction:48,1"
      Dst: "[ch.qos.logback.core.model.PropertyModel].setFile(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.PropertyAction:49,1"
      Dst: "[ch.qos.logback.core.model.PropertyModel].setResource(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.PropertyModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.PropertyModel"
    linkageType: null
    functionLinenumber: 4
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.NamedModel].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.PropertyModel:5,1"
      Dst: "[ch.qos.logback.core.model.NamedModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.NamedModel].setName(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.NamedModel"
    linkageType: null
    functionLinenumber: 40
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.PropertyModel].setValue(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.PropertyModel"
    linkageType: null
    functionLinenumber: 35
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.PropertyModel].setScopeStr(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.PropertyModel"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.PropertyModel].setFile(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.PropertyModel"
    linkageType: null
    functionLinenumber: 51
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.PropertyModel].setResource(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.PropertyModel"
    linkageType: null
    functionLinenumber: 59
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.AutoFlushingObjectWriter].<init>(java.io.ObjectOutputStream,int)"
    functionSourceFile: "ch.qos.logback.core.net.AutoFlushingObjectWriter"
    linkageType: null
    functionLinenumber: 38
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.io.ObjectOutputStream"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.AutoFlushingObjectWriter:39,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.AutoFlushingObjectWriter].write(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.net.AutoFlushingObjectWriter"
    linkageType: null
    functionLinenumber: 45
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.AutoFlushingObjectWriter].preventMemoryLeak()"
    - "[java.io.ObjectOutputStream].writeObject(java.lang.Object)"
    - "[java.io.ObjectOutputStream].flush()"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.AutoFlushingObjectWriter:46,1"
      Dst: "[java.io.ObjectOutputStream].writeObject(java.lang.Object)"
    - Src: "ch.qos.logback.core.net.AutoFlushingObjectWriter:47,1"
      Dst: "[java.io.ObjectOutputStream].flush()"
    - Src: "ch.qos.logback.core.net.AutoFlushingObjectWriter:48,1"
      Dst: "[ch.qos.logback.core.net.AutoFlushingObjectWriter].preventMemoryLeak()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.AutoFlushingObjectWriter].preventMemoryLeak()"
    functionSourceFile: "ch.qos.logback.core.net.AutoFlushingObjectWriter"
    linkageType: null
    functionLinenumber: 56
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.ObjectOutputStream].reset()"
    functionUses: 1
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.AutoFlushingObjectWriter:57"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.AutoFlushingObjectWriter:61"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.AutoFlushingObjectWriter:60"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.AutoFlushingObjectWriter:58,1"
      Dst: "[java.io.ObjectOutputStream].reset()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.net.AutoFlushingObjectWriter].preventMemoryLeak()"
    functionSourceFile: "ch.qos.logback.core.net.AutoFlushingObjectWriter"
    linkageType: null
    functionLinenumber: 56
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.ObjectOutputStream].reset()"
    functionUses: 1
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.AutoFlushingObjectWriter:57"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.AutoFlushingObjectWriter:61"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.AutoFlushingObjectWriter:60"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.AutoFlushingObjectWriter:58,1"
      Dst: "[java.io.ObjectOutputStream].reset()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.CallerData].<init>()"
    functionSourceFile: "ch.qos.logback.classic.spi.CallerData"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.CallerData:28,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.CallerData].extract(java.lang.Throwable,java.lang.String,int,java.util.List)"
    functionSourceFile: "ch.qos.logback.classic.spi.CallerData"
    linkageType: null
    functionLinenumber: 53
    functionDepth: 2
    returnType: "java.lang.StackTraceElement[]"
    argCount: 4
    argTypes:
    - "java.lang.Throwable"
    - "java.lang.String"
    - "int"
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.CallerData].isInFrameworkSpace(java.lang.String,java.lang.String,java.util.List)"
    - "[java.lang.Throwable].getStackTrace()"
    - "[java.lang.StackTraceElement].getClassName()"
    functionUses: 1
    ICount: 43
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.CallerData:54"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.CallerData:58"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.CallerData:57"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.CallerData:62"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.CallerData:null"
        BranchSideFuncs:
        - "isInFrameworkSpace(java.lang.String,java.lang.String,java.util.List)"
    - Branch String: "ch.qos.logback.classic.spi.CallerData:63"
      Branch Sides: []
    - Branch String: "ch.qos.logback.classic.spi.CallerData:67"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.CallerData:58"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.CallerData:57"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.CallerData:74"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.CallerData:78"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.CallerData:77"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.CallerData:79"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.CallerData:78"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.CallerData:77"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.CallerData:82"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.CallerData:84"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.CallerData:58,1"
      Dst: "[java.lang.Throwable].getStackTrace()"
    - Src: "ch.qos.logback.classic.spi.CallerData:63,1"
      Dst: "[java.lang.StackTraceElement].getClassName()"
    - Src: "ch.qos.logback.classic.spi.CallerData:63,1"
      Dst: "[ch.qos.logback.classic.spi.CallerData].isInFrameworkSpace(java.lang.String,java.lang.String,java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 18
    CyclomaticComplexity: 6
  - functionName: "[ch.qos.logback.classic.spi.CallerData].isInFrameworkSpace(java.lang.String,java.lang.String,java.util.List)"
    functionSourceFile: "ch.qos.logback.classic.spi.CallerData"
    linkageType: null
    functionLinenumber: 91
    functionDepth: 1
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.CallerData].isInFrameworkSpaceList(java.lang.String,java.util.List)"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.lang.String].startsWith(java.lang.String)"
    functionUses: 1
    ICount: 13
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.CallerData:92"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.CallerData:95"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.CallerData:94"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.CallerData:92"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.CallerData:95"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.CallerData:94"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.CallerData:93"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.CallerData:95"
        BranchSideFuncs:
        - "isInFrameworkSpaceList(java.lang.String,java.util.List)"
      - BranchSide: "ch.qos.logback.classic.spi.CallerData:94"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.CallerData:94"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.CallerData:97"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.CallerData:96"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.CallerData:92,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "ch.qos.logback.classic.spi.CallerData:93,1"
      Dst: "[java.lang.String].startsWith(java.lang.String)"
    - Src: "ch.qos.logback.classic.spi.CallerData:94,1"
      Dst: "[ch.qos.logback.classic.spi.CallerData].isInFrameworkSpaceList(java.lang.String,java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.classic.spi.CallerData].isInFrameworkSpaceList(java.lang.String,java.util.List)"
    functionSourceFile: "ch.qos.logback.classic.spi.CallerData"
    linkageType: null
    functionLinenumber: 105
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.lang.String].startsWith(java.lang.String)"
    functionUses: 1
    ICount: 14
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.CallerData:106"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.CallerData:109"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.CallerData:108"
        BranchSideFuncs:
        - "iterator()"
    - Branch String: "ch.qos.logback.classic.spi.CallerData:109"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.CallerData:113"
        BranchSideFuncs:
        - "iterator()"
      - BranchSide: "ch.qos.logback.classic.spi.CallerData:112"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.CallerData:110"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.CallerData:112"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.CallerData:111"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.CallerData:109,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.classic.spi.CallerData:109,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.classic.spi.CallerData:109,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.classic.spi.CallerData:110,1"
      Dst: "[java.lang.String].startsWith(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.CallerData].isInFrameworkSpace(java.lang.String,java.lang.String,java.util.List)"
    functionSourceFile: "ch.qos.logback.classic.spi.CallerData"
    linkageType: null
    functionLinenumber: 91
    functionDepth: 1
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.CallerData].isInFrameworkSpaceList(java.lang.String,java.util.List)"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.lang.String].startsWith(java.lang.String)"
    functionUses: 1
    ICount: 13
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.CallerData:92"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.CallerData:95"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.CallerData:94"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.CallerData:92"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.CallerData:95"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.CallerData:94"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.CallerData:93"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.CallerData:95"
        BranchSideFuncs:
        - "isInFrameworkSpaceList(java.lang.String,java.util.List)"
      - BranchSide: "ch.qos.logback.classic.spi.CallerData:94"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.CallerData:94"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.CallerData:97"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.CallerData:96"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.CallerData:92,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "ch.qos.logback.classic.spi.CallerData:93,1"
      Dst: "[java.lang.String].startsWith(java.lang.String)"
    - Src: "ch.qos.logback.classic.spi.CallerData:94,1"
      Dst: "[ch.qos.logback.classic.spi.CallerData].isInFrameworkSpaceList(java.lang.String,java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.classic.spi.CallerData].isInFrameworkSpaceList(java.lang.String,java.util.List)"
    functionSourceFile: "ch.qos.logback.classic.spi.CallerData"
    linkageType: null
    functionLinenumber: 105
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.lang.String].startsWith(java.lang.String)"
    functionUses: 1
    ICount: 14
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.CallerData:106"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.CallerData:109"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.CallerData:108"
        BranchSideFuncs:
        - "iterator()"
    - Branch String: "ch.qos.logback.classic.spi.CallerData:109"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.CallerData:113"
        BranchSideFuncs:
        - "iterator()"
      - BranchSide: "ch.qos.logback.classic.spi.CallerData:112"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.CallerData:110"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.CallerData:112"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.CallerData:111"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.CallerData:109,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.classic.spi.CallerData:109,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.classic.spi.CallerData:109,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.classic.spi.CallerData:110,1"
      Dst: "[java.lang.String].startsWith(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.CallerData].naInstance()"
    functionSourceFile: "ch.qos.logback.classic.spi.CallerData"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.StackTraceElement"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StackTraceElement].<init>(java.lang.String,java.lang.String,java.lang.String,int)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.CallerData:124,1"
      Dst: "[java.lang.StackTraceElement].<init>(java.lang.String,java.lang.String,java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__9].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__9"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__9].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__9:-1,1"
      Dst: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__9].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__9].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__9"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__9:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__9].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__9"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__9:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__9].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__9"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.NOPModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__9:-1,1"
      Dst: "[ch.qos.logback.core.model.processor.NOPModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.NOPModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.NOPModelHandler"
    linkageType: null
    functionLinenumber: 25
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.NOPModelHandler"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.NOPModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.NOPModelHandler:26,1"
      Dst: "[ch.qos.logback.core.model.processor.NOPModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.NOPModelHandler].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.model.processor.NOPModelHandler"
    linkageType: null
    functionLinenumber: 21
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.NOPModelHandler:22,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.CAI_WithLocatorSupport].<init>(ch.qos.logback.core.Context,ch.qos.logback.core.joran.spi.SaxEventInterpreter)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.CAI_WithLocatorSupport"
    linkageType: null
    functionLinenumber: 294
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.joran.spi.SaxEventInterpreter"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareImpl].<init>(ch.qos.logback.core.Context,java.lang.Object)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.CAI_WithLocatorSupport:295,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].<init>(ch.qos.logback.core.Context,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.CAI_WithLocatorSupport].getOrigin()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.CAI_WithLocatorSupport"
    linkageType: null
    functionLinenumber: 299
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareImpl].getOrigin()"
    - "[org.xml.sax.helpers.LocatorImpl].getLineNumber()"
    - "[org.xml.sax.helpers.LocatorImpl].getColumnNumber()"
    - "[java.lang.Class].getName()"
    - "[org.xml.sax.Locator].getLineNumber()"
    - "[org.xml.sax.Locator].getColumnNumber()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int,int)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 3
    ICount: 15
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.CAI_WithLocatorSupport:302"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.CAI_WithLocatorSupport:306"
        BranchSideFuncs:
        - "getLineNumber()"
      - BranchSide: "ch.qos.logback.core.joran.spi.CAI_WithLocatorSupport:305"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.CAI_WithLocatorSupport:300,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].getOrigin()"
    - Src: "ch.qos.logback.core.joran.spi.CAI_WithLocatorSupport:303,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.core.joran.spi.CAI_WithLocatorSupport:303,1"
      Dst: "[org.xml.sax.Locator].getLineNumber()"
    - Src: "ch.qos.logback.core.joran.spi.CAI_WithLocatorSupport:304,1"
      Dst: "[org.xml.sax.Locator].getColumnNumber()"
    - Src: "ch.qos.logback.core.joran.spi.CAI_WithLocatorSupport:304,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int,int)"
    - Src: "ch.qos.logback.core.joran.spi.CAI_WithLocatorSupport:306,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareImpl].getOrigin()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareImpl"
    linkageType: null
    functionLinenumber: 41
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.color.RedCompositeConverter].<init>()"
    functionSourceFile: "ch.qos.logback.core.pattern.color.RedCompositeConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.color.ForegroundCompositeConverterBase].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.color.RedCompositeConverter:24,1"
      Dst: "[ch.qos.logback.core.pattern.color.ForegroundCompositeConverterBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.color.RedCompositeConverter].getForegroundColorCode(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.pattern.color.RedCompositeConverter"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.util.AlmostAsIsEscapeUtil].<init>()"
    functionSourceFile: "ch.qos.logback.core.pattern.util.AlmostAsIsEscapeUtil"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.util.RestrictedEscapeUtil].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.util.AlmostAsIsEscapeUtil:24,1"
      Dst: "[ch.qos.logback.core.pattern.util.RestrictedEscapeUtil].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.util.AlmostAsIsEscapeUtil].escape(java.lang.String,java.lang.StringBuffer,char,int)"
    functionSourceFile: "ch.qos.logback.core.pattern.util.AlmostAsIsEscapeUtil"
    linkageType: null
    functionLinenumber: 41
    functionDepth: 1
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.lang.String"
    - "java.lang.StringBuffer"
    - "char"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.util.RestrictedEscapeUtil].escape(java.lang.String,java.lang.StringBuffer,char,int)"
    functionUses: 3
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.util.AlmostAsIsEscapeUtil:42,1"
      Dst: "[ch.qos.logback.core.pattern.util.RestrictedEscapeUtil].escape(java.lang.String,java.lang.StringBuffer,char,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.util.RestrictedEscapeUtil].escape(java.lang.String,java.lang.StringBuffer,char,int)"
    functionSourceFile: "ch.qos.logback.core.pattern.util.RestrictedEscapeUtil"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 0
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.lang.String"
    - "java.lang.StringBuffer"
    - "char"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].indexOf(int)"
    - "[java.lang.StringBuffer].append(char)"
    - "[java.lang.StringBuffer].append(java.lang.String)"
    functionUses: 4
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.util.RestrictedEscapeUtil:24"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.util.RestrictedEscapeUtil:29"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.util.RestrictedEscapeUtil:28"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.util.RestrictedEscapeUtil:24,1"
      Dst: "[java.lang.String].indexOf(int)"
    - Src: "ch.qos.logback.core.pattern.util.RestrictedEscapeUtil:25,1"
      Dst: "[java.lang.StringBuffer].append(char)"
    - Src: "ch.qos.logback.core.pattern.util.RestrictedEscapeUtil:29,1"
      Dst: "[java.lang.StringBuffer].append(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.helpers.ThreadLocalMapOfStacks].<init>()"
    functionSourceFile: "org.slf4j.helpers.ThreadLocalMapOfStacks"
    linkageType: null
    functionLinenumber: 15
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.lang.ThreadLocal].<init>()"
    functionUses: 2
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:16,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:21,1"
      Dst: "[java.lang.ThreadLocal].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.ThreadLocalMapOfStacks].pushByKey(java.lang.String,java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.ThreadLocalMapOfStacks"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ThreadLocal].get()"
    - "[java.util.HashMap].<init>()"
    - "[java.lang.ThreadLocal].set(java.lang.Object)"
    - "[java.util.Map].get(java.lang.Object)"
    - "[java.util.ArrayDeque].<init>()"
    - "[java.util.Deque].push(java.lang.Object)"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 0
    ICount: 27
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.ThreadLocalMapOfStacks:24"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:27"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:26"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.ThreadLocalMapOfStacks:29"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:null"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.ThreadLocalMapOfStacks:35"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:null"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:27,1"
      Dst: "[java.lang.ThreadLocal].get()"
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:30,1"
      Dst: "[java.util.HashMap].<init>()"
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:31,1"
      Dst: "[java.lang.ThreadLocal].set(java.lang.Object)"
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:34,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:36,1"
      Dst: "[java.util.ArrayDeque].<init>()"
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:38,1"
      Dst: "[java.util.Deque].push(java.lang.Object)"
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:39,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[org.slf4j.helpers.ThreadLocalMapOfStacks].popByKey(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.ThreadLocalMapOfStacks"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ThreadLocal].get()"
    - "[java.util.Map].get(java.lang.Object)"
    - "[java.util.Deque].pop()"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.ThreadLocalMapOfStacks:43"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:46"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:45"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.ThreadLocalMapOfStacks:47"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:49"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:48"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.ThreadLocalMapOfStacks:50"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:52"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:51"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:46,1"
      Dst: "[java.lang.ThreadLocal].get()"
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:49,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:52,1"
      Dst: "[java.util.Deque].pop()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.ThreadLocalMapOfStacks].getCopyOfDequeByKey(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.ThreadLocalMapOfStacks"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.util.Deque"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ThreadLocal].get()"
    - "[java.util.Map].get(java.lang.Object)"
    - "[java.util.ArrayDeque].<init>(java.util.Collection)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.ThreadLocalMapOfStacks:56"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:59"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:58"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.ThreadLocalMapOfStacks:60"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:62"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:61"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.ThreadLocalMapOfStacks:63"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:66"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:65"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:59,1"
      Dst: "[java.lang.ThreadLocal].get()"
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:62,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:66,1"
      Dst: "[java.util.ArrayDeque].<init>(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.ThreadLocalMapOfStacks].clearDequeByKey(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.ThreadLocalMapOfStacks"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ThreadLocal].get()"
    - "[java.util.Map].get(java.lang.Object)"
    - "[java.util.Collection].clear()"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.ThreadLocalMapOfStacks:77"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:80"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:79"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.ThreadLocalMapOfStacks:81"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:83"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:82"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.ThreadLocalMapOfStacks:84"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:86"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.ThreadLocalMapOfStacks:85"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:80,1"
      Dst: "[java.lang.ThreadLocal].get()"
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:83,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:86,1"
      Dst: "[java.util.Collection].clear()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.Node].<init>(int)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Node"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.Node].<init>(int,java.lang.Object)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Node:26,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Node].<init>(int,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.Node].<init>(int,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Node"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 2
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Node:29,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.Node].getType()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Node"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.Node].getValue()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Node"
    linkageType: null
    functionLinenumber: 44
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 7
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.Node].getNext()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Node"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.core.pattern.parser.Node"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.Node].setNext(ch.qos.logback.core.pattern.parser.Node)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Node"
    linkageType: null
    functionLinenumber: 52
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.pattern.parser.Node"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.Node].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Node"
    linkageType: null
    functionLinenumber: 56
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.model.RootLoggerModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.parser.SimpleKeywordNode].equals(java.lang.Object)"
    - "[ch.qos.logback.classic.spi.StackTraceElementProxy].equals(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.parser.CompositeNode].equals(java.lang.Object)"
    - "[org.slf4j.helpers.SubstituteLogger].equals(java.lang.Object)"
    - "[org.slf4j.event.KeyValuePair].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.PropertyModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.DefineModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.parser.FormattingNode].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.ParamModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.InsertFromJNDIModel].equals(java.lang.Object)"
    - "[ch.qos.logback.classic.model.LevelModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.NamedModel].equals(java.lang.Object)"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].equals(java.lang.Object)"
    - "[ch.qos.logback.classic.spi.ClassPackagingData].equals(java.lang.Object)"
    - "[ch.qos.logback.core.subst.Node].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.TimestampModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.parser.Node].equals(java.lang.Object)"
    - "[ch.qos.logback.classic.model.LoggerModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].equals(java.lang.Object)"
    - "[ch.qos.logback.core.joran.spi.ElementSelector].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.NamedComponentModel].equals(java.lang.Object)"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].equals(java.lang.Object)"
    - "[ch.qos.logback.core.subst.Token].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.AppenderRefModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.conditional.IfModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.status.StatusBase].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.Model].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.ComponentModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble].equals(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.parser.Token].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.SerializeModelModel].equals(java.lang.Object)"
    - "[ch.qos.logback.core.joran.spi.ElementPath].equals(java.lang.Object)"
    - "[ch.qos.logback.core.spi.AbstractComponentTracker$Entry].equals(java.lang.Object)"
    - "[ch.qos.logback.classic.model.ConfigurationModel].equals(java.lang.Object)"
    - "[org.slf4j.helpers.BasicMarker].equals(java.lang.Object)"
    - "[ch.qos.logback.classic.spi.LoggerContextVO].equals(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.FormatInfo].equals(java.lang.Object)"
    - "[java.lang.Object].equals(java.lang.Object)"
    functionUses: 9
    ICount: 33
    EdgeCount: 42
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.Node:57"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Node:60"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.Node:59"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.Node:60"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Node:63"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.Node:62"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.Node:65"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Node:-1"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.pattern.parser.Node:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.Node:65"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Node:63"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.pattern.parser.Node:62"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.Node:65"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Node:-1"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.pattern.parser.Node:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.Node:65"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Node:-1"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.pattern.parser.Node:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.Node:65"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Node:63"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.pattern.parser.Node:62"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.Node:66"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Node:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.Node:65"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Node:-1"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.pattern.parser.Node:-2"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Node:65,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.pattern.parser.Node:66,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Node].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 16
    CyclomaticComplexity: 8
  - functionName: "[ch.qos.logback.core.pattern.parser.Node].hashCode()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Node"
    linkageType: null
    functionLinenumber: 70
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.FormattingNode].hashCode()"
    - "[ch.qos.logback.core.subst.Token].hashCode()"
    - "[ch.qos.logback.core.model.Model].hashCode()"
    - "[ch.qos.logback.core.model.NamedComponentModel].hashCode()"
    - "[ch.qos.logback.core.pattern.parser.CompositeNode].hashCode()"
    - "[ch.qos.logback.classic.model.RootLoggerModel].hashCode()"
    - "[ch.qos.logback.core.model.conditional.IfModel].hashCode()"
    - "[org.slf4j.helpers.BasicMarker].hashCode()"
    - "[org.slf4j.helpers.SubstituteLogger].hashCode()"
    - "[ch.qos.logback.core.model.NamedModel].hashCode()"
    - "[ch.qos.logback.core.model.ComponentModel].hashCode()"
    - "[ch.qos.logback.core.spi.AbstractComponentTracker$Entry].hashCode()"
    - "[ch.qos.logback.core.joran.spi.ElementSelector].hashCode()"
    - "[ch.qos.logback.core.status.StatusBase].hashCode()"
    - "[ch.qos.logback.classic.model.LoggerModel].hashCode()"
    - "[ch.qos.logback.core.subst.Node].hashCode()"
    - "[ch.qos.logback.classic.spi.LoggerContextVO].hashCode()"
    - "[ch.qos.logback.core.model.AppenderRefModel].hashCode()"
    - "[ch.qos.logback.core.pattern.parser.SimpleKeywordNode].hashCode()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].hashCode()"
    - "[ch.qos.logback.core.model.InsertFromJNDIModel].hashCode()"
    - "[ch.qos.logback.core.pattern.parser.Node].hashCode()"
    - "[ch.qos.logback.core.model.SerializeModelModel].hashCode()"
    - "[ch.qos.logback.core.pattern.parser.Token].hashCode()"
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].hashCode()"
    - "[ch.qos.logback.classic.spi.StackTraceElementProxy].hashCode()"
    - "[org.slf4j.event.KeyValuePair].hashCode()"
    - "[ch.qos.logback.core.model.PropertyModel].hashCode()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].hashCode()"
    - "[ch.qos.logback.core.model.ParamModel].hashCode()"
    - "[ch.qos.logback.core.model.DefineModel].hashCode()"
    - "[ch.qos.logback.core.model.TimestampModel].hashCode()"
    - "[ch.qos.logback.classic.model.LevelModel].hashCode()"
    - "[ch.qos.logback.classic.model.ConfigurationModel].hashCode()"
    - "[ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble].hashCode()"
    - "[ch.qos.logback.classic.spi.ClassPackagingData].hashCode()"
    - "[ch.qos.logback.core.pattern.FormatInfo].hashCode()"
    - "[java.lang.Object].hashCode()"
    functionUses: 5
    ICount: 11
    EdgeCount: 37
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.Node:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Node:71"
        BranchSideFuncs:
        - "hashCode()"
      - BranchSide: "ch.qos.logback.core.pattern.parser.Node:70"
        BranchSideFuncs:
        - "hashCode()"
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Node:72,1"
      Dst: "[java.lang.Object].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.pattern.parser.Node].printNext()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Node"
    linkageType: null
    functionLinenumber: 76
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.pattern.parser.Node)"
    functionUses: 3
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.Node:77"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Node:80"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.Node:79"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Node:78,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.pattern.parser.Node)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.Node].toString()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Node"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.Node].printNext()"
    - "[java.lang.StringBuilder].<init>()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Object)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.Object].toString()"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 3
    ICount: 15
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Node:85,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.core.pattern.parser.Node:88,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Object)"
    - Src: "ch.qos.logback.core.pattern.parser.Node:88,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.core.pattern.parser.Node:91,1"
      Dst: "[java.lang.Object].toString()"
    - Src: "ch.qos.logback.core.pattern.parser.Node:94,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Node].printNext()"
    - Src: "ch.qos.logback.core.pattern.parser.Node:96,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.pattern.parser.Node].printNext()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Node"
    linkageType: null
    functionLinenumber: 76
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.pattern.parser.Node)"
    functionUses: 3
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.Node:77"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Node:80"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.Node:79"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Node:78,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.pattern.parser.Node)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.AbstractSocketAppender$1].<init>(ch.qos.logback.core.net.AbstractSocketAppender)"
    functionSourceFile: "ch.qos.logback.core.net.AbstractSocketAppender$1"
    linkageType: null
    functionLinenumber: 147
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.net.AbstractSocketAppender"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.AbstractSocketAppender$1:148,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.AbstractSocketAppender$1].run()"
    functionSourceFile: "ch.qos.logback.core.net.AbstractSocketAppender$1"
    linkageType: null
    functionLinenumber: 150
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.AbstractSocketAppender].connectSocketAndDispatchEvents()"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.AbstractSocketAppender$1:151,1"
      Dst: "[ch.qos.logback.core.net.AbstractSocketAppender].connectSocketAndDispatchEvents()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.stax.StaxEvent].<init>(java.lang.String,javax.xml.stream.Location)"
    functionSourceFile: "ch.qos.logback.core.joran.event.stax.StaxEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "javax.xml.stream.Location"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.stax.StaxEvent:23,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.stax.StaxEvent].getName()"
    functionSourceFile: "ch.qos.logback.core.joran.event.stax.StaxEvent"
    linkageType: null
    functionLinenumber: 29
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.stax.StaxEvent].getLocation()"
    functionSourceFile: "ch.qos.logback.core.joran.event.stax.StaxEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "javax.xml.stream.Location"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.StringCollectionUtil].<init>()"
    functionSourceFile: "ch.qos.logback.core.util.StringCollectionUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.StringCollectionUtil:27,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.StringCollectionUtil].retainMatching(java.util.Collection,java.lang.String[])"
    functionSourceFile: "ch.qos.logback.core.util.StringCollectionUtil"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.util.Collection"
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.StringCollectionUtil].retainMatching(java.util.Collection,java.util.Collection)"
    - "[java.util.Arrays].asList(java.lang.Object[])"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.StringCollectionUtil:40,1"
      Dst: "[java.util.Arrays].asList(java.lang.Object[])"
    - Src: "ch.qos.logback.core.util.StringCollectionUtil:40,1"
      Dst: "[ch.qos.logback.core.util.StringCollectionUtil].retainMatching(java.util.Collection,java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.StringCollectionUtil].retainMatching(java.util.Collection,java.util.Collection)"
    functionSourceFile: "ch.qos.logback.core.util.StringCollectionUtil"
    linkageType: null
    functionLinenumber: 54
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.util.Collection"
    - "java.util.Collection"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].isEmpty()"
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.util.COWArrayList].retainAll(java.util.Collection)"
    - "[java.util.Collection].isEmpty()"
    - "[java.util.Collection].size()"
    - "[java.util.ArrayList].<init>(int)"
    - "[java.util.Collection].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.regex.Pattern].compile(java.lang.String)"
    - "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - "[java.util.regex.Matcher].matches()"
    - "[java.util.List].add(java.lang.Object)"
    - "[java.util.Collection].retainAll(java.util.Collection)"
    functionUses: 1
    ICount: 27
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.StringCollectionUtil:55"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StringCollectionUtil:57"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.StringCollectionUtil:56"
        BranchSideFuncs:
        - "size()"
    - Branch String: "ch.qos.logback.core.util.StringCollectionUtil:58"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StringCollectionUtil:66"
        BranchSideFuncs:
        - "iterator()"
      - BranchSide: "ch.qos.logback.core.util.StringCollectionUtil:65"
        BranchSideFuncs:
        - "retainAll(java.util.Collection)"
    - Branch String: "ch.qos.logback.core.util.StringCollectionUtil:60"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StringCollectionUtil:65"
        BranchSideFuncs:
        - "iterator()"
      - BranchSide: "ch.qos.logback.core.util.StringCollectionUtil:64"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.StringCollectionUtil:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StringCollectionUtil:64"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.StringCollectionUtil:63"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.StringCollectionUtil:55,1"
      Dst: "[java.util.Collection].isEmpty()"
    - Src: "ch.qos.logback.core.util.StringCollectionUtil:57,1"
      Dst: "[java.util.Collection].size()"
    - Src: "ch.qos.logback.core.util.StringCollectionUtil:57,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    - Src: "ch.qos.logback.core.util.StringCollectionUtil:58,1"
      Dst: "[java.util.Collection].iterator()"
    - Src: "ch.qos.logback.core.util.StringCollectionUtil:58,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.util.StringCollectionUtil:58,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.util.StringCollectionUtil:59,1"
      Dst: "[java.util.regex.Pattern].compile(java.lang.String)"
    - Src: "ch.qos.logback.core.util.StringCollectionUtil:61,1"
      Dst: "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - Src: "ch.qos.logback.core.util.StringCollectionUtil:61,1"
      Dst: "[java.util.regex.Matcher].matches()"
    - Src: "ch.qos.logback.core.util.StringCollectionUtil:62,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "ch.qos.logback.core.util.StringCollectionUtil:66,1"
      Dst: "[java.util.Collection].retainAll(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 11
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.util.StringCollectionUtil].removeMatching(java.util.Collection,java.lang.String[])"
    functionSourceFile: "ch.qos.logback.core.util.StringCollectionUtil"
    linkageType: null
    functionLinenumber: 79
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.util.Collection"
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.StringCollectionUtil].removeMatching(java.util.Collection,java.util.Collection)"
    - "[java.util.Arrays].asList(java.lang.Object[])"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.StringCollectionUtil:80,1"
      Dst: "[java.util.Arrays].asList(java.lang.Object[])"
    - Src: "ch.qos.logback.core.util.StringCollectionUtil:80,1"
      Dst: "[ch.qos.logback.core.util.StringCollectionUtil].removeMatching(java.util.Collection,java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.StringCollectionUtil].removeMatching(java.util.Collection,java.util.Collection)"
    functionSourceFile: "ch.qos.logback.core.util.StringCollectionUtil"
    linkageType: null
    functionLinenumber: 94
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.util.Collection"
    - "java.util.Collection"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.util.COWArrayList].removeAll(java.util.Collection)"
    - "[java.util.Collection].size()"
    - "[java.util.ArrayList].<init>(int)"
    - "[java.util.Collection].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.regex.Pattern].compile(java.lang.String)"
    - "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - "[java.util.regex.Matcher].matches()"
    - "[java.util.List].add(java.lang.Object)"
    - "[java.util.Collection].removeAll(java.util.Collection)"
    functionUses: 1
    ICount: 24
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.StringCollectionUtil:96"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StringCollectionUtil:104"
        BranchSideFuncs:
        - "iterator()"
      - BranchSide: "ch.qos.logback.core.util.StringCollectionUtil:103"
        BranchSideFuncs:
        - "removeAll(java.util.Collection)"
    - Branch String: "ch.qos.logback.core.util.StringCollectionUtil:98"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StringCollectionUtil:103"
        BranchSideFuncs:
        - "iterator()"
      - BranchSide: "ch.qos.logback.core.util.StringCollectionUtil:102"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.StringCollectionUtil:99"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StringCollectionUtil:102"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.StringCollectionUtil:101"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.StringCollectionUtil:95,1"
      Dst: "[java.util.Collection].size()"
    - Src: "ch.qos.logback.core.util.StringCollectionUtil:95,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    - Src: "ch.qos.logback.core.util.StringCollectionUtil:96,1"
      Dst: "[java.util.Collection].iterator()"
    - Src: "ch.qos.logback.core.util.StringCollectionUtil:96,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.util.StringCollectionUtil:96,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.util.StringCollectionUtil:97,1"
      Dst: "[java.util.regex.Pattern].compile(java.lang.String)"
    - Src: "ch.qos.logback.core.util.StringCollectionUtil:99,1"
      Dst: "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - Src: "ch.qos.logback.core.util.StringCollectionUtil:99,1"
      Dst: "[java.util.regex.Matcher].matches()"
    - Src: "ch.qos.logback.core.util.StringCollectionUtil:100,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "ch.qos.logback.core.util.StringCollectionUtil:104,1"
      Dst: "[java.util.Collection].removeAll(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[org.slf4j.helpers.NOP_FallbackServiceProvider].<init>()"
    functionSourceFile: "org.slf4j.helpers.NOP_FallbackServiceProvider"
    linkageType: null
    functionLinenumber: 7
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.NOPLoggerFactory].<init>()"
    - "[org.slf4j.helpers.BasicMarkerFactory].<init>()"
    - "[org.slf4j.helpers.NOPMDCAdapter].<init>()"
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 12
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.NOP_FallbackServiceProvider:8,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "org.slf4j.helpers.NOP_FallbackServiceProvider:17,1"
      Dst: "[org.slf4j.helpers.NOPLoggerFactory].<init>()"
    - Src: "org.slf4j.helpers.NOP_FallbackServiceProvider:18,1"
      Dst: "[org.slf4j.helpers.BasicMarkerFactory].<init>()"
    - Src: "org.slf4j.helpers.NOP_FallbackServiceProvider:19,1"
      Dst: "[org.slf4j.helpers.NOPMDCAdapter].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOP_FallbackServiceProvider].getLoggerFactory()"
    functionSourceFile: "org.slf4j.helpers.NOP_FallbackServiceProvider"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 0
    returnType: "org.slf4j.ILoggerFactory"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOP_FallbackServiceProvider].getMarkerFactory()"
    functionSourceFile: "org.slf4j.helpers.NOP_FallbackServiceProvider"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 0
    returnType: "org.slf4j.IMarkerFactory"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOP_FallbackServiceProvider].getMDCAdapter()"
    functionSourceFile: "org.slf4j.helpers.NOP_FallbackServiceProvider"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 0
    returnType: "org.slf4j.spi.MDCAdapter"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOP_FallbackServiceProvider].getRequestedApiVersion()"
    functionSourceFile: "org.slf4j.helpers.NOP_FallbackServiceProvider"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOP_FallbackServiceProvider].initialize()"
    functionSourceFile: "org.slf4j.helpers.NOP_FallbackServiceProvider"
    linkageType: null
    functionLinenumber: 45
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.Compiler].<init>(ch.qos.logback.core.pattern.parser.Node,java.util.Map)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Compiler"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.pattern.parser.Node"
    - "java.util.Map"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    functionUses: 2
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:33,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.Compiler].compile()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Compiler"
    linkageType: null
    functionLinenumber: 38
    functionDepth: 5
    returnType: "ch.qos.logback.core.pattern.Converter"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.LiteralConverter].<init>(java.lang.String)"
    - "[ch.qos.logback.core.pattern.parser.Compiler].addToList(ch.qos.logback.core.pattern.Converter)"
    - "[ch.qos.logback.core.pattern.parser.Node].getValue()"
    - "[ch.qos.logback.core.pattern.parser.Compiler].createCompositeConverter(ch.qos.logback.core.pattern.parser.CompositeNode)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.pattern.parser.FormattingNode].getFormatInfo()"
    - "[ch.qos.logback.core.pattern.FormattingConverter].setFormattingInfo(ch.qos.logback.core.pattern.FormatInfo)"
    - "[ch.qos.logback.core.pattern.parser.SimpleKeywordNode].getOptions()"
    - "[ch.qos.logback.core.pattern.DynamicConverter].setOptionList(java.util.List)"
    - "[ch.qos.logback.core.pattern.parser.Compiler].<init>(ch.qos.logback.core.pattern.parser.Node,java.util.Map)"
    - "[ch.qos.logback.core.pattern.parser.CompositeNode].getChildNode()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.pattern.parser.Compiler].compile()"
    - "[ch.qos.logback.core.pattern.CompositeConverter].setChildConverter(ch.qos.logback.core.pattern.Converter)"
    - "[ch.qos.logback.core.pattern.parser.Compiler].createConverter(ch.qos.logback.core.pattern.parser.SimpleKeywordNode)"
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Object)"
    functionUses: 2
    ICount: 62
    EdgeCount: 31
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.Compiler:40"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Compiler:78"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.Compiler:77"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.Compiler:48"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Compiler:53"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.pattern.parser.Compiler:52"
        BranchSideFuncs:
        - "getChildNode()"
        - "setChildConverter(ch.qos.logback.core.pattern.Converter)"
        - "compile()"
        - "<init>(ch.qos.logback.core.pattern.parser.Node,java.util.Map)"
        - "setContext(ch.qos.logback.core.Context)"
    - Branch String: "ch.qos.logback.core.pattern.parser.Compiler:64"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Compiler:71"
        BranchSideFuncs:
        - "getOptions()"
        - "getFormatInfo()"
        - "setFormattingInfo(ch.qos.logback.core.pattern.FormatInfo)"
        - "setOptionList(java.util.List)"
      - BranchSide: "ch.qos.logback.core.pattern.parser.Compiler:70"
        BranchSideFuncs:
        - "<init>(java.lang.String,java.lang.Object)"
        - "addToList(ch.qos.logback.core.pattern.Converter)"
        - "getValue()"
        - "addStatus(ch.qos.logback.core.status.Status)"
        - "<init>(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:43,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Node].getValue()"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:43,1"
      Dst: "[ch.qos.logback.core.pattern.LiteralConverter].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:43,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Compiler].addToList(ch.qos.logback.core.pattern.Converter)"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:47,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Compiler].createCompositeConverter(ch.qos.logback.core.pattern.parser.CompositeNode)"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:49,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Object)"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:49,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:53,1"
      Dst: "[ch.qos.logback.core.pattern.parser.FormattingNode].getFormatInfo()"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:53,1"
      Dst: "[ch.qos.logback.core.pattern.FormattingConverter].setFormattingInfo(ch.qos.logback.core.pattern.FormatInfo)"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:54,1"
      Dst: "[ch.qos.logback.core.pattern.parser.SimpleKeywordNode].getOptions()"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:54,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].setOptionList(java.util.List)"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:55,1"
      Dst: "[ch.qos.logback.core.pattern.parser.CompositeNode].getChildNode()"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:55,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Compiler].<init>(ch.qos.logback.core.pattern.parser.Node,java.util.Map)"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:56,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:57,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Compiler].compile()"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:58,1"
      Dst: "[ch.qos.logback.core.pattern.CompositeConverter].setChildConverter(ch.qos.logback.core.pattern.Converter)"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:63,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Compiler].createConverter(ch.qos.logback.core.pattern.parser.SimpleKeywordNode)"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:72,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:72,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 12
    CyclomaticComplexity: 7
  - functionName: "[ch.qos.logback.core.pattern.parser.Compiler].addToList(ch.qos.logback.core.pattern.Converter)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Compiler"
    linkageType: null
    functionLinenumber: 81
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.pattern.Converter"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.Converter].setNext(ch.qos.logback.core.pattern.Converter)"
    functionUses: 5
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.Compiler:82"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Compiler:85"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.Compiler:84"
        BranchSideFuncs:
        - "setNext(ch.qos.logback.core.pattern.Converter)"
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:85,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].setNext(ch.qos.logback.core.pattern.Converter)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.pattern.parser.Compiler].createConverter(ch.qos.logback.core.pattern.parser.SimpleKeywordNode)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Compiler"
    linkageType: null
    functionLinenumber: 97
    functionDepth: 4
    returnType: "ch.qos.logback.core.pattern.DynamicConverter"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.pattern.parser.SimpleKeywordNode"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.Node].getValue()"
    - "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[java.util.Map].get(java.lang.Object)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 19
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.Compiler:101"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Compiler:110"
        BranchSideFuncs:
        - "addError(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:98,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Node].getValue()"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:99,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:103,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:106,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:106,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:111,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:111,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.Compiler].createCompositeConverter(ch.qos.logback.core.pattern.parser.CompositeNode)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Compiler"
    linkageType: null
    functionLinenumber: 124
    functionDepth: 4
    returnType: "ch.qos.logback.core.pattern.CompositeConverter"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.pattern.parser.CompositeNode"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.Node].getValue()"
    - "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[java.util.Map].get(java.lang.Object)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 19
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.Compiler:128"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Compiler:137"
        BranchSideFuncs:
        - "addError(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:125,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Node].getValue()"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:126,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:130,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:133,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:133,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:138,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.pattern.parser.Compiler:138,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ImplicitModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.ImplicitModel"
    linkageType: null
    functionLinenumber: 15
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.ComponentModel].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.ImplicitModel:16,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ImplicitModel].makeNewInstance()"
    functionSourceFile: "ch.qos.logback.core.model.ImplicitModel"
    linkageType: null
    functionLinenumber: 21
    functionDepth: 3
    returnType: "ch.qos.logback.core.model.ImplicitModel"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.ImplicitModel].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.ImplicitModel:22,1"
      Dst: "[ch.qos.logback.core.model.ImplicitModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ImplicitModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.ImplicitModel"
    linkageType: null
    functionLinenumber: 15
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.ComponentModel].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.ImplicitModel:16,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ComponentModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.ComponentModel"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 8
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.ComponentModel:24,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.SerializedModelConfigurator].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.SerializedModelConfigurator"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:49,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.SerializedModelConfigurator].configure(ch.qos.logback.classic.LoggerContext)"
    functionSourceFile: "ch.qos.logback.classic.joran.SerializedModelConfigurator"
    linkageType: null
    functionLinenumber: 58
    functionDepth: 6
    returnType: "ch.qos.logback.classic.spi.Configurator$ExecutionStatus"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.LoggerContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.SerializedModelConfigurator].performMultiStepModelFileSearch(boolean)"
    - "[ch.qos.logback.classic.joran.SerializedModelConfigurator].configureByResource(java.net.URL)"
    functionUses: 1
    ICount: 9
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.joran.SerializedModelConfigurator:60"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.joran.SerializedModelConfigurator:64"
        BranchSideFuncs:
        - "configureByResource(java.net.URL)"
      - BranchSide: "ch.qos.logback.classic.joran.SerializedModelConfigurator:63"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:59,1"
      Dst: "[ch.qos.logback.classic.joran.SerializedModelConfigurator].performMultiStepModelFileSearch(boolean)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:61,1"
      Dst: "[ch.qos.logback.classic.joran.SerializedModelConfigurator].configureByResource(java.net.URL)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.SerializedModelConfigurator].performMultiStepModelFileSearch(boolean)"
    functionSourceFile: "ch.qos.logback.classic.joran.SerializedModelConfigurator"
    linkageType: null
    functionLinenumber: 118
    functionDepth: 3
    returnType: "java.net.URL"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].getClassLoaderOfObject(java.lang.Object)"
    - "[ch.qos.logback.classic.joran.SerializedModelConfigurator].findModelConfigFileURLFromSystemProperties(java.lang.ClassLoader)"
    - "[ch.qos.logback.classic.joran.SerializedModelConfigurator].getResource(java.lang.String,java.lang.ClassLoader,boolean)"
    functionUses: 1
    ICount: 11
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.joran.SerializedModelConfigurator:121"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.joran.SerializedModelConfigurator:125"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.joran.SerializedModelConfigurator:124"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.joran.SerializedModelConfigurator:126"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.joran.SerializedModelConfigurator:130"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.joran.SerializedModelConfigurator:129"
        BranchSideFuncs:
        - "getResource(java.lang.String,java.lang.ClassLoader,boolean)"
    Callsites:
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:119,1"
      Dst: "[ch.qos.logback.core.util.Loader].getClassLoaderOfObject(java.lang.Object)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:120,1"
      Dst: "[ch.qos.logback.classic.joran.SerializedModelConfigurator].findModelConfigFileURLFromSystemProperties(java.lang.ClassLoader)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:125,1"
      Dst: "[ch.qos.logback.classic.joran.SerializedModelConfigurator].getResource(java.lang.String,java.lang.ClassLoader,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.Loader].getClassLoaderOfObject(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.util.Loader"
    linkageType: null
    functionLinenumber: 142
    functionDepth: 2
    returnType: "java.lang.ClassLoader"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].getClassLoaderOfClass(java.lang.Class)"
    - "[java.lang.NullPointerException].<init>(java.lang.String)"
    - "[java.lang.Object].getClass()"
    functionUses: 5
    ICount: 8
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.Loader:143"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.Loader:146"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.Loader:145"
        BranchSideFuncs:
        - "getClassLoaderOfClass(java.lang.Class)"
    Callsites:
    - Src: "ch.qos.logback.core.util.Loader:144,1"
      Dst: "[java.lang.NullPointerException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.util.Loader:146,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.util.Loader:146,1"
      Dst: "[ch.qos.logback.core.util.Loader].getClassLoaderOfClass(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.SerializedModelConfigurator].findModelConfigFileURLFromSystemProperties(java.lang.ClassLoader)"
    functionSourceFile: "ch.qos.logback.classic.joran.SerializedModelConfigurator"
    linkageType: null
    functionLinenumber: 134
    functionDepth: 2
    returnType: "java.net.URL"
    argCount: 1
    argTypes:
    - "java.lang.ClassLoader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.OptionHelper].getSystemProperty(java.lang.String)"
    - "[ch.qos.logback.core.util.Loader].getResource(java.lang.String,java.lang.ClassLoader)"
    - "[ch.qos.logback.classic.joran.SerializedModelConfigurator].statusOnResourceSearch(java.lang.String,java.net.URL)"
    - "[java.net.URL].<init>(java.lang.String)"
    - "[java.io.File].<init>(java.lang.String)"
    - "[java.io.File].exists()"
    - "[java.io.File].isFile()"
    - "[java.io.File].toURI()"
    - "[java.net.URI].toURL()"
    functionUses: 1
    ICount: 34
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.joran.SerializedModelConfigurator:137"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.joran.SerializedModelConfigurator:161"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.joran.SerializedModelConfigurator:160"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.joran.SerializedModelConfigurator:146"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.joran.SerializedModelConfigurator:149"
        BranchSideFuncs:
        - "statusOnResourceSearch(java.lang.String,java.net.URL)"
        - "getResource(java.lang.String,java.lang.ClassLoader)"
      - BranchSide: "ch.qos.logback.classic.joran.SerializedModelConfigurator:148"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.joran.SerializedModelConfigurator:150"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.joran.SerializedModelConfigurator:158"
        BranchSideFuncs:
        - "statusOnResourceSearch(java.lang.String,java.net.URL)"
        - "getResource(java.lang.String,java.lang.ClassLoader)"
      - BranchSide: "ch.qos.logback.classic.joran.SerializedModelConfigurator:157"
        BranchSideFuncs:
        - "statusOnResourceSearch(java.lang.String,java.net.URL)"
    - Branch String: "ch.qos.logback.classic.joran.SerializedModelConfigurator:150"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.joran.SerializedModelConfigurator:158"
        BranchSideFuncs:
        - "statusOnResourceSearch(java.lang.String,java.net.URL)"
        - "getResource(java.lang.String,java.lang.ClassLoader)"
      - BranchSide: "ch.qos.logback.classic.joran.SerializedModelConfigurator:157"
        BranchSideFuncs:
        - "statusOnResourceSearch(java.lang.String,java.net.URL)"
    Callsites:
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:135,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].getSystemProperty(java.lang.String)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:140,1"
      Dst: "[java.net.URL].<init>(java.lang.String)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:158,1"
      Dst: "[ch.qos.logback.classic.joran.SerializedModelConfigurator].statusOnResourceSearch(java.lang.String,java.net.URL)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:145,1"
      Dst: "[ch.qos.logback.core.util.Loader].getResource(java.lang.String,java.lang.ClassLoader)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:149,1"
      Dst: "[java.io.File].<init>(java.lang.String)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:150,1"
      Dst: "[java.io.File].exists()"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:150,1"
      Dst: "[java.io.File].isFile()"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:152,1"
      Dst: "[java.io.File].toURI()"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:152,1"
      Dst: "[java.net.URI].toURL()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 11
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].getSystemProperty(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 174
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].getProperty(java.lang.String)"
    functionUses: 4
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:175,1"
      Dst: "[java.lang.System].getProperty(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.SerializedModelConfigurator].statusOnResourceSearch(java.lang.String,java.net.URL)"
    functionSourceFile: "ch.qos.logback.classic.joran.SerializedModelConfigurator"
    linkageType: null
    functionLinenumber: 173
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.net.URL"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.BasicStatusManager].add(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.Context].getStatusManager()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    - "[java.net.URL].toString()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    functionUses: 6
    ICount: 19
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.joran.SerializedModelConfigurator:175"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.joran.SerializedModelConfigurator:178"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.joran.SerializedModelConfigurator:177"
        BranchSideFuncs:
        - "<init>(java.lang.String,java.lang.Object)"
        - "add(ch.qos.logback.core.status.Status)"
    Callsites:
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:174,1"
      Dst: "[ch.qos.logback.core.Context].getStatusManager()"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:176,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:176,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:176,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:178,1"
      Dst: "[java.net.URL].toString()"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:178,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.status.InfoStatus"
    linkageType: null
    functionLinenumber: 17
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    functionUses: 15
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.InfoStatus:18,1"
      Dst: "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.Loader].getResource(java.lang.String,java.lang.ClassLoader)"
    functionSourceFile: "ch.qos.logback.core.util.Loader"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 0
    returnType: "java.net.URL"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.ClassLoader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ClassLoader].getResource(java.lang.String)"
    functionUses: 6
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.Loader:101,1"
      Dst: "[java.lang.ClassLoader].getResource(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.SerializedModelConfigurator].getResource(java.lang.String,java.lang.ClassLoader,boolean)"
    functionSourceFile: "ch.qos.logback.classic.joran.SerializedModelConfigurator"
    linkageType: null
    functionLinenumber: 165
    functionDepth: 2
    returnType: "java.net.URL"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.ClassLoader"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].getResource(java.lang.String,java.lang.ClassLoader)"
    - "[ch.qos.logback.classic.joran.SerializedModelConfigurator].statusOnResourceSearch(java.lang.String,java.net.URL)"
    functionUses: 2
    ICount: 8
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.joran.SerializedModelConfigurator:167"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.joran.SerializedModelConfigurator:170"
        BranchSideFuncs:
        - "statusOnResourceSearch(java.lang.String,java.net.URL)"
      - BranchSide: "ch.qos.logback.classic.joran.SerializedModelConfigurator:169"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:166,1"
      Dst: "[ch.qos.logback.core.util.Loader].getResource(java.lang.String,java.lang.ClassLoader)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:168,1"
      Dst: "[ch.qos.logback.classic.joran.SerializedModelConfigurator].statusOnResourceSearch(java.lang.String,java.net.URL)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.joran.SerializedModelConfigurator].configureByResource(java.net.URL)"
    functionSourceFile: "ch.qos.logback.classic.joran.SerializedModelConfigurator"
    linkageType: null
    functionLinenumber: 68
    functionDepth: 5
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.net.URL"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.SerializedModelConfigurator].retrieveModel(java.net.URL)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.model.ModelUtil].resetForReuse(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.joran.SerializedModelConfigurator].buildModelInterpretationContext(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].<init>(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker].<init>(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker].link(ch.qos.logback.core.model.processor.DefaultProcessor)"
    - "[ch.qos.logback.core.ContextBase].getConfigurationLock()"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].process(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.LogbackException].<init>(java.lang.String)"
    - "[java.net.URL].toString()"
    - "[java.lang.String].endsWith(java.lang.String)"
    - "[ch.qos.logback.core.Context].getConfigurationLock()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 35
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.joran.SerializedModelConfigurator:70"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.joran.SerializedModelConfigurator:88"
        BranchSideFuncs:
        - "retrieveModel(java.net.URL)"
      - BranchSide: "ch.qos.logback.classic.joran.SerializedModelConfigurator:87"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
    - Branch String: "ch.qos.logback.classic.joran.SerializedModelConfigurator:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.joran.SerializedModelConfigurator:76"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.joran.SerializedModelConfigurator:75"
        BranchSideFuncs:
        - "link(ch.qos.logback.core.model.processor.DefaultProcessor)"
        - "getConfigurationLock()"
        - "process(ch.qos.logback.core.model.Model)"
        - "<init>(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
        - "buildModelInterpretationContext(ch.qos.logback.core.model.Model)"
        - "<init>(ch.qos.logback.core.Context)"
        - "resetForReuse(ch.qos.logback.core.model.Model)"
    Callsites:
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:69,1"
      Dst: "[java.net.URL].toString()"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:70,1"
      Dst: "[java.lang.String].endsWith(java.lang.String)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:71,1"
      Dst: "[ch.qos.logback.classic.joran.SerializedModelConfigurator].retrieveModel(java.net.URL)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:73,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:76,1"
      Dst: "[ch.qos.logback.core.model.ModelUtil].resetForReuse(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:77,1"
      Dst: "[ch.qos.logback.classic.joran.SerializedModelConfigurator].buildModelInterpretationContext(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:79,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].<init>(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:80,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker].<init>(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:81,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker].link(ch.qos.logback.core.model.processor.DefaultProcessor)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:84,1"
      Dst: "[ch.qos.logback.core.Context].getConfigurationLock()"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:85,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].process(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:89,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:89,1"
      Dst: "[ch.qos.logback.core.LogbackException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.SerializedModelConfigurator].retrieveModel(java.net.URL)"
    functionSourceFile: "ch.qos.logback.classic.joran.SerializedModelConfigurator"
    linkageType: null
    functionLinenumber: 101
    functionDepth: 3
    returnType: "ch.qos.logback.core.model.Model"
    argCount: 1
    argTypes:
    - "java.net.URL"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.encoder.NonClosableInputStream].close()"
    - "[ch.qos.logback.classic.joran.serializedModel.HardenedModelInputStream].<init>(java.io.InputStream)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[java.lang.System].currentTimeMillis()"
    - "[java.net.URL].openStream()"
    - "[java.io.ObjectInputStream].readObject()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.net.URL,long)"
    - "[java.io.InputStream].close()"
    - "[java.lang.Throwable].addSuppressed(java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.net.URL)"
    functionUses: 1
    ICount: 30
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.joran.SerializedModelConfigurator:110"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.joran.SerializedModelConfigurator:102"
        BranchSideFuncs:
        - "addError(java.lang.String,java.lang.Throwable)"
      - BranchSide: "ch.qos.logback.classic.joran.SerializedModelConfigurator:101"
        BranchSideFuncs:
        - "<init>(java.io.InputStream)"
        - "close()"
        - "addInfo(java.lang.String)"
    - Branch String: "ch.qos.logback.classic.joran.SerializedModelConfigurator:103"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.joran.SerializedModelConfigurator:115"
        BranchSideFuncs:
        - "<init>(java.io.InputStream)"
        - "close()"
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.joran.SerializedModelConfigurator:114"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:102,1"
      Dst: "[java.lang.System].currentTimeMillis()"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:103,1"
      Dst: "[java.net.URL].openStream()"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:104,1"
      Dst: "[ch.qos.logback.classic.joran.serializedModel.HardenedModelInputStream].<init>(java.io.InputStream)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:106,1"
      Dst: "[java.io.ObjectInputStream].readObject()"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:108,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.net.URL,long)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:108,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:110,1"
      Dst: "[java.io.InputStream].close()"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:115,1"
      Dst: "[java.lang.Throwable].addSuppressed(java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:111,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.net.URL)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:111,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.serializedModel.HardenedModelInputStream].<init>(java.io.InputStream)"
    functionSourceFile: "ch.qos.logback.classic.joran.serializedModel.HardenedModelInputStream"
    linkageType: null
    functionLinenumber: 64
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.InputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.HardenedObjectInputStream].<init>(java.io.InputStream,java.util.List)"
    - "[ch.qos.logback.classic.joran.serializedModel.HardenedModelInputStream].getWhilelist()"
    functionUses: 1
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.serializedModel.HardenedModelInputStream:65,1"
      Dst: "[ch.qos.logback.classic.joran.serializedModel.HardenedModelInputStream].getWhilelist()"
    - Src: "ch.qos.logback.classic.joran.serializedModel.HardenedModelInputStream:65,1"
      Dst: "[ch.qos.logback.core.net.HardenedObjectInputStream].<init>(java.io.InputStream,java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.serializedModel.HardenedModelInputStream].getWhilelist()"
    functionSourceFile: "ch.qos.logback.classic.joran.serializedModel.HardenedModelInputStream"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>()"
    - "[java.lang.Class].getName()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 93
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.serializedModel.HardenedModelInputStream:29,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.classic.joran.serializedModel.HardenedModelInputStream:30,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.classic.joran.serializedModel.HardenedModelInputStream:30,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.HardenedObjectInputStream].<init>(java.io.InputStream,java.util.List)"
    functionSourceFile: "ch.qos.logback.core.net.HardenedObjectInputStream"
    linkageType: null
    functionLinenumber: 61
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.io.InputStream"
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.HardenedObjectInputStream].initObjectFilter()"
    - "[ch.qos.logback.core.util.COWArrayList].addAll(java.util.Collection)"
    - "[java.io.ObjectInputStream].<init>(java.io.InputStream)"
    - "[java.util.ArrayList].<init>()"
    - "[java.util.List].addAll(java.util.Collection)"
    functionUses: 2
    ICount: 11
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.HardenedObjectInputStream:62,1"
      Dst: "[java.io.ObjectInputStream].<init>(java.io.InputStream)"
    - Src: "ch.qos.logback.core.net.HardenedObjectInputStream:63,1"
      Dst: "[ch.qos.logback.core.net.HardenedObjectInputStream].initObjectFilter()"
    - Src: "ch.qos.logback.core.net.HardenedObjectInputStream:64,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.core.net.HardenedObjectInputStream:65,1"
      Dst: "[java.util.List].addAll(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.HardenedObjectInputStream].initObjectFilter()"
    functionSourceFile: "ch.qos.logback.core.net.HardenedObjectInputStream"
    linkageType: null
    functionLinenumber: 56
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.ObjectInputFilter$Config].createFilter(java.lang.String)"
    - "[java.io.ObjectInputStream].setObjectInputFilter(java.io.ObjectInputFilter)"
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.HardenedObjectInputStream:57,1"
      Dst: "[java.io.ObjectInputFilter$Config].createFilter(java.lang.String)"
    - Src: "ch.qos.logback.core.net.HardenedObjectInputStream:57,1"
      Dst: "[java.io.ObjectInputStream].setObjectInputFilter(java.io.ObjectInputFilter)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 74
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 96
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ModelUtil].resetForReuse(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.ModelUtil"
    linkageType: null
    functionLinenumber: 13
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].resetForReuse()"
    functionUses: 3
    ICount: 5
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.ModelUtil:14"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.ModelUtil:16"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.ModelUtil:15"
        BranchSideFuncs:
        - "resetForReuse()"
    Callsites:
    - Src: "ch.qos.logback.core.model.ModelUtil:16,1"
      Dst: "[ch.qos.logback.core.model.Model].resetForReuse()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].resetForReuse()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 77
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.model.Model].resetForReuse()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    functionUses: 2
    ICount: 12
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.Model:80"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:83"
        BranchSideFuncs:
        - "iterator()"
        - "resetForReuse()"
      - BranchSide: "ch.qos.logback.core.model.Model:82"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:80,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.model.Model:80,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.model.Model:80,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.model.Model:81,1"
      Dst: "[ch.qos.logback.core.model.Model].resetForReuse()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.joran.SerializedModelConfigurator].buildModelInterpretationContext(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.classic.joran.SerializedModelConfigurator"
    linkageType: null
    functionLinenumber: 93
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].<init>(ch.qos.logback.core.Context,java.lang.Object)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].setTopModel(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.LogbackClassicDefaultNestedComponentRules].addDefaultNestedComponentRegistryRules(ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getDefaultNestedComponentRegistry()"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].createAppenderBags()"
    functionUses: 1
    ICount: 14
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:94,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].<init>(ch.qos.logback.core.Context,java.lang.Object)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:95,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].setTopModel(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:97,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getDefaultNestedComponentRegistry()"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:96,1"
      Dst: "[ch.qos.logback.classic.model.processor.LogbackClassicDefaultNestedComponentRules].addDefaultNestedComponentRegistryRules(ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:98,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].createAppenderBags()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].<init>(ch.qos.logback.core.Context,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 57
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry].<init>()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - "[ch.qos.logback.core.joran.util.beans.BeanDescriptionCache].<init>(ch.qos.logback.core.Context)"
    - "[java.util.ArrayList].<init>()"
    - "[java.util.Stack].<init>()"
    - "[java.util.HashMap].<init>(int)"
    functionUses: 3
    ICount: 34
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:58,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:46,1"
      Dst: "[ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry].<init>()"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:47,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:61,1"
      Dst: "[java.util.Stack].<init>()"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:63,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanDescriptionCache].<init>(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:64,1"
      Dst: "[java.util.HashMap].<init>(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].setTopModel(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 90
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getDefaultNestedComponentRegistry()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 190
    functionDepth: 0
    returnType: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 5
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.LogbackClassicDefaultNestedComponentRules].addDefaultNestedComponentRegistryRules(ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry)"
    functionSourceFile: "ch.qos.logback.classic.model.processor.LogbackClassicDefaultNestedComponentRules"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry].add(java.lang.Class,java.lang.String,java.lang.Class)"
    - "[ch.qos.logback.core.net.ssl.SSLNestedComponentRegistryRules].addDefaultNestedComponentRegistryRules(ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry)"
    functionUses: 2
    ICount: 8
    EdgeCount: 6
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.LogbackClassicDefaultNestedComponentRules:47,1"
      Dst: "[ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry].add(java.lang.Class,java.lang.String,java.lang.Class)"
    - Src: "ch.qos.logback.classic.model.processor.LogbackClassicDefaultNestedComponentRules:55,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLNestedComponentRegistryRules].addDefaultNestedComponentRegistryRules(ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].createAppenderBags()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 81
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashMap].<init>()"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 3
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:82,1"
      Dst: "[java.util.HashMap].<init>()"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:82,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor].<init>(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor"
    linkageType: null
    functionLinenumber: 49
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ChainedModelFilter].<init>()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[java.util.HashMap].<init>()"
    functionUses: 3
    ICount: 19
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:50,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:44,1"
      Dst: "[java.util.HashMap].<init>()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:47,1"
      Dst: "[ch.qos.logback.core.model.processor.ChainedModelFilter].<init>()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:51,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker"
    linkageType: null
    functionLinenumber: 53
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:54,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker].link(ch.qos.logback.core.model.processor.DefaultProcessor)"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker"
    linkageType: null
    functionLinenumber: 60
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.processor.DefaultProcessor"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase].link(ch.qos.logback.core.model.processor.DefaultProcessor)"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].addHandler(java.lang.Class,ch.qos.logback.core.model.ModelHandlerFactoryMethod)"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker].getConfigurationModelHandlerFactoryMethod()"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__56].bootstrap$()"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__57].bootstrap$()"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__58].bootstrap$()"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__59].bootstrap$()"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__60].bootstrap$()"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__61].bootstrap$()"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__62].bootstrap$()"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__63].bootstrap$()"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].addAnalyser(java.lang.Class,java.util.function.Supplier)"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_0__64].bootstrap$(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_1__65].bootstrap$(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_2__66].bootstrap$(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_3__67].bootstrap$(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase].sealModelFilters(ch.qos.logback.core.model.processor.DefaultProcessor)"
    functionUses: 2
    ICount: 31
    EdgeCount: 28
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:61,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase].link(ch.qos.logback.core.model.processor.DefaultProcessor)"
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:62,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker].getConfigurationModelHandlerFactoryMethod()"
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:62,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].addHandler(java.lang.Class,ch.qos.logback.core.model.ModelHandlerFactoryMethod)"
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:63,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__56].bootstrap$()"
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:64,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__57].bootstrap$()"
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:66,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__58].bootstrap$()"
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:68,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__59].bootstrap$()"
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:69,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__60].bootstrap$()"
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:70,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__61].bootstrap$()"
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:71,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__62].bootstrap$()"
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:72,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__63].bootstrap$()"
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:74,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_0__64].bootstrap$(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:74,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].addAnalyser(java.lang.Class,java.util.function.Supplier)"
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:77,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_1__65].bootstrap$(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:80,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_2__66].bootstrap$(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:83,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_3__67].bootstrap$(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:85,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase].sealModelFilters(ch.qos.logback.core.model.processor.DefaultProcessor)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor].process(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor"
    linkageType: null
    functionLinenumber: 97
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].initialObjectPush()"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].getPhaseOneFilter()"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].mainTraverse(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelFilter)"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].analyseDependencies(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor$secondPhaseTraverse__19].bootstrap$(ch.qos.logback.core.model.processor.DefaultProcessor)"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].getPhaseTwoFilter()"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].traversalLoop(ch.qos.logback.core.model.processor.DefaultProcessor$TraverseMethod,ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelFilter,java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].finalObjectPop()"
    functionUses: 3
    ICount: 15
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:98"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:102"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:101"
        BranchSideFuncs:
        - "getPhaseTwoFilter()"
        - "initialObjectPush()"
        - "mainTraverse(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelFilter)"
        - "traversalLoop(ch.qos.logback.core.model.processor.DefaultProcessor$TraverseMethod,ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelFilter,java.lang.String)"
        - "finalObjectPop()"
        - "bootstrap$(ch.qos.logback.core.model.processor.DefaultProcessor)"
        - "getPhaseOneFilter()"
        - "analyseDependencies(ch.qos.logback.core.model.Model)"
        - "addInfo(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:99,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:102,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].initialObjectPush()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:104,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].getPhaseOneFilter()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:104,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].mainTraverse(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelFilter)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:105,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].analyseDependencies(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:106,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor$secondPhaseTraverse__19].bootstrap$(ch.qos.logback.core.model.processor.DefaultProcessor)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:106,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].getPhaseTwoFilter()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:106,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].traversalLoop(ch.qos.logback.core.model.processor.DefaultProcessor$TraverseMethod,ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelFilter,java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:108,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:109,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].finalObjectPop()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.LogbackException].<init>(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.LogbackException"
    linkageType: null
    functionLinenumber: 20
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.RuntimeException].<init>(java.lang.String)"
    functionUses: 3
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.LogbackException:21,1"
      Dst: "[java.lang.RuntimeException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.SerializedModelConfigurator].configureByResource(java.net.URL)"
    functionSourceFile: "ch.qos.logback.classic.joran.SerializedModelConfigurator"
    linkageType: null
    functionLinenumber: 68
    functionDepth: 5
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.net.URL"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.SerializedModelConfigurator].retrieveModel(java.net.URL)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.model.ModelUtil].resetForReuse(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.joran.SerializedModelConfigurator].buildModelInterpretationContext(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].<init>(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker].<init>(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker].link(ch.qos.logback.core.model.processor.DefaultProcessor)"
    - "[ch.qos.logback.core.ContextBase].getConfigurationLock()"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].process(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.LogbackException].<init>(java.lang.String)"
    - "[java.net.URL].toString()"
    - "[java.lang.String].endsWith(java.lang.String)"
    - "[ch.qos.logback.core.Context].getConfigurationLock()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 35
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.joran.SerializedModelConfigurator:70"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.joran.SerializedModelConfigurator:88"
        BranchSideFuncs:
        - "retrieveModel(java.net.URL)"
      - BranchSide: "ch.qos.logback.classic.joran.SerializedModelConfigurator:87"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
    - Branch String: "ch.qos.logback.classic.joran.SerializedModelConfigurator:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.joran.SerializedModelConfigurator:76"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.joran.SerializedModelConfigurator:75"
        BranchSideFuncs:
        - "link(ch.qos.logback.core.model.processor.DefaultProcessor)"
        - "getConfigurationLock()"
        - "process(ch.qos.logback.core.model.Model)"
        - "<init>(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
        - "buildModelInterpretationContext(ch.qos.logback.core.model.Model)"
        - "<init>(ch.qos.logback.core.Context)"
        - "resetForReuse(ch.qos.logback.core.model.Model)"
    Callsites:
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:69,1"
      Dst: "[java.net.URL].toString()"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:70,1"
      Dst: "[java.lang.String].endsWith(java.lang.String)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:71,1"
      Dst: "[ch.qos.logback.classic.joran.SerializedModelConfigurator].retrieveModel(java.net.URL)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:73,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:76,1"
      Dst: "[ch.qos.logback.core.model.ModelUtil].resetForReuse(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:77,1"
      Dst: "[ch.qos.logback.classic.joran.SerializedModelConfigurator].buildModelInterpretationContext(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:79,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].<init>(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:80,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker].<init>(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:81,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker].link(ch.qos.logback.core.model.processor.DefaultProcessor)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:84,1"
      Dst: "[ch.qos.logback.core.Context].getConfigurationLock()"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:85,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].process(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:89,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:89,1"
      Dst: "[ch.qos.logback.core.LogbackException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.SerializedModelConfigurator].buildModelInterpretationContext(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.classic.joran.SerializedModelConfigurator"
    linkageType: null
    functionLinenumber: 93
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].<init>(ch.qos.logback.core.Context,java.lang.Object)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].setTopModel(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.LogbackClassicDefaultNestedComponentRules].addDefaultNestedComponentRegistryRules(ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getDefaultNestedComponentRegistry()"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].createAppenderBags()"
    functionUses: 1
    ICount: 14
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:94,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].<init>(ch.qos.logback.core.Context,java.lang.Object)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:95,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].setTopModel(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:97,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getDefaultNestedComponentRegistry()"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:96,1"
      Dst: "[ch.qos.logback.classic.model.processor.LogbackClassicDefaultNestedComponentRules].addDefaultNestedComponentRegistryRules(ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:98,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].createAppenderBags()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.SerializedModelConfigurator].retrieveModel(java.net.URL)"
    functionSourceFile: "ch.qos.logback.classic.joran.SerializedModelConfigurator"
    linkageType: null
    functionLinenumber: 101
    functionDepth: 3
    returnType: "ch.qos.logback.core.model.Model"
    argCount: 1
    argTypes:
    - "java.net.URL"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.encoder.NonClosableInputStream].close()"
    - "[ch.qos.logback.classic.joran.serializedModel.HardenedModelInputStream].<init>(java.io.InputStream)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[java.lang.System].currentTimeMillis()"
    - "[java.net.URL].openStream()"
    - "[java.io.ObjectInputStream].readObject()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.net.URL,long)"
    - "[java.io.InputStream].close()"
    - "[java.lang.Throwable].addSuppressed(java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.net.URL)"
    functionUses: 1
    ICount: 30
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.joran.SerializedModelConfigurator:110"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.joran.SerializedModelConfigurator:102"
        BranchSideFuncs:
        - "addError(java.lang.String,java.lang.Throwable)"
      - BranchSide: "ch.qos.logback.classic.joran.SerializedModelConfigurator:101"
        BranchSideFuncs:
        - "<init>(java.io.InputStream)"
        - "close()"
        - "addInfo(java.lang.String)"
    - Branch String: "ch.qos.logback.classic.joran.SerializedModelConfigurator:103"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.joran.SerializedModelConfigurator:115"
        BranchSideFuncs:
        - "<init>(java.io.InputStream)"
        - "close()"
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.joran.SerializedModelConfigurator:114"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:102,1"
      Dst: "[java.lang.System].currentTimeMillis()"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:103,1"
      Dst: "[java.net.URL].openStream()"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:104,1"
      Dst: "[ch.qos.logback.classic.joran.serializedModel.HardenedModelInputStream].<init>(java.io.InputStream)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:106,1"
      Dst: "[java.io.ObjectInputStream].readObject()"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:108,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.net.URL,long)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:108,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:110,1"
      Dst: "[java.io.InputStream].close()"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:115,1"
      Dst: "[java.lang.Throwable].addSuppressed(java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:111,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.net.URL)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:111,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.SerializedModelConfigurator].performMultiStepModelFileSearch(boolean)"
    functionSourceFile: "ch.qos.logback.classic.joran.SerializedModelConfigurator"
    linkageType: null
    functionLinenumber: 118
    functionDepth: 3
    returnType: "java.net.URL"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].getClassLoaderOfObject(java.lang.Object)"
    - "[ch.qos.logback.classic.joran.SerializedModelConfigurator].findModelConfigFileURLFromSystemProperties(java.lang.ClassLoader)"
    - "[ch.qos.logback.classic.joran.SerializedModelConfigurator].getResource(java.lang.String,java.lang.ClassLoader,boolean)"
    functionUses: 1
    ICount: 11
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.joran.SerializedModelConfigurator:121"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.joran.SerializedModelConfigurator:125"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.joran.SerializedModelConfigurator:124"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.joran.SerializedModelConfigurator:126"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.joran.SerializedModelConfigurator:130"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.joran.SerializedModelConfigurator:129"
        BranchSideFuncs:
        - "getResource(java.lang.String,java.lang.ClassLoader,boolean)"
    Callsites:
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:119,1"
      Dst: "[ch.qos.logback.core.util.Loader].getClassLoaderOfObject(java.lang.Object)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:120,1"
      Dst: "[ch.qos.logback.classic.joran.SerializedModelConfigurator].findModelConfigFileURLFromSystemProperties(java.lang.ClassLoader)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:125,1"
      Dst: "[ch.qos.logback.classic.joran.SerializedModelConfigurator].getResource(java.lang.String,java.lang.ClassLoader,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.SerializedModelConfigurator].findModelConfigFileURLFromSystemProperties(java.lang.ClassLoader)"
    functionSourceFile: "ch.qos.logback.classic.joran.SerializedModelConfigurator"
    linkageType: null
    functionLinenumber: 134
    functionDepth: 2
    returnType: "java.net.URL"
    argCount: 1
    argTypes:
    - "java.lang.ClassLoader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.OptionHelper].getSystemProperty(java.lang.String)"
    - "[ch.qos.logback.core.util.Loader].getResource(java.lang.String,java.lang.ClassLoader)"
    - "[ch.qos.logback.classic.joran.SerializedModelConfigurator].statusOnResourceSearch(java.lang.String,java.net.URL)"
    - "[java.net.URL].<init>(java.lang.String)"
    - "[java.io.File].<init>(java.lang.String)"
    - "[java.io.File].exists()"
    - "[java.io.File].isFile()"
    - "[java.io.File].toURI()"
    - "[java.net.URI].toURL()"
    functionUses: 1
    ICount: 34
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.joran.SerializedModelConfigurator:137"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.joran.SerializedModelConfigurator:161"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.joran.SerializedModelConfigurator:160"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.joran.SerializedModelConfigurator:146"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.joran.SerializedModelConfigurator:149"
        BranchSideFuncs:
        - "statusOnResourceSearch(java.lang.String,java.net.URL)"
        - "getResource(java.lang.String,java.lang.ClassLoader)"
      - BranchSide: "ch.qos.logback.classic.joran.SerializedModelConfigurator:148"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.joran.SerializedModelConfigurator:150"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.joran.SerializedModelConfigurator:158"
        BranchSideFuncs:
        - "statusOnResourceSearch(java.lang.String,java.net.URL)"
        - "getResource(java.lang.String,java.lang.ClassLoader)"
      - BranchSide: "ch.qos.logback.classic.joran.SerializedModelConfigurator:157"
        BranchSideFuncs:
        - "statusOnResourceSearch(java.lang.String,java.net.URL)"
    - Branch String: "ch.qos.logback.classic.joran.SerializedModelConfigurator:150"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.joran.SerializedModelConfigurator:158"
        BranchSideFuncs:
        - "statusOnResourceSearch(java.lang.String,java.net.URL)"
        - "getResource(java.lang.String,java.lang.ClassLoader)"
      - BranchSide: "ch.qos.logback.classic.joran.SerializedModelConfigurator:157"
        BranchSideFuncs:
        - "statusOnResourceSearch(java.lang.String,java.net.URL)"
    Callsites:
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:135,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].getSystemProperty(java.lang.String)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:140,1"
      Dst: "[java.net.URL].<init>(java.lang.String)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:158,1"
      Dst: "[ch.qos.logback.classic.joran.SerializedModelConfigurator].statusOnResourceSearch(java.lang.String,java.net.URL)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:145,1"
      Dst: "[ch.qos.logback.core.util.Loader].getResource(java.lang.String,java.lang.ClassLoader)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:149,1"
      Dst: "[java.io.File].<init>(java.lang.String)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:150,1"
      Dst: "[java.io.File].exists()"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:150,1"
      Dst: "[java.io.File].isFile()"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:152,1"
      Dst: "[java.io.File].toURI()"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:152,1"
      Dst: "[java.net.URI].toURL()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 11
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.SerializedModelConfigurator].getResource(java.lang.String,java.lang.ClassLoader,boolean)"
    functionSourceFile: "ch.qos.logback.classic.joran.SerializedModelConfigurator"
    linkageType: null
    functionLinenumber: 165
    functionDepth: 2
    returnType: "java.net.URL"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.ClassLoader"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].getResource(java.lang.String,java.lang.ClassLoader)"
    - "[ch.qos.logback.classic.joran.SerializedModelConfigurator].statusOnResourceSearch(java.lang.String,java.net.URL)"
    functionUses: 2
    ICount: 8
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.joran.SerializedModelConfigurator:167"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.joran.SerializedModelConfigurator:170"
        BranchSideFuncs:
        - "statusOnResourceSearch(java.lang.String,java.net.URL)"
      - BranchSide: "ch.qos.logback.classic.joran.SerializedModelConfigurator:169"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:166,1"
      Dst: "[ch.qos.logback.core.util.Loader].getResource(java.lang.String,java.lang.ClassLoader)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:168,1"
      Dst: "[ch.qos.logback.classic.joran.SerializedModelConfigurator].statusOnResourceSearch(java.lang.String,java.net.URL)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.joran.SerializedModelConfigurator].statusOnResourceSearch(java.lang.String,java.net.URL)"
    functionSourceFile: "ch.qos.logback.classic.joran.SerializedModelConfigurator"
    linkageType: null
    functionLinenumber: 173
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.net.URL"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.BasicStatusManager].add(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.Context].getStatusManager()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    - "[java.net.URL].toString()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    functionUses: 6
    ICount: 19
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.joran.SerializedModelConfigurator:175"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.joran.SerializedModelConfigurator:178"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.joran.SerializedModelConfigurator:177"
        BranchSideFuncs:
        - "<init>(java.lang.String,java.lang.Object)"
        - "add(ch.qos.logback.core.status.Status)"
    Callsites:
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:174,1"
      Dst: "[ch.qos.logback.core.Context].getStatusManager()"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:176,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:176,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:176,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:178,1"
      Dst: "[java.net.URL].toString()"
    - Src: "ch.qos.logback.classic.joran.SerializedModelConfigurator:178,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.event.KeyValuePair].<init>(java.lang.String,java.lang.Object)"
    functionSourceFile: "org.slf4j.event.KeyValuePair"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.event.KeyValuePair:10,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.KeyValuePair].toString()"
    functionSourceFile: "org.slf4j.event.KeyValuePair"
    linkageType: null
    functionLinenumber: 16
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.String].valueOf(java.lang.Object)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 3
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.event.KeyValuePair:17,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.slf4j.event.KeyValuePair:17,1"
      Dst: "[java.lang.String].valueOf(java.lang.Object)"
    - Src: "org.slf4j.event.KeyValuePair:17,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.slf4j.event.KeyValuePair:17,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.KeyValuePair].equals(java.lang.Object)"
    functionSourceFile: "org.slf4j.event.KeyValuePair"
    linkageType: null
    functionLinenumber: 21
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    functionUses: 6
    ICount: 22
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.event.KeyValuePair:22"
      Branch Sides:
      - BranchSide: "org.slf4j.event.KeyValuePair:23"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.event.KeyValuePair:22"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.event.KeyValuePair:23"
      Branch Sides:
      - BranchSide: "org.slf4j.event.KeyValuePair:23"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.event.KeyValuePair:22"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.event.KeyValuePair:23"
      Branch Sides:
      - BranchSide: "org.slf4j.event.KeyValuePair:24"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.event.KeyValuePair:23"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.event.KeyValuePair:25"
      Branch Sides:
      - BranchSide: "org.slf4j.event.KeyValuePair:23"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.event.KeyValuePair:25"
      Branch Sides:
      - BranchSide: "org.slf4j.event.KeyValuePair:23"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.event.KeyValuePair:23,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "org.slf4j.event.KeyValuePair:25,1"
      Dst: "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 4
  - functionName: "[org.slf4j.event.KeyValuePair].hashCode()"
    functionSourceFile: "org.slf4j.event.KeyValuePair"
    linkageType: null
    functionLinenumber: 29
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Objects].hash(java.lang.Object[])"
    functionUses: 4
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.event.KeyValuePair:30,1"
      Dst: "[java.util.Objects].hash(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.Loader$2].<init>(java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.util.Loader$2"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.Loader$2:159,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.Loader$2].run()"
    functionSourceFile: "ch.qos.logback.core.util.Loader$2"
    linkageType: null
    functionLinenumber: 160
    functionDepth: 0
    returnType: "java.lang.ClassLoader"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].getClassLoader()"
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.Loader$2:161,1"
      Dst: "[java.lang.Class].getClassLoader()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.AppenderModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.AppenderModel"
    linkageType: null
    functionLinenumber: 19
    functionDepth: 3
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.NamedComponentModel].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.AppenderModel:20,1"
      Dst: "[ch.qos.logback.core.model.NamedComponentModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.AppenderModel].makeNewInstance()"
    functionSourceFile: "ch.qos.logback.core.model.AppenderModel"
    linkageType: null
    functionLinenumber: 25
    functionDepth: 4
    returnType: "ch.qos.logback.core.model.AppenderModel"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.AppenderModel].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.AppenderModel:26,1"
      Dst: "[ch.qos.logback.core.model.AppenderModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.AppenderModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.AppenderModel"
    linkageType: null
    functionLinenumber: 19
    functionDepth: 3
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.NamedComponentModel].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.AppenderModel:20,1"
      Dst: "[ch.qos.logback.core.model.NamedComponentModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.NamedComponentModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.NamedComponentModel"
    linkageType: null
    functionLinenumber: 17
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.ComponentModel].<init>()"
    functionUses: 4
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.NamedComponentModel:18,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.LoggerFactory$lambda_getServiceLoader_0__1].bootstrap$(java.lang.ClassLoader)"
    functionSourceFile: "org.slf4j.LoggerFactory$lambda_getServiceLoader_0__1"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.security.PrivilegedAction"
    argCount: 1
    argTypes:
    - "java.lang.ClassLoader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.LoggerFactory$lambda_getServiceLoader_0__1].<init>(java.lang.ClassLoader)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.LoggerFactory$lambda_getServiceLoader_0__1:-1,1"
      Dst: "[org.slf4j.LoggerFactory$lambda_getServiceLoader_0__1].<init>(java.lang.ClassLoader)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.LoggerFactory$lambda_getServiceLoader_0__1].<init>(java.lang.ClassLoader)"
    functionSourceFile: "org.slf4j.LoggerFactory$lambda_getServiceLoader_0__1"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.ClassLoader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.LoggerFactory$lambda_getServiceLoader_0__1:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.LoggerFactory$lambda_getServiceLoader_0__1].run()"
    functionSourceFile: "org.slf4j.LoggerFactory$lambda_getServiceLoader_0__1"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.LoggerFactory].lambda$getServiceLoader$0(java.lang.ClassLoader)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.LoggerFactory$lambda_getServiceLoader_0__1:-1,1"
      Dst: "[org.slf4j.LoggerFactory].lambda$getServiceLoader$0(java.lang.ClassLoader)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.LoggerFactory].lambda$getServiceLoader$0(java.lang.ClassLoader)"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 140
    functionDepth: 0
    returnType: "java.util.ServiceLoader"
    argCount: 1
    argTypes:
    - "java.lang.ClassLoader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ServiceLoader].load(java.lang.Class,java.lang.ClassLoader)"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.LoggerFactory:141,1"
      Dst: "[java.util.ServiceLoader].load(java.lang.Class,java.lang.ClassLoader)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.helpers.CyclicBuffer].<init>(int)"
    functionSourceFile: "ch.qos.logback.core.helpers.CyclicBuffer"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.helpers.CyclicBuffer].init(int)"
    - "[java.lang.Object].<init>()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 3
    ICount: 10
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.helpers.CyclicBuffer:44"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:47"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:46"
        BranchSideFuncs:
        - "init(int)"
    Callsites:
    - Src: "ch.qos.logback.core.helpers.CyclicBuffer:43,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.helpers.CyclicBuffer:45,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - Src: "ch.qos.logback.core.helpers.CyclicBuffer:45,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.helpers.CyclicBuffer:47,1"
      Dst: "[ch.qos.logback.core.helpers.CyclicBuffer].init(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.helpers.CyclicBuffer].<init>(ch.qos.logback.core.helpers.CyclicBuffer)"
    functionSourceFile: "ch.qos.logback.core.helpers.CyclicBuffer"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.helpers.CyclicBuffer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    functionUses: 1
    ICount: 19
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.helpers.CyclicBuffer:51,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.helpers.CyclicBuffer:54,1"
      Dst: "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.helpers.CyclicBuffer].init(int)"
    functionSourceFile: "ch.qos.logback.core.helpers.CyclicBuffer"
    linkageType: null
    functionLinenumber: 61
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.helpers.CyclicBuffer].clear()"
    functionSourceFile: "ch.qos.logback.core.helpers.CyclicBuffer"
    linkageType: null
    functionLinenumber: 72
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.helpers.CyclicBuffer].init(int)"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.helpers.CyclicBuffer:73,1"
      Dst: "[ch.qos.logback.core.helpers.CyclicBuffer].init(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.helpers.CyclicBuffer].add(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.helpers.CyclicBuffer"
    linkageType: null
    functionLinenumber: 80
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 25
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.helpers.CyclicBuffer:82"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:85"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:84"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.helpers.CyclicBuffer:85"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:87"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:86"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.helpers.CyclicBuffer:87"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:89"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:88"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.helpers.CyclicBuffer].get(int)"
    functionSourceFile: "ch.qos.logback.core.helpers.CyclicBuffer"
    linkageType: null
    functionLinenumber: 96
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.helpers.CyclicBuffer:97"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:98"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:97"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.helpers.CyclicBuffer:97"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:100"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:99"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.helpers.CyclicBuffer].getMaxSize()"
    functionSourceFile: "ch.qos.logback.core.helpers.CyclicBuffer"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.helpers.CyclicBuffer].get()"
    functionSourceFile: "ch.qos.logback.core.helpers.CyclicBuffer"
    linkageType: null
    functionLinenumber: 111
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 20
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.helpers.CyclicBuffer:113"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:120"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:119"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.helpers.CyclicBuffer:117"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:120"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:119"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.helpers.CyclicBuffer].asList()"
    functionSourceFile: "ch.qos.logback.core.helpers.CyclicBuffer"
    linkageType: null
    functionLinenumber: 123
    functionDepth: 1
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.helpers.CyclicBuffer].length()"
    - "[ch.qos.logback.core.helpers.CyclicBuffer].get(int)"
    - "[java.util.ArrayList].<init>()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 11
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.helpers.CyclicBuffer:125"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:127"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.helpers.CyclicBuffer:124,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.core.helpers.CyclicBuffer:125,1"
      Dst: "[ch.qos.logback.core.helpers.CyclicBuffer].length()"
    - Src: "ch.qos.logback.core.helpers.CyclicBuffer:126,1"
      Dst: "[ch.qos.logback.core.helpers.CyclicBuffer].get(int)"
    - Src: "ch.qos.logback.core.helpers.CyclicBuffer:126,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.helpers.CyclicBuffer].length()"
    functionSourceFile: "ch.qos.logback.core.helpers.CyclicBuffer"
    linkageType: null
    functionLinenumber: 135
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.helpers.CyclicBuffer].get(int)"
    functionSourceFile: "ch.qos.logback.core.helpers.CyclicBuffer"
    linkageType: null
    functionLinenumber: 96
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.helpers.CyclicBuffer:97"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:98"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:97"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.helpers.CyclicBuffer:97"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:100"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:99"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.helpers.CyclicBuffer].length()"
    functionSourceFile: "ch.qos.logback.core.helpers.CyclicBuffer"
    linkageType: null
    functionLinenumber: 135
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.helpers.CyclicBuffer].resize(int)"
    functionSourceFile: "ch.qos.logback.core.helpers.CyclicBuffer"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 43
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.helpers.CyclicBuffer:146"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:149"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:148"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.helpers.CyclicBuffer:149"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:153"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:152"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.helpers.CyclicBuffer:155"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:153"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:152"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.helpers.CyclicBuffer:157"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:163"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:162"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.helpers.CyclicBuffer:160"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:155"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:154"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.helpers.CyclicBuffer:167"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:170"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:169"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.helpers.CyclicBuffer:147,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - Src: "ch.qos.logback.core.helpers.CyclicBuffer:147,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 16
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.pattern.color.BoldMagentaCompositeConverter].<init>()"
    functionSourceFile: "ch.qos.logback.core.pattern.color.BoldMagentaCompositeConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.color.ForegroundCompositeConverterBase].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.color.BoldMagentaCompositeConverter:27,1"
      Dst: "[ch.qos.logback.core.pattern.color.ForegroundCompositeConverterBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.color.BoldMagentaCompositeConverter].getForegroundColorCode(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.pattern.color.BoldMagentaCompositeConverter"
    linkageType: null
    functionLinenumber: 30
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.ContextNameModelHandler].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.classic.model.processor.ContextNameModelHandler"
    linkageType: null
    functionLinenumber: 12
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.ContextNameModelHandler:13,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.ContextNameModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.classic.model.processor.ContextNameModelHandler"
    linkageType: null
    functionLinenumber: 16
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.model.processor.ContextNameModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.ContextNameModelHandler:17,1"
      Dst: "[ch.qos.logback.classic.model.processor.ContextNameModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.ContextNameModelHandler].getSupportedModelClass()"
    functionSourceFile: "ch.qos.logback.classic.model.processor.ContextNameModelHandler"
    linkageType: null
    functionLinenumber: 21
    functionDepth: 0
    returnType: "java.lang.Class"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.ContextNameModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.classic.model.processor.ContextNameModelHandler"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 13
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].getBodyText()"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.classic.LoggerContext].setName(java.lang.String)"
    - "[ch.qos.logback.core.ContextBase].setName(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.ContextBase].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[ch.qos.logback.core.Context].setName(java.lang.String)"
    - "[ch.qos.logback.core.Context].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    functionUses: 3
    ICount: 17
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.ContextNameModelHandler:29,1"
      Dst: "[ch.qos.logback.core.model.Model].getBodyText()"
    - Src: "ch.qos.logback.classic.model.processor.ContextNameModelHandler:29,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.ContextNameModelHandler:30,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.ContextNameModelHandler:30,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.ContextNameModelHandler:32,1"
      Dst: "[ch.qos.logback.core.Context].setName(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.ContextNameModelHandler:34,1"
      Dst: "[ch.qos.logback.core.Context].getName()"
    - Src: "ch.qos.logback.classic.model.processor.ContextNameModelHandler:34,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.ContextNameModelHandler:34,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].getBodyText()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 128
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 152
    functionDepth: 12
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.OptionHelper].substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 26
    ICount: 11
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:153"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:158"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:157"
        BranchSideFuncs:
        - "substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:158,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:160,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:160,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 74
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$1].<init>(ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$1"
    linkageType: null
    functionLinenumber: 58
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].<init>(ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$1:59,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].<init>(ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$1].hasDependers(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$1"
    linkageType: null
    functionLinenumber: 61
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__14].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__14"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__14].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__14:-1,1"
      Dst: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__14].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__14].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__14"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__14:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__14].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__14"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__14:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__14].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__14"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ImplicitModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__14:-1,1"
      Dst: "[ch.qos.logback.core.model.processor.ImplicitModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ImplicitModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ImplicitModelHandler"
    linkageType: null
    functionLinenumber: 51
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ImplicitModelHandler"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getBeanDescriptionCache()"
    - "[ch.qos.logback.core.model.processor.ImplicitModelHandler].<init>(ch.qos.logback.core.Context,ch.qos.logback.core.joran.util.beans.BeanDescriptionCache)"
    functionUses: 2
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:52,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getBeanDescriptionCache()"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:53,1"
      Dst: "[ch.qos.logback.core.model.processor.ImplicitModelHandler].<init>(ch.qos.logback.core.Context,ch.qos.logback.core.joran.util.beans.BeanDescriptionCache)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.node.ComponentNode].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.node.ComponentNode"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.node.ComponentNode:16,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ImportModelHandler].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ImportModelHandler"
    linkageType: null
    functionLinenumber: 11
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ImportModelHandler:12,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ImportModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ImportModelHandler"
    linkageType: null
    functionLinenumber: 15
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ImportModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ImportModelHandler:16,1"
      Dst: "[ch.qos.logback.core.model.processor.ImportModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ImportModelHandler].getSupportedModelClass()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ImportModelHandler"
    linkageType: null
    functionLinenumber: 20
    functionDepth: 0
    returnType: "java.lang.Class"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ImportModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ImportModelHandler"
    linkageType: null
    functionLinenumber: 25
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.ImportModel].getClassName()"
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.model.processor.ImportModelHandler].extractStem(java.lang.String)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].addImport(java.lang.String,java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 3
    ICount: 16
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.ImportModelHandler:29"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ImportModelHandler:34"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ImportModelHandler:33"
        BranchSideFuncs:
        - "extractStem(java.lang.String)"
    - Branch String: "ch.qos.logback.core.model.processor.ImportModelHandler:35"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ImportModelHandler:40"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.model.processor.ImportModelHandler:39"
        BranchSideFuncs:
        - "addImport(java.lang.String,java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ImportModelHandler:28,1"
      Dst: "[ch.qos.logback.core.model.ImportModel].getClassName()"
    - Src: "ch.qos.logback.core.model.processor.ImportModelHandler:29,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ImportModelHandler:30,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ImportModelHandler:34,1"
      Dst: "[ch.qos.logback.core.model.processor.ImportModelHandler].extractStem(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ImportModelHandler:36,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ImportModelHandler:40,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].addImport(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ImportModel].getClassName()"
    functionSourceFile: "ch.qos.logback.core.model.ImportModel"
    linkageType: null
    functionLinenumber: 35
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 282
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    - "[java.lang.String].length()"
    functionUses: 62
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].length()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 96
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ImportModelHandler].extractStem(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ImportModelHandler"
    linkageType: null
    functionLinenumber: 44
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].lastIndexOf(int)"
    - "[java.lang.String].length()"
    - "[java.lang.String].substring(int)"
    functionUses: 1
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.ImportModelHandler:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ImportModelHandler:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ImportModelHandler:47"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.ImportModelHandler:49"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ImportModelHandler:51"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ImportModelHandler:50"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.ImportModelHandler:51"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ImportModelHandler:53"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ImportModelHandler:52"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ImportModelHandler:48,1"
      Dst: "[java.lang.String].lastIndexOf(int)"
    - Src: "ch.qos.logback.core.model.processor.ImportModelHandler:51,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.core.model.processor.ImportModelHandler:53,1"
      Dst: "[java.lang.String].substring(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].addImport(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 267
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 1
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:268,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ImportModelHandler].extractStem(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ImportModelHandler"
    linkageType: null
    functionLinenumber: 44
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].lastIndexOf(int)"
    - "[java.lang.String].length()"
    - "[java.lang.String].substring(int)"
    functionUses: 1
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.ImportModelHandler:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ImportModelHandler:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ImportModelHandler:47"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.ImportModelHandler:49"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ImportModelHandler:51"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ImportModelHandler:50"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.ImportModelHandler:51"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ImportModelHandler:53"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ImportModelHandler:52"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ImportModelHandler:48,1"
      Dst: "[java.lang.String].lastIndexOf(int)"
    - Src: "ch.qos.logback.core.model.processor.ImportModelHandler:51,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.core.model.processor.ImportModelHandler:53,1"
      Dst: "[java.lang.String].substring(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.PropertyConverter].<init>()"
    functionSourceFile: "ch.qos.logback.classic.pattern.PropertyConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.ClassicConverter].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.PropertyConverter:21,1"
      Dst: "[ch.qos.logback.classic.pattern.ClassicConverter].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.PropertyConverter].start()"
    functionSourceFile: "ch.qos.logback.classic.pattern.PropertyConverter"
    linkageType: null
    functionLinenumber: 25
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.DynamicConverter].getFirstOption()"
    - "[ch.qos.logback.core.pattern.DynamicConverter].start()"
    functionUses: 6
    ICount: 6
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.PropertyConverter:27"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.PropertyConverter:31"
        BranchSideFuncs:
        - "start()"
      - BranchSide: "ch.qos.logback.classic.pattern.PropertyConverter:30"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.PropertyConverter:26,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].getFirstOption()"
    - Src: "ch.qos.logback.classic.pattern.PropertyConverter:29,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.pattern.PropertyConverter].getKey()"
    functionSourceFile: "ch.qos.logback.classic.pattern.PropertyConverter"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.PropertyConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.pattern.PropertyConverter"
    linkageType: null
    functionLinenumber: 37
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getLoggerContextVO()"
    - "[ch.qos.logback.classic.spi.LoggerContextVO].getPropertyMap()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerContextVO()"
    - "[java.util.Map].get(java.lang.Object)"
    - "[java.lang.System].getProperty(java.lang.String)"
    functionUses: 1
    ICount: 15
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.PropertyConverter:38"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.PropertyConverter:41"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.PropertyConverter:40"
        BranchSideFuncs:
        - "getLoggerContextVO()"
        - "getPropertyMap()"
    - Branch String: "ch.qos.logback.classic.pattern.PropertyConverter:44"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.PropertyConverter:47"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.PropertyConverter:46"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.PropertyConverter:41,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerContextVO()"
    - Src: "ch.qos.logback.classic.pattern.PropertyConverter:42,1"
      Dst: "[ch.qos.logback.classic.spi.LoggerContextVO].getPropertyMap()"
    - Src: "ch.qos.logback.classic.pattern.PropertyConverter:43,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "ch.qos.logback.classic.pattern.PropertyConverter:47,1"
      Dst: "[java.lang.System].getProperty(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggerContextVO].getPropertyMap()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggerContextVO"
    linkageType: null
    functionLinenumber: 60
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.PropertyConverter].convert(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.pattern.PropertyConverter"
    linkageType: null
    functionLinenumber: 20
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.PropertyConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 11
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.PropertyConverter:21,1"
      Dst: "[ch.qos.logback.classic.pattern.PropertyConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.PropertyConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.pattern.PropertyConverter"
    linkageType: null
    functionLinenumber: 37
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getLoggerContextVO()"
    - "[ch.qos.logback.classic.spi.LoggerContextVO].getPropertyMap()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerContextVO()"
    - "[java.util.Map].get(java.lang.Object)"
    - "[java.lang.System].getProperty(java.lang.String)"
    functionUses: 1
    ICount: 15
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.PropertyConverter:38"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.PropertyConverter:41"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.PropertyConverter:40"
        BranchSideFuncs:
        - "getLoggerContextVO()"
        - "getPropertyMap()"
    - Branch String: "ch.qos.logback.classic.pattern.PropertyConverter:44"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.PropertyConverter:47"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.PropertyConverter:46"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.PropertyConverter:41,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerContextVO()"
    - Src: "ch.qos.logback.classic.pattern.PropertyConverter:42,1"
      Dst: "[ch.qos.logback.classic.spi.LoggerContextVO].getPropertyMap()"
    - Src: "ch.qos.logback.classic.pattern.PropertyConverter:43,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "ch.qos.logback.classic.pattern.PropertyConverter:47,1"
      Dst: "[java.lang.System].getProperty(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.color.YellowCompositeConverter].<init>()"
    functionSourceFile: "ch.qos.logback.core.pattern.color.YellowCompositeConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.color.ForegroundCompositeConverterBase].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.color.YellowCompositeConverter:24,1"
      Dst: "[ch.qos.logback.core.pattern.color.ForegroundCompositeConverterBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.color.YellowCompositeConverter].getForegroundColorCode(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.pattern.color.YellowCompositeConverter"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.NopThrowableInformationConverter].<init>()"
    functionSourceFile: "ch.qos.logback.classic.pattern.NopThrowableInformationConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.ThrowableHandlingConverter].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.NopThrowableInformationConverter:35,1"
      Dst: "[ch.qos.logback.classic.pattern.ThrowableHandlingConverter].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.NopThrowableInformationConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.pattern.NopThrowableInformationConverter"
    linkageType: null
    functionLinenumber: 37
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.NopThrowableInformationConverter].convert(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.pattern.NopThrowableInformationConverter"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.NopThrowableInformationConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 11
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.NopThrowableInformationConverter:35,1"
      Dst: "[ch.qos.logback.classic.pattern.NopThrowableInformationConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.NopThrowableInformationConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.pattern.NopThrowableInformationConverter"
    linkageType: null
    functionLinenumber: 37
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.AllowModelFilter].<init>(java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.model.processor.AllowModelFilter"
    linkageType: null
    functionLinenumber: 9
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.AllowModelFilter:10,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.AllowModelFilter].decide(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.AllowModelFilter"
    linkageType: null
    functionLinenumber: 16
    functionDepth: 0
    returnType: "ch.qos.logback.core.spi.FilterReply"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    functionUses: 3
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.AllowModelFilter:17"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.AllowModelFilter:21"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.AllowModelFilter:20"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.AllowModelFilter:17,1"
      Dst: "[java.lang.Object].getClass()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.action.ReceiverAction].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.action.ReceiverAction"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.action.ReceiverAction:32,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.action.ReceiverAction].buildCurrentModel(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.classic.joran.action.ReceiverAction"
    linkageType: null
    functionLinenumber: 36
    functionDepth: 3
    returnType: "ch.qos.logback.core.model.Model"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.model.ReceiverModel].<init>()"
    - "[org.xml.sax.helpers.AttributesImpl].getValue(java.lang.String)"
    - "[ch.qos.logback.core.model.ComponentModel].setClassName(java.lang.String)"
    - "[org.xml.sax.Attributes].getValue(java.lang.String)"
    functionUses: 1
    ICount: 9
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.action.ReceiverAction:37,1"
      Dst: "[ch.qos.logback.classic.model.ReceiverModel].<init>()"
    - Src: "ch.qos.logback.classic.joran.action.ReceiverAction:38,1"
      Dst: "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - Src: "ch.qos.logback.classic.joran.action.ReceiverAction:38,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].setClassName(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.ReceiverModel].<init>()"
    functionSourceFile: "ch.qos.logback.classic.model.ReceiverModel"
    linkageType: null
    functionLinenumber: 17
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.ComponentModel].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.ReceiverModel:18,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ComponentModel].setClassName(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.ComponentModel"
    linkageType: null
    functionLinenumber: 47
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 9
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.action.ReceiverAction].validPreconditions(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.classic.joran.action.ReceiverAction"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 4
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].<init>(ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].validateClassAttribute()"
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].isValid()"
    functionUses: 1
    ICount: 9
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.action.ReceiverAction:44,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].<init>(ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    - Src: "ch.qos.logback.classic.joran.action.ReceiverAction:45,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].validateClassAttribute()"
    - Src: "ch.qos.logback.classic.joran.action.ReceiverAction:46,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].isValid()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].<init>(ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 1
    returnType: "void"
    argCount: 4
    argTypes:
    - "ch.qos.logback.core.spi.ContextAware"
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>(ch.qos.logback.core.spi.ContextAware)"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].getContext()"
    - "[ch.qos.logback.core.pattern.DynamicConverter].getContext()"
    - "[ch.qos.logback.core.LayoutBase:ch.qos.logback.core.spi.ContextAwareBase:ch.qos.logback.core.spi.ContextAwareImpl].getContext()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAware].getContext()"
    functionUses: 16
    ICount: 13
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:33,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>(ch.qos.logback.core.spi.ContextAware)"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:34,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].getContext()"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:34,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].validateClassAttribute()"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 53
    functionDepth: 3
    returnType: "ch.qos.logback.core.joran.action.PreconditionValidator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].generic(java.lang.String)"
    functionUses: 6
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:54,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].generic(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].isValid()"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 79
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 16
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ImplicitModelHandler].<init>(ch.qos.logback.core.Context,ch.qos.logback.core.joran.util.beans.BeanDescriptionCache)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ImplicitModelHandler"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.joran.util.beans.BeanDescriptionCache"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:43,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ImplicitModelHandler].getSupportedModelClass()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ImplicitModelHandler"
    linkageType: null
    functionLinenumber: 47
    functionDepth: 0
    returnType: "java.lang.Class"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ImplicitModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ImplicitModelHandler"
    linkageType: null
    functionLinenumber: 51
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ImplicitModelHandler"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getBeanDescriptionCache()"
    - "[ch.qos.logback.core.model.processor.ImplicitModelHandler].<init>(ch.qos.logback.core.Context,ch.qos.logback.core.joran.util.beans.BeanDescriptionCache)"
    functionUses: 2
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:52,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getBeanDescriptionCache()"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:53,1"
      Dst: "[ch.qos.logback.core.model.processor.ImplicitModelHandler].<init>(ch.qos.logback.core.Context,ch.qos.logback.core.joran.util.beans.BeanDescriptionCache)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ImplicitModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ImplicitModelHandler"
    linkageType: null
    functionLinenumber: 58
    functionDepth: 14
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].isObjectStackEmpty()"
    - "[ch.qos.logback.core.model.Model].getTag()"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekObject()"
    - "[ch.qos.logback.core.joran.util.PropertySetter].<init>(ch.qos.logback.core.joran.util.beans.BeanDescriptionCache,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.joran.util.PropertySetter].computeAggregationType(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.model.Model].markAsSkipped()"
    - "[ch.qos.logback.core.joran.action.ImcplicitActionDataForBasicProperty].<init>(ch.qos.logback.core.joran.util.PropertySetter,ch.qos.logback.core.util.AggregationType,java.lang.String)"
    - "[ch.qos.logback.core.model.processor.ImplicitModelHandler].doBasicProperty(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model,ch.qos.logback.core.joran.action.ImcplicitActionDataForBasicProperty)"
    - "[ch.qos.logback.core.joran.action.ImplicitModelDataForComplexProperty].<init>(ch.qos.logback.core.joran.util.PropertySetter,ch.qos.logback.core.util.AggregationType,java.lang.String)"
    - "[ch.qos.logback.core.model.processor.ImplicitModelHandler].doComplex(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.ComponentModel,ch.qos.logback.core.joran.action.ImplicitModelDataForComplexProperty)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[java.lang.Enum].ordinal()"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.util.AggregationType)"
    functionUses: 3
    ICount: 40
    EdgeCount: 13
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.ImplicitModelHandler:62"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ImplicitModelHandler:66"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ImplicitModelHandler:65"
        BranchSideFuncs:
        - "setContext(ch.qos.logback.core.Context)"
        - "getTag()"
        - "peekObject()"
        - "<init>(ch.qos.logback.core.joran.util.beans.BeanDescriptionCache,java.lang.Object)"
        - "computeAggregationType(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:62,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].isObjectStackEmpty()"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:66,1"
      Dst: "[ch.qos.logback.core.model.Model].getTag()"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:68,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekObject()"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:69,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].<init>(ch.qos.logback.core.joran.util.beans.BeanDescriptionCache,java.lang.Object)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:70,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:72,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].computeAggregationType(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:74,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:76,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:76,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:76,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:76,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:79,1"
      Dst: "[ch.qos.logback.core.model.Model].markAsSkipped()"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:83,1"
      Dst: "[ch.qos.logback.core.joran.action.ImcplicitActionDataForBasicProperty].<init>(ch.qos.logback.core.joran.util.PropertySetter,ch.qos.logback.core.util.AggregationType,java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:86,1"
      Dst: "[ch.qos.logback.core.model.processor.ImplicitModelHandler].doBasicProperty(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model,ch.qos.logback.core.joran.action.ImcplicitActionDataForBasicProperty)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:91,1"
      Dst: "[ch.qos.logback.core.joran.action.ImplicitModelDataForComplexProperty].<init>(ch.qos.logback.core.joran.util.PropertySetter,ch.qos.logback.core.util.AggregationType,java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:94,1"
      Dst: "[ch.qos.logback.core.model.processor.ImplicitModelHandler].doComplex(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.ComponentModel,ch.qos.logback.core.joran.action.ImplicitModelDataForComplexProperty)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:97,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.util.AggregationType)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:97,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].isObjectStackEmpty()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 118
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Vector].isEmpty()"
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:119,1"
      Dst: "[java.util.Vector].isEmpty()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].getTag()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 16
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekObject()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 122
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].peek()"
    functionUses: 16
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:123,1"
      Dst: "[java.util.Stack].peek()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].<init>(ch.qos.logback.core.joran.util.beans.BeanDescriptionCache,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 64
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.joran.util.beans.BeanDescriptionCache"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - "[ch.qos.logback.core.joran.util.beans.BeanDescriptionCache].getBeanDescription(java.lang.Class)"
    - "[java.lang.Object].getClass()"
    functionUses: 3
    ICount: 11
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:65,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:67,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:68,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanDescriptionCache].getBeanDescription(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 67
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:45"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:44"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:47"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:46,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].computeAggregationType(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 132
    functionDepth: 4
    returnType: "ch.qos.logback.core.util.AggregationType"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.PropertySetter].capitalizeFirstLetter(java.lang.String)"
    - "[ch.qos.logback.core.joran.util.PropertySetter].findAdderMethod(java.lang.String)"
    - "[ch.qos.logback.core.joran.util.PropertySetter].computeRawAggregationType(java.lang.reflect.Method)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.joran.util.PropertySetter].findSetterMethod(java.lang.String)"
    - "[java.lang.Enum].ordinal()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.util.AggregationType)"
    functionUses: 2
    ICount: 24
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:137"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:153"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:152"
        BranchSideFuncs:
        - "findSetterMethod(java.lang.String)"
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:154"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:158"
        BranchSideFuncs:
        - "computeRawAggregationType(java.lang.reflect.Method)"
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:157"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:133,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].capitalizeFirstLetter(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:135,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].findAdderMethod(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:138,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].computeRawAggregationType(java.lang.reflect.Method)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:139,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:149,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.util.AggregationType)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:149,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:153,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].findSetterMethod(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 96
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].markAsSkipped()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 63
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 7
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.ImcplicitActionDataForBasicProperty].<init>(ch.qos.logback.core.joran.util.PropertySetter,ch.qos.logback.core.util.AggregationType,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.action.ImcplicitActionDataForBasicProperty"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.util.PropertySetter"
    - "ch.qos.logback.core.util.AggregationType"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.ImplicitModelData].<init>(ch.qos.logback.core.joran.util.PropertySetter,ch.qos.logback.core.util.AggregationType,java.lang.String)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.ImcplicitActionDataForBasicProperty:28,1"
      Dst: "[ch.qos.logback.core.joran.action.ImplicitModelData].<init>(ch.qos.logback.core.joran.util.PropertySetter,ch.qos.logback.core.util.AggregationType,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.ImplicitModelData].<init>(ch.qos.logback.core.joran.util.PropertySetter,ch.qos.logback.core.util.AggregationType,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.action.ImplicitModelData"
    linkageType: null
    functionLinenumber: 29
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.util.PropertySetter"
    - "ch.qos.logback.core.util.AggregationType"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 2
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.ImplicitModelData:30,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ImplicitModelHandler].doBasicProperty(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model,ch.qos.logback.core.joran.action.ImcplicitActionDataForBasicProperty)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ImplicitModelHandler"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 13
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.Model"
    - "ch.qos.logback.core.joran.action.ImcplicitActionDataForBasicProperty"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].getBodyText()"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    - "[ch.qos.logback.core.joran.util.PropertySetter].setProperty(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.joran.util.PropertySetter].addBasicProperty(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[java.lang.Enum].ordinal()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.util.AggregationType)"
    functionUses: 1
    ICount: 23
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:105,1"
      Dst: "[ch.qos.logback.core.model.Model].getBodyText()"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:105,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:109,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:111,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].setProperty(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:114,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].addBasicProperty(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:117,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.util.AggregationType)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:117,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.model.Model].getBodyText()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 128
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 152
    functionDepth: 12
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.OptionHelper].substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 26
    ICount: 11
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:153"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:158"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:157"
        BranchSideFuncs:
        - "substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:158,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:160,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:160,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].setProperty(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 87
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.PropertySetter].findSetterMethod(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.joran.util.PropertySetter].setProperty(java.lang.reflect.Method,java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String,java.lang.Throwable)"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    functionUses: 2
    ICount: 18
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:88"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:91"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:90"
        BranchSideFuncs:
        - "findSetterMethod(java.lang.String)"
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:92"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:96"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:95"
        BranchSideFuncs:
        - "setProperty(java.lang.reflect.Method,java.lang.String,java.lang.String)"
        - "addWarn(java.lang.String,java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:91,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].findSetterMethod(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:93,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:93,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:96,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].setProperty(java.lang.reflect.Method,java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:98,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].addBasicProperty(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 252
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.PropertySetter].capitalizeFirstLetter(java.lang.String)"
    - "[ch.qos.logback.core.joran.util.PropertySetter].findAdderMethod(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.joran.util.PropertySetter].isSanityCheckSuccessful(java.lang.String,java.lang.reflect.Method,java.lang.Class[],java.lang.Object)"
    - "[ch.qos.logback.core.joran.util.StringToObjectConverter].convertArg(ch.qos.logback.core.spi.ContextAware,java.lang.String,java.lang.Class)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.joran.util.PropertySetter].invokeMethodWithSingleParameterOnThisObject(java.lang.reflect.Method,java.lang.Object)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.lang.reflect.Method].getParameterTypes()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Class)"
    functionUses: 1
    ICount: 24
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:253"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:257"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:256"
        BranchSideFuncs:
        - "capitalizeFirstLetter(java.lang.String)"
        - "findAdderMethod(java.lang.String)"
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:260"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:265"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:264"
        BranchSideFuncs:
        - "convertArg(ch.qos.logback.core.spi.ContextAware,java.lang.String,java.lang.Class)"
        - "addError(java.lang.String,java.lang.Throwable)"
        - "isSanityCheckSuccessful(java.lang.String,java.lang.reflect.Method,java.lang.Class[],java.lang.Object)"
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:275"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:278"
        BranchSideFuncs:
        - "invokeMethodWithSingleParameterOnThisObject(java.lang.reflect.Method,java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:277"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:257,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].capitalizeFirstLetter(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:258,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].findAdderMethod(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:261,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:261,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:265,1"
      Dst: "[java.lang.reflect.Method].getParameterTypes()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:266,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].isSanityCheckSuccessful(java.lang.String,java.lang.reflect.Method,java.lang.Class[],java.lang.Object)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:270,1"
      Dst: "[ch.qos.logback.core.joran.util.StringToObjectConverter].convertArg(ch.qos.logback.core.spi.ContextAware,java.lang.String,java.lang.Class)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:272,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Class)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:272,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:276,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].invokeMethodWithSingleParameterOnThisObject(java.lang.reflect.Method,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.ImplicitModelDataForComplexProperty].<init>(ch.qos.logback.core.joran.util.PropertySetter,ch.qos.logback.core.util.AggregationType,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.action.ImplicitModelDataForComplexProperty"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.util.PropertySetter"
    - "ch.qos.logback.core.util.AggregationType"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.ImplicitModelData].<init>(ch.qos.logback.core.joran.util.PropertySetter,ch.qos.logback.core.util.AggregationType,java.lang.String)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.ImplicitModelDataForComplexProperty:28,1"
      Dst: "[ch.qos.logback.core.joran.action.ImplicitModelData].<init>(ch.qos.logback.core.joran.util.PropertySetter,ch.qos.logback.core.util.AggregationType,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ImplicitModelHandler].doComplex(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.ComponentModel,ch.qos.logback.core.joran.action.ImplicitModelDataForComplexProperty)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ImplicitModelHandler"
    linkageType: null
    functionLinenumber: 123
    functionDepth: 13
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.ComponentModel"
    - "ch.qos.logback.core.joran.action.ImplicitModelDataForComplexProperty"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.ComponentModel].getClassName()"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getImport(java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - "[ch.qos.logback.core.util.Loader].loadClass(java.lang.String,ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.joran.util.PropertySetter].getClassNameViaImplicitRules(java.lang.String,ch.qos.logback.core.util.AggregationType,ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry)"
    - "[ch.qos.logback.core.joran.action.ImplicitModelData].getAggregationType()"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getDefaultNestedComponentRegistry()"
    - "[ch.qos.logback.core.model.Model].getTag()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.joran.action.ImplicitModelDataForComplexProperty].setNestedComplexProperty(java.lang.Object)"
    - "[ch.qos.logback.core.joran.action.ImplicitModelDataForComplexProperty].getNestedComplexProperty()"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.classic.spi.LoggerContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.LayoutBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].pushObject(java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - "[java.lang.Class].getConstructor(java.lang.Class[])"
    - "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    - "[ch.qos.logback.core.spi.ContextAware].setContext(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 50
    EdgeCount: 26
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.ImplicitModelHandler:133"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ImplicitModelHandler:137"
        BranchSideFuncs:
        - "loadClass(java.lang.String,ch.qos.logback.core.Context)"
      - BranchSide: "ch.qos.logback.core.model.processor.ImplicitModelHandler:136"
        BranchSideFuncs:
        - "getClassNameViaImplicitRules(java.lang.String,ch.qos.logback.core.util.AggregationType,ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry)"
    - Branch String: "ch.qos.logback.core.model.processor.ImplicitModelHandler:142"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ImplicitModelHandler:149"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.model.processor.ImplicitModelHandler:148"
        BranchSideFuncs:
        - "isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Branch String: "ch.qos.logback.core.model.processor.ImplicitModelHandler:149"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ImplicitModelHandler:154"
        BranchSideFuncs:
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.model.processor.ImplicitModelHandler:153"
        BranchSideFuncs:
        - "setNestedComplexProperty(java.lang.Object)"
    - Branch String: "ch.qos.logback.core.model.processor.ImplicitModelHandler:157"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ImplicitModelHandler:162"
        BranchSideFuncs:
        - "setContext(ch.qos.logback.core.Context)"
      - BranchSide: "ch.qos.logback.core.model.processor.ImplicitModelHandler:161"
        BranchSideFuncs:
        - "getTag()"
        - "addError(java.lang.String,java.lang.Throwable)"
        - "pushObject(java.lang.Object)"
        - "getNestedComplexProperty()"
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:124,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].getClassName()"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:126,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:128,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getImport(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:133,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:134,1"
      Dst: "[ch.qos.logback.core.util.Loader].loadClass(java.lang.String,ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:139,1"
      Dst: "[ch.qos.logback.core.joran.action.ImplicitModelData].getAggregationType()"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:139,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getDefaultNestedComponentRegistry()"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:138,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].getClassNameViaImplicitRules(java.lang.String,ch.qos.logback.core.util.AggregationType,ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:144,1"
      Dst: "[ch.qos.logback.core.model.Model].getTag()"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:144,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:145,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:150,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:150,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:150,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:154,1"
      Dst: "[java.lang.Class].getConstructor(java.lang.Class[])"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:154,1"
      Dst: "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:154,1"
      Dst: "[ch.qos.logback.core.joran.action.ImplicitModelDataForComplexProperty].setNestedComplexProperty(java.lang.Object)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:157,1"
      Dst: "[ch.qos.logback.core.joran.action.ImplicitModelDataForComplexProperty].getNestedComplexProperty()"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:158,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:162,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].pushObject(java.lang.Object)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:167,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 12
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.model.ComponentModel].getClassName()"
    functionSourceFile: "ch.qos.logback.core.model.ComponentModel"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 11
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getImport(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 287
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map].get(java.lang.Object)"
    functionUses: 9
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:288"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:291"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:290"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:292"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:295"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:294"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:291,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 282
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    - "[java.lang.String].length()"
    functionUses: 62
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].length()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.util.Loader].loadClass(java.lang.String,ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.util.Loader"
    linkageType: null
    functionLinenumber: 130
    functionDepth: 3
    returnType: "java.lang.Class"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].getClassLoaderOfObject(java.lang.Object)"
    - "[java.lang.ClassLoader].loadClass(java.lang.String)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.Loader:131,1"
      Dst: "[ch.qos.logback.core.util.Loader].getClassLoaderOfObject(java.lang.Object)"
    - Src: "ch.qos.logback.core.util.Loader:132,1"
      Dst: "[java.lang.ClassLoader].loadClass(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.Loader].getClassLoaderOfObject(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.util.Loader"
    linkageType: null
    functionLinenumber: 142
    functionDepth: 2
    returnType: "java.lang.ClassLoader"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].getClassLoaderOfClass(java.lang.Class)"
    - "[java.lang.NullPointerException].<init>(java.lang.String)"
    - "[java.lang.Object].getClass()"
    functionUses: 5
    ICount: 8
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.Loader:143"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.Loader:146"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.Loader:145"
        BranchSideFuncs:
        - "getClassLoaderOfClass(java.lang.Class)"
    Callsites:
    - Src: "ch.qos.logback.core.util.Loader:144,1"
      Dst: "[java.lang.NullPointerException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.util.Loader:146,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.util.Loader:146,1"
      Dst: "[ch.qos.logback.core.util.Loader].getClassLoaderOfClass(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.ImplicitModelData].getAggregationType()"
    functionSourceFile: "ch.qos.logback.core.joran.action.ImplicitModelData"
    linkageType: null
    functionLinenumber: 36
    functionDepth: 0
    returnType: "ch.qos.logback.core.util.AggregationType"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getDefaultNestedComponentRegistry()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 190
    functionDepth: 0
    returnType: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 5
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].getClassNameViaImplicitRules(java.lang.String,ch.qos.logback.core.util.AggregationType,ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 378
    functionDepth: 3
    returnType: "java.lang.Class"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "ch.qos.logback.core.util.AggregationType"
    - "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry].findDefaultComponentType(java.lang.Class,java.lang.String)"
    - "[ch.qos.logback.core.joran.util.PropertySetter].getRelevantMethod(java.lang.String,ch.qos.logback.core.util.AggregationType)"
    - "[ch.qos.logback.core.joran.util.PropertySetter].getDefaultClassNameByAnnonation(java.lang.String,java.lang.reflect.Method)"
    - "[ch.qos.logback.core.joran.util.PropertySetter].getByConcreteType(java.lang.String,java.lang.reflect.Method)"
    - "[java.lang.Object].getClass()"
    functionUses: 1
    ICount: 17
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:380"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:384"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:383"
        BranchSideFuncs:
        - "getRelevantMethod(java.lang.String,ch.qos.logback.core.util.AggregationType)"
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:385"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:388"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:387"
        BranchSideFuncs:
        - "getDefaultClassNameByAnnonation(java.lang.String,java.lang.reflect.Method)"
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:389"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:392"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:391"
        BranchSideFuncs:
        - "getByConcreteType(java.lang.String,java.lang.reflect.Method)"
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:379,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:379,1"
      Dst: "[ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry].findDefaultComponentType(java.lang.Class,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:384,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].getRelevantMethod(java.lang.String,ch.qos.logback.core.util.AggregationType)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:388,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].getDefaultClassNameByAnnonation(java.lang.String,java.lang.reflect.Method)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:392,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].getByConcreteType(java.lang.String,java.lang.reflect.Method)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.ImplicitModelDataForComplexProperty].setNestedComplexProperty(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.joran.action.ImplicitModelDataForComplexProperty"
    linkageType: null
    functionLinenumber: 35
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.ImplicitModelDataForComplexProperty].getNestedComplexProperty()"
    functionSourceFile: "ch.qos.logback.core.joran.action.ImplicitModelDataForComplexProperty"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 8
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].pushObject(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 126
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].push(java.lang.Object)"
    functionUses: 12
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:127,1"
      Dst: "[java.util.Stack].push(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 74
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ImplicitModelHandler].doBasicProperty(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model,ch.qos.logback.core.joran.action.ImcplicitActionDataForBasicProperty)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ImplicitModelHandler"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 13
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.Model"
    - "ch.qos.logback.core.joran.action.ImcplicitActionDataForBasicProperty"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].getBodyText()"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    - "[ch.qos.logback.core.joran.util.PropertySetter].setProperty(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.joran.util.PropertySetter].addBasicProperty(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[java.lang.Enum].ordinal()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.util.AggregationType)"
    functionUses: 1
    ICount: 23
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:105,1"
      Dst: "[ch.qos.logback.core.model.Model].getBodyText()"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:105,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:109,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:111,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].setProperty(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:114,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].addBasicProperty(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:117,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.util.AggregationType)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:117,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.model.processor.ImplicitModelHandler].doComplex(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.ComponentModel,ch.qos.logback.core.joran.action.ImplicitModelDataForComplexProperty)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ImplicitModelHandler"
    linkageType: null
    functionLinenumber: 123
    functionDepth: 13
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.ComponentModel"
    - "ch.qos.logback.core.joran.action.ImplicitModelDataForComplexProperty"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.ComponentModel].getClassName()"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getImport(java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - "[ch.qos.logback.core.util.Loader].loadClass(java.lang.String,ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.joran.util.PropertySetter].getClassNameViaImplicitRules(java.lang.String,ch.qos.logback.core.util.AggregationType,ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry)"
    - "[ch.qos.logback.core.joran.action.ImplicitModelData].getAggregationType()"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getDefaultNestedComponentRegistry()"
    - "[ch.qos.logback.core.model.Model].getTag()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.joran.action.ImplicitModelDataForComplexProperty].setNestedComplexProperty(java.lang.Object)"
    - "[ch.qos.logback.core.joran.action.ImplicitModelDataForComplexProperty].getNestedComplexProperty()"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.classic.spi.LoggerContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.LayoutBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].pushObject(java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - "[java.lang.Class].getConstructor(java.lang.Class[])"
    - "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    - "[ch.qos.logback.core.spi.ContextAware].setContext(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 50
    EdgeCount: 26
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.ImplicitModelHandler:133"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ImplicitModelHandler:137"
        BranchSideFuncs:
        - "loadClass(java.lang.String,ch.qos.logback.core.Context)"
      - BranchSide: "ch.qos.logback.core.model.processor.ImplicitModelHandler:136"
        BranchSideFuncs:
        - "getClassNameViaImplicitRules(java.lang.String,ch.qos.logback.core.util.AggregationType,ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry)"
    - Branch String: "ch.qos.logback.core.model.processor.ImplicitModelHandler:142"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ImplicitModelHandler:149"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.model.processor.ImplicitModelHandler:148"
        BranchSideFuncs:
        - "isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Branch String: "ch.qos.logback.core.model.processor.ImplicitModelHandler:149"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ImplicitModelHandler:154"
        BranchSideFuncs:
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.model.processor.ImplicitModelHandler:153"
        BranchSideFuncs:
        - "setNestedComplexProperty(java.lang.Object)"
    - Branch String: "ch.qos.logback.core.model.processor.ImplicitModelHandler:157"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ImplicitModelHandler:162"
        BranchSideFuncs:
        - "setContext(ch.qos.logback.core.Context)"
      - BranchSide: "ch.qos.logback.core.model.processor.ImplicitModelHandler:161"
        BranchSideFuncs:
        - "getTag()"
        - "addError(java.lang.String,java.lang.Throwable)"
        - "pushObject(java.lang.Object)"
        - "getNestedComplexProperty()"
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:124,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].getClassName()"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:126,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:128,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getImport(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:133,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:134,1"
      Dst: "[ch.qos.logback.core.util.Loader].loadClass(java.lang.String,ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:139,1"
      Dst: "[ch.qos.logback.core.joran.action.ImplicitModelData].getAggregationType()"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:139,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getDefaultNestedComponentRegistry()"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:138,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].getClassNameViaImplicitRules(java.lang.String,ch.qos.logback.core.util.AggregationType,ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:144,1"
      Dst: "[ch.qos.logback.core.model.Model].getTag()"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:144,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:145,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:150,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:150,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:150,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:154,1"
      Dst: "[java.lang.Class].getConstructor(java.lang.Class[])"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:154,1"
      Dst: "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:154,1"
      Dst: "[ch.qos.logback.core.joran.action.ImplicitModelDataForComplexProperty].setNestedComplexProperty(java.lang.Object)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:157,1"
      Dst: "[ch.qos.logback.core.joran.action.ImplicitModelDataForComplexProperty].getNestedComplexProperty()"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:158,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:162,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].pushObject(java.lang.Object)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:167,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 12
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.model.processor.ImplicitModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ImplicitModelHandler"
    linkageType: null
    functionLinenumber: 172
    functionDepth: 6
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ImplicitModelHandler].postHandleComplex(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model,ch.qos.logback.core.joran.action.ImplicitModelDataForComplexProperty)"
    functionUses: 3
    ICount: 20
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.ImplicitModelHandler:173"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ImplicitModelHandler:177"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ImplicitModelHandler:176"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.ImplicitModelHandler:177"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ImplicitModelHandler:182"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ImplicitModelHandler:181"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.ImplicitModelHandler:182"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ImplicitModelHandler:185"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ImplicitModelHandler:184"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.ImplicitModelHandler:185"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ImplicitModelHandler:189"
        BranchSideFuncs:
        - "postHandleComplex(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model,ch.qos.logback.core.joran.action.ImplicitModelDataForComplexProperty)"
      - BranchSide: "ch.qos.logback.core.model.processor.ImplicitModelHandler:188"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:186,1"
      Dst: "[ch.qos.logback.core.model.processor.ImplicitModelHandler].postHandleComplex(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model,ch.qos.logback.core.joran.action.ImplicitModelDataForComplexProperty)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.model.processor.ImplicitModelHandler].postHandleComplex(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model,ch.qos.logback.core.joran.action.ImplicitModelDataForComplexProperty)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ImplicitModelHandler"
    linkageType: null
    functionLinenumber: 193
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.Model"
    - "ch.qos.logback.core.joran.action.ImplicitModelDataForComplexProperty"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.PropertySetter].<init>(ch.qos.logback.core.joran.util.beans.BeanDescriptionCache,java.lang.Object)"
    - "[ch.qos.logback.core.joran.action.ImplicitModelDataForComplexProperty].getNestedComplexProperty()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.joran.util.PropertySetter].computeAggregationType(java.lang.String)"
    - "[ch.qos.logback.core.joran.util.PropertySetter].getObj()"
    - "[ch.qos.logback.core.joran.util.PropertySetter].setComplexProperty(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.joran.spi.NoAutoStartUtil].notMarkedWithNoAutoStart(java.lang.Object)"
    - "[ch.qos.logback.classic.net.SocketReceiver].run()"
    - "[ch.qos.logback.core.boolex.Matcher].start()"
    - "[ch.qos.logback.classic.turbo.MarkerFilter].start()"
    - "[ch.qos.logback.classic.pattern.SyslogStartConverter].start()"
    - "[ch.qos.logback.core.encoder.EncoderBase].start()"
    - "[ch.qos.logback.classic.pattern.KeyValuePairConverter].start()"
    - "[ch.qos.logback.classic.jul.LevelChangePropagator].start()"
    - "[ch.qos.logback.core.AsyncAppenderBase].start()"
    - "[ch.qos.logback.core.pattern.PatternLayoutBase].start()"
    - "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP].start()"
    - "[ch.qos.logback.core.net.server.SSLServerSocketAppenderBase].start()"
    - "[ch.qos.logback.core.status.OnPrintStreamStatusListenerBase].start()"
    - "[ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy].start()"
    - "[ch.qos.logback.core.testUtil.StringListAppender].start()"
    - "[ch.qos.logback.core.ContextBase].start()"
    - "[ch.qos.logback.core.filter.EvaluatorFilter].start()"
    - "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].start()"
    - "[ch.qos.logback.classic.html.HTMLLayout].start()"
    - "[ch.qos.logback.classic.pattern.MDCConverter].start()"
    - "[ch.qos.logback.core.net.SMTPAppenderBase].start()"
    - "[ch.qos.logback.core.status.OnFileStatusListener].start()"
    - "[ch.qos.logback.classic.log4j.XMLLayout].start()"
    - "[ch.qos.logback.classic.net.SMTPAppender].start()"
    - "[ch.qos.logback.core.read.CyclicBufferAppender].start()"
    - "[ch.qos.logback.core.boolex.JaninoEventEvaluatorBase].start()"
    - "[ch.qos.logback.core.FileAppender].start()"
    - "[ch.qos.logback.classic.pattern.DateConverter].start()"
    - "[ch.qos.logback.classic.pattern.PropertyConverter].start()"
    - "[ch.qos.logback.classic.encoder.PatternLayoutEncoder].start()"
    - "[ch.qos.logback.core.UnsynchronizedAppenderBase].start()"
    - "[ch.qos.logback.classic.layout.TTLLLayout].start()"
    - "[ch.qos.logback.core.rolling.FixedWindowRollingPolicy].start()"
    - "[ch.qos.logback.core.rolling.RollingPolicyBase].start()"
    - "[ch.qos.logback.classic.turbo.MDCFilter].start()"
    - "[ch.qos.logback.classic.pattern.NamedConverter].start()"
    - "[ch.qos.logback.core.LayoutBase].start()"
    - "[ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy].start()"
    - "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase].start()"
    - "[ch.qos.logback.core.OutputStreamAppender].start()"
    - "[ch.qos.logback.classic.filter.ThresholdFilter].start()"
    - "[ch.qos.logback.core.net.server.AbstractServerSocketAppender].start()"
    - "[ch.qos.logback.classic.pattern.CallerDataConverter].start()"
    - "[ch.qos.logback.classic.pattern.SequenceNumberConverter].start()"
    - "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].start()"
    - "[ch.qos.logback.core.net.SyslogAppenderBase].start()"
    - "[ch.qos.logback.core.sift.AbstractDiscriminator].start()"
    - "[ch.qos.logback.core.sift.SiftingAppenderBase].start()"
    - "[ch.qos.logback.core.rolling.RollingFileAppender].start()"
    - "[ch.qos.logback.core.boolex.EventEvaluatorBase].start()"
    - "[ch.qos.logback.core.rolling.helper.DateTokenConverter].start()"
    - "[ch.qos.logback.classic.LoggerContext].start()"
    - "[ch.qos.logback.core.testUtil.TrivialStatusListener].start()"
    - "[ch.qos.logback.classic.net.ReceiverBase].start()"
    - "[ch.qos.logback.classic.turbo.TurboFilter].start()"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].start()"
    - "[ch.qos.logback.core.net.AbstractSocketAppender].start()"
    - "[ch.qos.logback.classic.turbo.DuplicateMessageFilter].start()"
    - "[ch.qos.logback.classic.turbo.DynamicThresholdFilter].start()"
    - "[ch.qos.logback.core.ConsoleAppender].start()"
    - "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].start()"
    - "[ch.qos.logback.classic.sift.MDCBasedDiscriminator].start()"
    - "[ch.qos.logback.core.pattern.ReplacingCompositeConverter].start()"
    - "[ch.qos.logback.core.filter.Filter].start()"
    - "[ch.qos.logback.core.html.HTMLLayoutBase].start()"
    - "[ch.qos.logback.core.rolling.TriggeringPolicyBase].start()"
    - "[ch.qos.logback.classic.filter.LevelFilter].start()"
    - "[ch.qos.logback.classic.helpers.WithLayoutListAppender].start()"
    - "[ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy].start()"
    - "[ch.qos.logback.core.AppenderBase].start()"
    - "[ch.qos.logback.classic.net.SyslogAppender].start()"
    - "[ch.qos.logback.core.net.AbstractSSLSocketAppender].start()"
    - "[ch.qos.logback.core.pattern.DynamicConverter].start()"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekObject()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].popObject()"
    - "[ch.qos.logback.core.model.Model].getTag()"
    - "[ch.qos.logback.core.joran.util.PropertySetter].addComplexProperty(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.LifeCycle].start()"
    - "[java.lang.Enum].ordinal()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.util.AggregationType)"
    functionUses: 1
    ICount: 48
    EdgeCount: 91
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.ImplicitModelHandler:199"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ImplicitModelHandler:205"
        BranchSideFuncs:
        - "getObj()"
      - BranchSide: "ch.qos.logback.core.model.processor.ImplicitModelHandler:204"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.ImplicitModelHandler:206"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ImplicitModelHandler:211"
        BranchSideFuncs:
        - "notMarkedWithNoAutoStart(java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.model.processor.ImplicitModelHandler:210"
        BranchSideFuncs:
        - "peekObject()"
    - Branch String: "ch.qos.logback.core.model.processor.ImplicitModelHandler:207"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ImplicitModelHandler:211"
        BranchSideFuncs:
        - "start()"
        - "run()"
      - BranchSide: "ch.qos.logback.core.model.processor.ImplicitModelHandler:210"
        BranchSideFuncs:
        - "peekObject()"
    - Branch String: "ch.qos.logback.core.model.processor.ImplicitModelHandler:213"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ImplicitModelHandler:216"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ImplicitModelHandler:215"
        BranchSideFuncs:
        - "popObject()"
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:195,1"
      Dst: "[ch.qos.logback.core.joran.action.ImplicitModelDataForComplexProperty].getNestedComplexProperty()"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:195,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].<init>(ch.qos.logback.core.joran.util.beans.BeanDescriptionCache,java.lang.Object)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:196,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:199,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].computeAggregationType(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:200,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].getObj()"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:200,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].setComplexProperty(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:207,1"
      Dst: "[ch.qos.logback.core.joran.spi.NoAutoStartUtil].notMarkedWithNoAutoStart(java.lang.Object)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:208,1"
      Dst: "[ch.qos.logback.core.spi.LifeCycle].start()"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:211,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekObject()"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:214,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:216,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].popObject()"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:218,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:220,1"
      Dst: "[ch.qos.logback.core.model.Model].getTag()"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:224,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].addComplexProperty(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:227,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.util.AggregationType)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 12
    CyclomaticComplexity: 7
  - functionName: "[ch.qos.logback.core.joran.action.ImplicitModelDataForComplexProperty].getNestedComplexProperty()"
    functionSourceFile: "ch.qos.logback.core.joran.action.ImplicitModelDataForComplexProperty"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 8
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].<init>(ch.qos.logback.core.joran.util.beans.BeanDescriptionCache,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 64
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.joran.util.beans.BeanDescriptionCache"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - "[ch.qos.logback.core.joran.util.beans.BeanDescriptionCache].getBeanDescription(java.lang.Class)"
    - "[java.lang.Object].getClass()"
    functionUses: 3
    ICount: 11
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:65,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:67,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:68,1"
      Dst: "[ch.qos.logback.core.joran.util.beans.BeanDescriptionCache].getBeanDescription(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 67
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:45"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:44"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:47"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:46,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].computeAggregationType(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 132
    functionDepth: 4
    returnType: "ch.qos.logback.core.util.AggregationType"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.PropertySetter].capitalizeFirstLetter(java.lang.String)"
    - "[ch.qos.logback.core.joran.util.PropertySetter].findAdderMethod(java.lang.String)"
    - "[ch.qos.logback.core.joran.util.PropertySetter].computeRawAggregationType(java.lang.reflect.Method)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.joran.util.PropertySetter].findSetterMethod(java.lang.String)"
    - "[java.lang.Enum].ordinal()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.util.AggregationType)"
    functionUses: 2
    ICount: 24
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:137"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:153"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:152"
        BranchSideFuncs:
        - "findSetterMethod(java.lang.String)"
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:154"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:158"
        BranchSideFuncs:
        - "computeRawAggregationType(java.lang.reflect.Method)"
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:157"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:133,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].capitalizeFirstLetter(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:135,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].findAdderMethod(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:138,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].computeRawAggregationType(java.lang.reflect.Method)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:139,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:149,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.util.AggregationType)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:149,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:153,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].findSetterMethod(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].getObj()"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 327
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].setComplexProperty(java.lang.String,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 280
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.PropertySetter].findSetterMethod(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.joran.util.PropertySetter].isSanityCheckSuccessful(java.lang.String,java.lang.reflect.Method,java.lang.Class[],java.lang.Object)"
    - "[ch.qos.logback.core.joran.util.PropertySetter].invokeMethodWithSingleParameterOnThisObject(java.lang.reflect.Method,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - "[java.lang.reflect.Method].getParameterTypes()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Object,java.lang.Object)"
    functionUses: 2
    ICount: 23
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:289"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:288"
        BranchSideFuncs:
        - "isSanityCheckSuccessful(java.lang.String,java.lang.reflect.Method,java.lang.Class[],java.lang.Object)"
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:291"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:295"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:294"
        BranchSideFuncs:
        - "invokeMethodWithSingleParameterOnThisObject(java.lang.reflect.Method,java.lang.Object)"
        - "addError(java.lang.String,java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:281,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].findSetterMethod(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:284,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:284,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:284,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:284,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:289,1"
      Dst: "[java.lang.reflect.Method].getParameterTypes()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:291,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].isSanityCheckSuccessful(java.lang.String,java.lang.reflect.Method,java.lang.Class[],java.lang.Object)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:295,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].invokeMethodWithSingleParameterOnThisObject(java.lang.reflect.Method,java.lang.Object)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:298,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Object,java.lang.Object)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:298,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.NoAutoStartUtil].notMarkedWithNoAutoStart(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.NoAutoStartUtil"
    linkageType: null
    functionLinenumber: 25
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getAnnotation(java.lang.Class)"
    functionUses: 1
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.NoAutoStartUtil:26"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.NoAutoStartUtil:29"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.NoAutoStartUtil:28"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.NoAutoStartUtil:31"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.NoAutoStartUtil:28"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.NoAutoStartUtil:29,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.joran.spi.NoAutoStartUtil:30,1"
      Dst: "[java.lang.Class].getAnnotation(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekObject()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 122
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].peek()"
    functionUses: 16
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:123,1"
      Dst: "[java.util.Stack].peek()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].popObject()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 130
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].pop()"
    functionUses: 12
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:131,1"
      Dst: "[java.util.Stack].pop()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].getTag()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 16
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.PropertySetter].addComplexProperty(java.lang.String,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.joran.util.PropertySetter"
    linkageType: null
    functionLinenumber: 227
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.PropertySetter].findAdderMethod(java.lang.String)"
    - "[ch.qos.logback.core.joran.util.PropertySetter].isSanityCheckSuccessful(java.lang.String,java.lang.reflect.Method,java.lang.Class[],java.lang.Object)"
    - "[ch.qos.logback.core.joran.util.PropertySetter].invokeMethodWithSingleParameterOnThisObject(java.lang.reflect.Method,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[java.lang.reflect.Method].getParameterTypes()"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    functionUses: 1
    ICount: 16
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:230"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:237"
        BranchSideFuncs:
        - "isSanityCheckSuccessful(java.lang.String,java.lang.reflect.Method,java.lang.Class[],java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:236"
        BranchSideFuncs:
        - "addError(java.lang.String)"
    - Branch String: "ch.qos.logback.core.joran.util.PropertySetter:232"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:235"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.PropertySetter:234"
        BranchSideFuncs:
        - "invokeMethodWithSingleParameterOnThisObject(java.lang.reflect.Method,java.lang.Object)"
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:228,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].findAdderMethod(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:231,1"
      Dst: "[java.lang.reflect.Method].getParameterTypes()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:232,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].isSanityCheckSuccessful(java.lang.String,java.lang.reflect.Method,java.lang.Class[],java.lang.Object)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:235,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].invokeMethodWithSingleParameterOnThisObject(java.lang.reflect.Method,java.lang.Object)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:237,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:237,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.PropertySetter:237,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.model.processor.ImplicitModelHandler].postHandleComplex(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model,ch.qos.logback.core.joran.action.ImplicitModelDataForComplexProperty)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ImplicitModelHandler"
    linkageType: null
    functionLinenumber: 193
    functionDepth: 5
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.Model"
    - "ch.qos.logback.core.joran.action.ImplicitModelDataForComplexProperty"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.PropertySetter].<init>(ch.qos.logback.core.joran.util.beans.BeanDescriptionCache,java.lang.Object)"
    - "[ch.qos.logback.core.joran.action.ImplicitModelDataForComplexProperty].getNestedComplexProperty()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.joran.util.PropertySetter].computeAggregationType(java.lang.String)"
    - "[ch.qos.logback.core.joran.util.PropertySetter].getObj()"
    - "[ch.qos.logback.core.joran.util.PropertySetter].setComplexProperty(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.joran.spi.NoAutoStartUtil].notMarkedWithNoAutoStart(java.lang.Object)"
    - "[ch.qos.logback.classic.net.SocketReceiver].run()"
    - "[ch.qos.logback.core.boolex.Matcher].start()"
    - "[ch.qos.logback.classic.turbo.MarkerFilter].start()"
    - "[ch.qos.logback.classic.pattern.SyslogStartConverter].start()"
    - "[ch.qos.logback.core.encoder.EncoderBase].start()"
    - "[ch.qos.logback.classic.pattern.KeyValuePairConverter].start()"
    - "[ch.qos.logback.classic.jul.LevelChangePropagator].start()"
    - "[ch.qos.logback.core.AsyncAppenderBase].start()"
    - "[ch.qos.logback.core.pattern.PatternLayoutBase].start()"
    - "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP].start()"
    - "[ch.qos.logback.core.net.server.SSLServerSocketAppenderBase].start()"
    - "[ch.qos.logback.core.status.OnPrintStreamStatusListenerBase].start()"
    - "[ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy].start()"
    - "[ch.qos.logback.core.testUtil.StringListAppender].start()"
    - "[ch.qos.logback.core.ContextBase].start()"
    - "[ch.qos.logback.core.filter.EvaluatorFilter].start()"
    - "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].start()"
    - "[ch.qos.logback.classic.html.HTMLLayout].start()"
    - "[ch.qos.logback.classic.pattern.MDCConverter].start()"
    - "[ch.qos.logback.core.net.SMTPAppenderBase].start()"
    - "[ch.qos.logback.core.status.OnFileStatusListener].start()"
    - "[ch.qos.logback.classic.log4j.XMLLayout].start()"
    - "[ch.qos.logback.classic.net.SMTPAppender].start()"
    - "[ch.qos.logback.core.read.CyclicBufferAppender].start()"
    - "[ch.qos.logback.core.boolex.JaninoEventEvaluatorBase].start()"
    - "[ch.qos.logback.core.FileAppender].start()"
    - "[ch.qos.logback.classic.pattern.DateConverter].start()"
    - "[ch.qos.logback.classic.pattern.PropertyConverter].start()"
    - "[ch.qos.logback.classic.encoder.PatternLayoutEncoder].start()"
    - "[ch.qos.logback.core.UnsynchronizedAppenderBase].start()"
    - "[ch.qos.logback.classic.layout.TTLLLayout].start()"
    - "[ch.qos.logback.core.rolling.FixedWindowRollingPolicy].start()"
    - "[ch.qos.logback.core.rolling.RollingPolicyBase].start()"
    - "[ch.qos.logback.classic.turbo.MDCFilter].start()"
    - "[ch.qos.logback.classic.pattern.NamedConverter].start()"
    - "[ch.qos.logback.core.LayoutBase].start()"
    - "[ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy].start()"
    - "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase].start()"
    - "[ch.qos.logback.core.OutputStreamAppender].start()"
    - "[ch.qos.logback.classic.filter.ThresholdFilter].start()"
    - "[ch.qos.logback.core.net.server.AbstractServerSocketAppender].start()"
    - "[ch.qos.logback.classic.pattern.CallerDataConverter].start()"
    - "[ch.qos.logback.classic.pattern.SequenceNumberConverter].start()"
    - "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].start()"
    - "[ch.qos.logback.core.net.SyslogAppenderBase].start()"
    - "[ch.qos.logback.core.sift.AbstractDiscriminator].start()"
    - "[ch.qos.logback.core.sift.SiftingAppenderBase].start()"
    - "[ch.qos.logback.core.rolling.RollingFileAppender].start()"
    - "[ch.qos.logback.core.boolex.EventEvaluatorBase].start()"
    - "[ch.qos.logback.core.rolling.helper.DateTokenConverter].start()"
    - "[ch.qos.logback.classic.LoggerContext].start()"
    - "[ch.qos.logback.core.testUtil.TrivialStatusListener].start()"
    - "[ch.qos.logback.classic.net.ReceiverBase].start()"
    - "[ch.qos.logback.classic.turbo.TurboFilter].start()"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].start()"
    - "[ch.qos.logback.core.net.AbstractSocketAppender].start()"
    - "[ch.qos.logback.classic.turbo.DuplicateMessageFilter].start()"
    - "[ch.qos.logback.classic.turbo.DynamicThresholdFilter].start()"
    - "[ch.qos.logback.core.ConsoleAppender].start()"
    - "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].start()"
    - "[ch.qos.logback.classic.sift.MDCBasedDiscriminator].start()"
    - "[ch.qos.logback.core.pattern.ReplacingCompositeConverter].start()"
    - "[ch.qos.logback.core.filter.Filter].start()"
    - "[ch.qos.logback.core.html.HTMLLayoutBase].start()"
    - "[ch.qos.logback.core.rolling.TriggeringPolicyBase].start()"
    - "[ch.qos.logback.classic.filter.LevelFilter].start()"
    - "[ch.qos.logback.classic.helpers.WithLayoutListAppender].start()"
    - "[ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy].start()"
    - "[ch.qos.logback.core.AppenderBase].start()"
    - "[ch.qos.logback.classic.net.SyslogAppender].start()"
    - "[ch.qos.logback.core.net.AbstractSSLSocketAppender].start()"
    - "[ch.qos.logback.core.pattern.DynamicConverter].start()"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekObject()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].popObject()"
    - "[ch.qos.logback.core.model.Model].getTag()"
    - "[ch.qos.logback.core.joran.util.PropertySetter].addComplexProperty(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.LifeCycle].start()"
    - "[java.lang.Enum].ordinal()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.util.AggregationType)"
    functionUses: 1
    ICount: 48
    EdgeCount: 91
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.ImplicitModelHandler:199"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ImplicitModelHandler:205"
        BranchSideFuncs:
        - "getObj()"
      - BranchSide: "ch.qos.logback.core.model.processor.ImplicitModelHandler:204"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.ImplicitModelHandler:206"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ImplicitModelHandler:211"
        BranchSideFuncs:
        - "notMarkedWithNoAutoStart(java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.model.processor.ImplicitModelHandler:210"
        BranchSideFuncs:
        - "peekObject()"
    - Branch String: "ch.qos.logback.core.model.processor.ImplicitModelHandler:207"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ImplicitModelHandler:211"
        BranchSideFuncs:
        - "start()"
        - "run()"
      - BranchSide: "ch.qos.logback.core.model.processor.ImplicitModelHandler:210"
        BranchSideFuncs:
        - "peekObject()"
    - Branch String: "ch.qos.logback.core.model.processor.ImplicitModelHandler:213"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ImplicitModelHandler:216"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ImplicitModelHandler:215"
        BranchSideFuncs:
        - "popObject()"
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:195,1"
      Dst: "[ch.qos.logback.core.joran.action.ImplicitModelDataForComplexProperty].getNestedComplexProperty()"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:195,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].<init>(ch.qos.logback.core.joran.util.beans.BeanDescriptionCache,java.lang.Object)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:196,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:199,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].computeAggregationType(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:200,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].getObj()"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:200,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].setComplexProperty(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:207,1"
      Dst: "[ch.qos.logback.core.joran.spi.NoAutoStartUtil].notMarkedWithNoAutoStart(java.lang.Object)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:208,1"
      Dst: "[ch.qos.logback.core.spi.LifeCycle].start()"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:211,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekObject()"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:214,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:216,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].popObject()"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:218,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:220,1"
      Dst: "[ch.qos.logback.core.model.Model].getTag()"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:224,1"
      Dst: "[ch.qos.logback.core.joran.util.PropertySetter].addComplexProperty(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:227,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.util.AggregationType)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 12
    CyclomaticComplexity: 7
  - functionName: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].<init>()"
    functionSourceFile: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.turbo.TurboFilter].<init>()"
    - "[java.lang.System].currentTimeMillis()"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:42,1"
      Dst: "[ch.qos.logback.classic.turbo.TurboFilter].<init>()"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:91,1"
      Dst: "[java.lang.System].currentTimeMillis()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].start()"
    functionSourceFile: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter"
    linkageType: null
    functionLinenumber: 57
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].getConfigurationWatchList(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].getMainURL()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].getCopyOfFileWatchList()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].updateNextCheck(long)"
    - "[ch.qos.logback.classic.turbo.TurboFilter].start()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.util.List,long)"
    - "[java.lang.System].currentTimeMillis()"
    functionUses: 5
    ICount: 32
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:59"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:73"
        BranchSideFuncs:
        - "getMainURL()"
      - BranchSide: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:72"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
    - Branch String: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:65"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:64"
        BranchSideFuncs:
        - "getCopyOfFileWatchList()"
        - "updateNextCheck(long)"
        - "addInfo(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:58,1"
      Dst: "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].getConfigurationWatchList(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:60,1"
      Dst: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].getMainURL()"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:62,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:65,1"
      Dst: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].getCopyOfFileWatchList()"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:67,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.util.List,long)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:67,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:69,1"
      Dst: "[java.lang.System].currentTimeMillis()"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:69,1"
      Dst: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].updateNextCheck(long)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:71,1"
      Dst: "[ch.qos.logback.classic.turbo.TurboFilter].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].getConfigurationWatchList(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil"
    linkageType: null
    functionLinenumber: 85
    functionDepth: 0
    returnType: "ch.qos.logback.core.joran.spi.ConfigurationWatchList"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getObject(java.lang.String)"
    - "[ch.qos.logback.core.Context].getObject(java.lang.String)"
    functionUses: 6
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:86,1"
      Dst: "[ch.qos.logback.core.Context].getObject(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].getMainURL()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ConfigurationWatchList"
    linkageType: null
    functionLinenumber: 71
    functionDepth: 0
    returnType: "java.net.URL"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 96
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].getCopyOfFileWatchList()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ConfigurationWatchList"
    linkageType: null
    functionLinenumber: 75
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>(java.util.Collection)"
    functionUses: 3
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:76,1"
      Dst: "[java.util.ArrayList].<init>(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].updateNextCheck(long)"
    functionSourceFile: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter"
    linkageType: null
    functionLinenumber: 158
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].toString()"
    functionSourceFile: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter"
    linkageType: null
    functionLinenumber: 78
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(long)"
    functionUses: 3
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:79,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].decide(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter"
    linkageType: null
    functionLinenumber: 94
    functionDepth: 3
    returnType: "ch.qos.logback.core.spi.FilterReply"
    argCount: 6
    argTypes:
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Logger"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.turbo.TurboFilter].isStarted()"
    - "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].updateMaskIfNecessary(long)"
    - "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].changeDetected(long)"
    - "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].disableSubsequentReconfiguration()"
    - "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].detachReconfigurationToNewThread()"
    - "[java.lang.System].currentTimeMillis()"
    functionUses: 2
    ICount: 36
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:95"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:102"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:101"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:102"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:106"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:105"
        BranchSideFuncs:
        - "changeDetected(long)"
        - "updateMaskIfNecessary(long)"
    - Branch String: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:110"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:117"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:95,1"
      Dst: "[ch.qos.logback.classic.turbo.TurboFilter].isStarted()"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:106,1"
      Dst: "[java.lang.System].currentTimeMillis()"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:109,1"
      Dst: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].updateMaskIfNecessary(long)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:110,1"
      Dst: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].changeDetected(long)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:115,1"
      Dst: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].disableSubsequentReconfiguration()"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:116,1"
      Dst: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].detachReconfigurationToNewThread()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].updateMaskIfNecessary(long)"
    functionSourceFile: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter"
    linkageType: null
    functionLinenumber: 140
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 24
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:143"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:145"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:144"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:143"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:145"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:144"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:145"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:148"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:147"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].changeDetected(long)"
    functionSourceFile: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter"
    linkageType: null
    functionLinenumber: 162
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].updateNextCheck(long)"
    - "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].changeDetected()"
    functionUses: 1
    ICount: 11
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:163"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:167"
        BranchSideFuncs:
        - "changeDetected()"
        - "updateNextCheck(long)"
      - BranchSide: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:166"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:164,1"
      Dst: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].updateNextCheck(long)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:165,1"
      Dst: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].changeDetected()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].updateNextCheck(long)"
    functionSourceFile: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter"
    linkageType: null
    functionLinenumber: 158
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].changeDetected()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ConfigurationWatchList"
    linkageType: null
    functionLinenumber: 79
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.util.COWArrayList].get(int)"
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    - "[java.lang.Long].longValue()"
    - "[java.io.File].lastModified()"
    functionUses: 2
    ICount: 19
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:81"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:88"
        BranchSideFuncs:
        - "get(int)"
      - BranchSide: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:87"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:84"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:80"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:79"
        BranchSideFuncs:
        - "size()"
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:80,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:82,1"
      Dst: "[java.util.List].get(int)"
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:82,1"
      Dst: "[java.lang.Long].longValue()"
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:84,1"
      Dst: "[java.io.File].lastModified()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].disableSubsequentReconfiguration()"
    functionSourceFile: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter"
    linkageType: null
    functionLinenumber: 170
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].detachReconfigurationToNewThread()"
    functionSourceFile: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter"
    linkageType: null
    functionLinenumber: 153
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].getCopyOfFileWatchList()"
    - "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread].<init>(ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter)"
    - "[ch.qos.logback.core.ContextBase].getExecutorService()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.util.List)"
    - "[ch.qos.logback.core.Context].getExecutorService()"
    - "[java.util.concurrent.ExecutorService].submit(java.lang.Runnable)"
    functionUses: 1
    ICount: 11
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:154,1"
      Dst: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].getCopyOfFileWatchList()"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:154,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.util.List)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:154,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:155,1"
      Dst: "[ch.qos.logback.core.Context].getExecutorService()"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:155,1"
      Dst: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread].<init>(ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:155,1"
      Dst: "[java.util.concurrent.ExecutorService].submit(java.lang.Runnable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].getCopyOfFileWatchList()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ConfigurationWatchList"
    linkageType: null
    functionLinenumber: 75
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>(java.util.Collection)"
    functionUses: 3
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:76,1"
      Dst: "[java.util.ArrayList].<init>(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread].<init>(ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter)"
    functionSourceFile: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread"
    linkageType: null
    functionLinenumber: 181
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:182,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].updateMaskIfNecessary(long)"
    functionSourceFile: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter"
    linkageType: null
    functionLinenumber: 140
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 24
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:143"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:145"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:144"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:143"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:145"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:144"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:145"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:148"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:147"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].detachReconfigurationToNewThread()"
    functionSourceFile: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter"
    linkageType: null
    functionLinenumber: 153
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].getCopyOfFileWatchList()"
    - "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread].<init>(ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter)"
    - "[ch.qos.logback.core.ContextBase].getExecutorService()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.util.List)"
    - "[ch.qos.logback.core.Context].getExecutorService()"
    - "[java.util.concurrent.ExecutorService].submit(java.lang.Runnable)"
    functionUses: 1
    ICount: 11
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:154,1"
      Dst: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].getCopyOfFileWatchList()"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:154,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.util.List)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:154,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:155,1"
      Dst: "[ch.qos.logback.core.Context].getExecutorService()"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:155,1"
      Dst: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread].<init>(ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:155,1"
      Dst: "[java.util.concurrent.ExecutorService].submit(java.lang.Runnable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].updateNextCheck(long)"
    functionSourceFile: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter"
    linkageType: null
    functionLinenumber: 158
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].changeDetected(long)"
    functionSourceFile: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter"
    linkageType: null
    functionLinenumber: 162
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].updateNextCheck(long)"
    - "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].changeDetected()"
    functionUses: 1
    ICount: 11
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:163"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:167"
        BranchSideFuncs:
        - "changeDetected()"
        - "updateNextCheck(long)"
      - BranchSide: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:166"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:164,1"
      Dst: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].updateNextCheck(long)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter:165,1"
      Dst: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].changeDetected()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].disableSubsequentReconfiguration()"
    functionSourceFile: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter"
    linkageType: null
    functionLinenumber: 170
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].getRefreshPeriod()"
    functionSourceFile: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].setRefreshPeriod(long)"
    functionSourceFile: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].access$000(ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter)"
    functionSourceFile: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter"
    linkageType: null
    functionLinenumber: 41
    functionDepth: 0
    returnType: "ch.qos.logback.core.Context"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].access$100(ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter)"
    functionSourceFile: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter"
    linkageType: null
    functionLinenumber: 41
    functionDepth: 0
    returnType: "ch.qos.logback.core.Context"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].access$200(ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter)"
    functionSourceFile: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter"
    linkageType: null
    functionLinenumber: 41
    functionDepth: 0
    returnType: "ch.qos.logback.core.Context"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].access$300(ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter)"
    functionSourceFile: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter"
    linkageType: null
    functionLinenumber: 41
    functionDepth: 0
    returnType: "ch.qos.logback.core.Context"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].access$400(ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter)"
    functionSourceFile: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter"
    linkageType: null
    functionLinenumber: 41
    functionDepth: 0
    returnType: "ch.qos.logback.core.Context"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].access$500(ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter)"
    functionSourceFile: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter"
    linkageType: null
    functionLinenumber: 41
    functionDepth: 0
    returnType: "ch.qos.logback.core.Context"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].access$600(ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter)"
    functionSourceFile: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter"
    linkageType: null
    functionLinenumber: 41
    functionDepth: 0
    returnType: "ch.qos.logback.core.Context"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.stax.EndEvent].<init>(java.lang.String,javax.xml.stream.Location)"
    functionSourceFile: "ch.qos.logback.core.joran.event.stax.EndEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "javax.xml.stream.Location"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.event.stax.StaxEvent].<init>(java.lang.String,javax.xml.stream.Location)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.stax.EndEvent:25,1"
      Dst: "[ch.qos.logback.core.joran.event.stax.StaxEvent].<init>(java.lang.String,javax.xml.stream.Location)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.stax.EndEvent].toString()"
    functionSourceFile: "ch.qos.logback.core.joran.event.stax.EndEvent"
    linkageType: null
    functionLinenumber: 29
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.event.stax.StaxEvent].getName()"
    - "[javax.xml.stream.Location].getLineNumber()"
    - "[javax.xml.stream.Location].getColumnNumber()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int,int)"
    functionUses: 3
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.stax.EndEvent:30,1"
      Dst: "[ch.qos.logback.core.joran.event.stax.StaxEvent].getName()"
    - Src: "ch.qos.logback.core.joran.event.stax.EndEvent:30,1"
      Dst: "[javax.xml.stream.Location].getLineNumber()"
    - Src: "ch.qos.logback.core.joran.event.stax.EndEvent:30,1"
      Dst: "[javax.xml.stream.Location].getColumnNumber()"
    - Src: "ch.qos.logback.core.joran.event.stax.EndEvent:30,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.stax.StaxEvent].getName()"
    functionSourceFile: "ch.qos.logback.core.joran.event.stax.StaxEvent"
    linkageType: null
    functionLinenumber: 29
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.Compressor$CompressionRunnable].<init>(ch.qos.logback.core.rolling.helper.Compressor,java.lang.String,java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.Compressor$CompressionRunnable"
    linkageType: null
    functionLinenumber: 237
    functionDepth: 0
    returnType: "void"
    argCount: 4
    argTypes:
    - "ch.qos.logback.core.rolling.helper.Compressor"
    - "java.lang.String"
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 11
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.Compressor$CompressionRunnable:238,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.Compressor$CompressionRunnable].run()"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.Compressor$CompressionRunnable"
    linkageType: null
    functionLinenumber: 245
    functionDepth: 5
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.Compressor].compress(java.lang.String,java.lang.String,java.lang.String)"
    functionUses: 2
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.Compressor$CompressionRunnable:246,1"
      Dst: "[ch.qos.logback.core.rolling.helper.Compressor].compress(java.lang.String,java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.Compressor].compress(java.lang.String,java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.Compressor"
    linkageType: null
    functionLinenumber: 54
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.Compressor].gzCompress(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.rolling.helper.Compressor].zipCompress(java.lang.String,java.lang.String,java.lang.String)"
    - "[java.lang.Enum].ordinal()"
    - "[java.lang.UnsupportedOperationException].<init>(java.lang.String)"
    functionUses: 3
    ICount: 17
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:55,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:57,1"
      Dst: "[ch.qos.logback.core.rolling.helper.Compressor].gzCompress(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:60,1"
      Dst: "[ch.qos.logback.core.rolling.helper.Compressor].zipCompress(java.lang.String,java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:63,1"
      Dst: "[java.lang.UnsupportedOperationException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.rolling.helper.Compressor].gzCompress(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.Compressor"
    linkageType: null
    functionLinenumber: 145
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.rolling.helper.Compressor].createMissingTargetDirsIfNecessary(java.io.File)"
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[java.io.File].<init>(java.lang.String)"
    - "[java.io.File].exists()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.lang.String].endsWith(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File,java.io.File)"
    - "[java.io.FileInputStream].<init>(java.lang.String)"
    - "[java.io.BufferedInputStream].<init>(java.io.InputStream)"
    - "[java.io.FileOutputStream].<init>(java.lang.String)"
    - "[java.util.zip.GZIPOutputStream].<init>(java.io.OutputStream)"
    - "[java.io.FilterInputStream].read(byte[])"
    - "[java.util.zip.GZIPOutputStream].write(byte[],int,int)"
    - "[java.util.zip.DeflaterOutputStream].close()"
    - "[java.lang.Throwable].addSuppressed(java.lang.Throwable)"
    - "[java.io.BufferedInputStream].close()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - "[java.io.File].delete()"
    functionUses: 1
    ICount: 70
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.Compressor:148"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:154"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:153"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.Compressor:154"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:158"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:157"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.Compressor:160"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:166"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:165"
        BranchSideFuncs:
        - "createMissingTargetDirsIfNecessary(java.io.File)"
    - Branch String: "ch.qos.logback.core.rolling.helper.Compressor:175"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:179"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:178"
        BranchSideFuncs:
        - "addInfo(java.lang.String)"
    - Branch String: "ch.qos.logback.core.rolling.helper.Compressor:186"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:190"
        BranchSideFuncs:
        - "<init>(java.lang.String,java.lang.Object)"
        - "addStatus(ch.qos.logback.core.status.Status)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:189"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:146,1"
      Dst: "[java.io.File].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:148,1"
      Dst: "[java.io.File].exists()"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:149,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:149,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:149,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:154,1"
      Dst: "[java.lang.String].endsWith(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:161,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:166,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File,java.io.File)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:166,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:167,1"
      Dst: "[ch.qos.logback.core.rolling.helper.Compressor].createMissingTargetDirsIfNecessary(java.io.File)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:169,1"
      Dst: "[java.io.FileInputStream].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:169,1"
      Dst: "[java.io.BufferedInputStream].<init>(java.io.InputStream)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:170,1"
      Dst: "[java.io.FileOutputStream].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:170,1"
      Dst: "[java.util.zip.GZIPOutputStream].<init>(java.io.OutputStream)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:175,1"
      Dst: "[java.io.FilterInputStream].read(byte[])"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:176,1"
      Dst: "[java.util.zip.GZIPOutputStream].write(byte[],int,int)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:180,1"
      Dst: "[java.util.zip.DeflaterOutputStream].close()"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:169,1"
      Dst: "[java.lang.Throwable].addSuppressed(java.lang.Throwable)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:180,1"
      Dst: "[java.io.BufferedInputStream].close()"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:181,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:181,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:186,1"
      Dst: "[java.io.File].delete()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 22
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.status.WarnStatus"
    linkageType: null
    functionLinenumber: 18
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    functionUses: 12
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.WarnStatus:19,1"
      Dst: "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 71
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.status.Status"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - "[ch.qos.logback.core.BasicStatusManager].add(ch.qos.logback.core.status.Status)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.ContextAwareBase)"
    - "[java.io.PrintStream].println(java.lang.String)"
    - "[ch.qos.logback.core.Context].getStatusManager()"
    - "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    functionUses: 24
    ICount: 17
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:78"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:77"
        BranchSideFuncs:
        - "getStatusManager()"
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:73"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:76"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:75"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:79"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:82"
        BranchSideFuncs:
        - "add(ch.qos.logback.core.status.Status)"
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:81"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:74,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.ContextAwareBase)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:74,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:78,1"
      Dst: "[ch.qos.logback.core.Context].getStatusManager()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:80,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 96
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.Compressor].createMissingTargetDirsIfNecessary(java.io.File)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.Compressor"
    linkageType: null
    functionLinenumber: 212
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.FileUtil].createMissingParentDirectories(java.io.File)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[java.io.File].getAbsolutePath()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 2
    ICount: 8
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.Compressor:214"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:217"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:216"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:213,1"
      Dst: "[ch.qos.logback.core.util.FileUtil].createMissingParentDirectories(java.io.File)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:215,1"
      Dst: "[java.io.File].getAbsolutePath()"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:215,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:215,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.FileUtil].createMissingParentDirectories(java.io.File)"
    functionSourceFile: "ch.qos.logback.core.util.FileUtil"
    linkageType: null
    functionLinenumber: 47
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.File].getParentFile()"
    - "[java.io.File].mkdirs()"
    - "[java.io.File].exists()"
    functionUses: 3
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.FileUtil:49"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.FileUtil:56"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.FileUtil:48,1"
      Dst: "[java.io.File].getParentFile()"
    - Src: "ch.qos.logback.core.util.FileUtil:57,1"
      Dst: "[java.io.File].mkdirs()"
    - Src: "ch.qos.logback.core.util.FileUtil:58,1"
      Dst: "[java.io.File].exists()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.status.ErrorStatus"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionUses: 14
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.ErrorStatus:23,1"
      Dst: "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.Compressor].zipCompress(java.lang.String,java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.Compressor"
    linkageType: null
    functionLinenumber: 67
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.rolling.helper.Compressor].createMissingTargetDirsIfNecessary(java.io.File)"
    - "[ch.qos.logback.core.rolling.helper.Compressor].computeZipEntry(java.lang.String)"
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[java.io.File].<init>(java.lang.String)"
    - "[java.io.File].exists()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.lang.String].endsWith(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File,java.io.File)"
    - "[java.io.FileInputStream].<init>(java.lang.String)"
    - "[java.io.BufferedInputStream].<init>(java.io.InputStream)"
    - "[java.io.FileOutputStream].<init>(java.lang.String)"
    - "[java.util.zip.ZipOutputStream].<init>(java.io.OutputStream)"
    - "[java.util.zip.ZipOutputStream].putNextEntry(java.util.zip.ZipEntry)"
    - "[java.io.FilterInputStream].read(byte[])"
    - "[java.util.zip.ZipOutputStream].write(byte[],int,int)"
    - "[java.util.zip.ZipOutputStream].close()"
    - "[java.lang.Throwable].addSuppressed(java.lang.Throwable)"
    - "[java.io.BufferedInputStream].close()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - "[java.io.File].delete()"
    functionUses: 1
    ICount: 80
    EdgeCount: 14
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.Compressor:70"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:76"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:75"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.Compressor:76"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:81"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:80"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.Compressor:81"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:85"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:84"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.Compressor:87"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:94"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:93"
        BranchSideFuncs:
        - "createMissingTargetDirsIfNecessary(java.io.File)"
        - "computeZipEntry(java.lang.String)"
    - Branch String: "ch.qos.logback.core.rolling.helper.Compressor:106"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:110"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:109"
        BranchSideFuncs:
        - "addInfo(java.lang.String)"
    - Branch String: "ch.qos.logback.core.rolling.helper.Compressor:116"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:119"
        BranchSideFuncs:
        - "<init>(java.lang.String,java.lang.Object)"
        - "addStatus(ch.qos.logback.core.status.Status)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:118"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:68,1"
      Dst: "[java.io.File].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:70,1"
      Dst: "[java.io.File].exists()"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:71,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:71,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:71,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:81,1"
      Dst: "[java.lang.String].endsWith(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:94,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File,java.io.File)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:94,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:95,1"
      Dst: "[ch.qos.logback.core.rolling.helper.Compressor].createMissingTargetDirsIfNecessary(java.io.File)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:97,1"
      Dst: "[java.io.FileInputStream].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:97,1"
      Dst: "[java.io.BufferedInputStream].<init>(java.io.InputStream)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:98,1"
      Dst: "[java.io.FileOutputStream].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:98,1"
      Dst: "[java.util.zip.ZipOutputStream].<init>(java.io.OutputStream)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:100,1"
      Dst: "[ch.qos.logback.core.rolling.helper.Compressor].computeZipEntry(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:101,1"
      Dst: "[java.util.zip.ZipOutputStream].putNextEntry(java.util.zip.ZipEntry)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:106,1"
      Dst: "[java.io.FilterInputStream].read(byte[])"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:107,1"
      Dst: "[java.util.zip.ZipOutputStream].write(byte[],int,int)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:111,1"
      Dst: "[java.util.zip.ZipOutputStream].close()"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:97,1"
      Dst: "[java.lang.Throwable].addSuppressed(java.lang.Throwable)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:111,1"
      Dst: "[java.io.BufferedInputStream].close()"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:112,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:112,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:116,1"
      Dst: "[java.io.File].delete()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 24
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.rolling.helper.Compressor].computeZipEntry(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.Compressor"
    linkageType: null
    functionLinenumber: 140
    functionDepth: 1
    returnType: "java.util.zip.ZipEntry"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.Compressor].computeFileNameStrWithoutCompSuffix(java.lang.String,ch.qos.logback.core.rolling.helper.CompressionMode)"
    - "[java.util.zip.ZipEntry].<init>(java.lang.String)"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:141,1"
      Dst: "[ch.qos.logback.core.rolling.helper.Compressor].computeFileNameStrWithoutCompSuffix(java.lang.String,ch.qos.logback.core.rolling.helper.CompressionMode)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:142,1"
      Dst: "[java.util.zip.ZipEntry].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.Compressor].computeFileNameStrWithoutCompSuffix(java.lang.String,ch.qos.logback.core.rolling.helper.CompressionMode)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.Compressor"
    linkageType: null
    functionLinenumber: 193
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "ch.qos.logback.core.rolling.helper.CompressionMode"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].length()"
    - "[java.lang.Enum].ordinal()"
    - "[java.lang.String].endsWith(java.lang.String)"
    - "[java.lang.String].substring(int,int)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 2
    ICount: 23
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.Compressor:197"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:200"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:199"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.Compressor:202"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:205"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:204"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:194,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:195,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:197,1"
      Dst: "[java.lang.String].endsWith(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:198,1"
      Dst: "[java.lang.String].substring(int,int)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:209,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.helpers.WithLayoutListAppender].<init>()"
    functionSourceFile: "ch.qos.logback.classic.helpers.WithLayoutListAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.AppenderBase].<init>()"
    - "[java.util.ArrayList].<init>()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.helpers.WithLayoutListAppender:30,1"
      Dst: "[ch.qos.logback.core.AppenderBase].<init>()"
    - Src: "ch.qos.logback.classic.helpers.WithLayoutListAppender:32,1"
      Dst: "[java.util.ArrayList].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.helpers.WithLayoutListAppender].start()"
    functionSourceFile: "ch.qos.logback.classic.helpers.WithLayoutListAppender"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.classic.PatternLayout].<init>()"
    - "[ch.qos.logback.core.LayoutBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.pattern.PatternLayoutBase].setPattern(java.lang.String)"
    - "[ch.qos.logback.core.pattern.PatternLayoutBase].start()"
    - "[ch.qos.logback.core.LayoutBase].isStarted()"
    - "[ch.qos.logback.core.AppenderBase].start()"
    functionUses: 6
    ICount: 21
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.helpers.WithLayoutListAppender:40"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.helpers.WithLayoutListAppender:44"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.helpers.WithLayoutListAppender:43"
        BranchSideFuncs:
        - "isStarted()"
        - "<init>()"
        - "setContext(ch.qos.logback.core.Context)"
        - "setPattern(java.lang.String)"
    - Branch String: "ch.qos.logback.classic.helpers.WithLayoutListAppender:48"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.helpers.WithLayoutListAppender:50"
        BranchSideFuncs:
        - "start()"
      - BranchSide: "ch.qos.logback.classic.helpers.WithLayoutListAppender:49"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.helpers.WithLayoutListAppender:41,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.classic.helpers.WithLayoutListAppender:44,1"
      Dst: "[ch.qos.logback.classic.PatternLayout].<init>()"
    - Src: "ch.qos.logback.classic.helpers.WithLayoutListAppender:45,1"
      Dst: "[ch.qos.logback.core.LayoutBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.helpers.WithLayoutListAppender:46,1"
      Dst: "[ch.qos.logback.core.pattern.PatternLayoutBase].setPattern(java.lang.String)"
    - Src: "ch.qos.logback.classic.helpers.WithLayoutListAppender:47,1"
      Dst: "[ch.qos.logback.core.pattern.PatternLayoutBase].start()"
    - Src: "ch.qos.logback.classic.helpers.WithLayoutListAppender:48,1"
      Dst: "[ch.qos.logback.core.LayoutBase].isStarted()"
    - Src: "ch.qos.logback.classic.helpers.WithLayoutListAppender:49,1"
      Dst: "[ch.qos.logback.core.AppenderBase].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.PatternLayout].<init>()"
    functionSourceFile: "ch.qos.logback.classic.PatternLayout"
    linkageType: null
    functionLinenumber: 163
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.PatternLayoutBase].<init>()"
    - "[ch.qos.logback.classic.pattern.EnsureExceptionHandling].<init>()"
    functionUses: 4
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.PatternLayout:164,1"
      Dst: "[ch.qos.logback.core.pattern.PatternLayoutBase].<init>()"
    - Src: "ch.qos.logback.classic.PatternLayout:165,1"
      Dst: "[ch.qos.logback.classic.pattern.EnsureExceptionHandling].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.helpers.WithLayoutListAppender].append(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.helpers.WithLayoutListAppender"
    linkageType: null
    functionLinenumber: 52
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.PatternLayout].doLayout(ch.qos.logback.classic.spi.ILoggingEvent)"
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.helpers.WithLayoutListAppender:53,1"
      Dst: "[ch.qos.logback.classic.PatternLayout].doLayout(ch.qos.logback.classic.spi.ILoggingEvent)"
    - Src: "ch.qos.logback.classic.helpers.WithLayoutListAppender:54,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.PatternLayout].doLayout(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.PatternLayout"
    linkageType: null
    functionLinenumber: 172
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.LayoutBase].isStarted()"
    - "[ch.qos.logback.core.pattern.PatternLayoutBase].writeLoopOnConverters(java.lang.Object)"
    functionUses: 3
    ICount: 7
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.PatternLayout:173"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.PatternLayout:176"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.PatternLayout:175"
        BranchSideFuncs:
        - "writeLoopOnConverters(java.lang.Object)"
    Callsites:
    - Src: "ch.qos.logback.classic.PatternLayout:173,1"
      Dst: "[ch.qos.logback.core.LayoutBase].isStarted()"
    - Src: "ch.qos.logback.classic.PatternLayout:176,1"
      Dst: "[ch.qos.logback.core.pattern.PatternLayoutBase].writeLoopOnConverters(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.helpers.WithLayoutListAppender].getPattern()"
    functionSourceFile: "ch.qos.logback.classic.helpers.WithLayoutListAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.helpers.WithLayoutListAppender].setPattern(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.helpers.WithLayoutListAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.helpers.WithLayoutListAppender].append(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.helpers.WithLayoutListAppender"
    linkageType: null
    functionLinenumber: 29
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.helpers.WithLayoutListAppender].append(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.helpers.WithLayoutListAppender:30,1"
      Dst: "[ch.qos.logback.classic.helpers.WithLayoutListAppender].append(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.helpers.WithLayoutListAppender].append(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.helpers.WithLayoutListAppender"
    linkageType: null
    functionLinenumber: 52
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.PatternLayout].doLayout(ch.qos.logback.classic.spi.ILoggingEvent)"
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.helpers.WithLayoutListAppender:53,1"
      Dst: "[ch.qos.logback.classic.PatternLayout].doLayout(ch.qos.logback.classic.spi.ILoggingEvent)"
    - Src: "ch.qos.logback.classic.helpers.WithLayoutListAppender:54,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.IdentityCompositeConverter].<init>()"
    functionSourceFile: "ch.qos.logback.core.pattern.IdentityCompositeConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.CompositeConverter].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.IdentityCompositeConverter:16,1"
      Dst: "[ch.qos.logback.core.pattern.CompositeConverter].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.IdentityCompositeConverter].transform(java.lang.Object,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.pattern.IdentityCompositeConverter"
    linkageType: null
    functionLinenumber: 19
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.TimeUtil].<init>()"
    functionSourceFile: "ch.qos.logback.core.util.TimeUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.TimeUtil:19,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.TimeUtil].computeStartOfNextSecond(long)"
    functionSourceFile: "ch.qos.logback.core.util.TimeUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "long"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Calendar].getInstance()"
    - "[java.util.Date].<init>(long)"
    - "[java.util.Calendar].setTime(java.util.Date)"
    - "[java.util.Calendar].set(int,int)"
    - "[java.util.Calendar].add(int,int)"
    - "[java.util.Calendar].getTime()"
    - "[java.util.Date].getTime()"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.TimeUtil:22,1"
      Dst: "[java.util.Calendar].getInstance()"
    - Src: "ch.qos.logback.core.util.TimeUtil:23,1"
      Dst: "[java.util.Date].<init>(long)"
    - Src: "ch.qos.logback.core.util.TimeUtil:23,1"
      Dst: "[java.util.Calendar].setTime(java.util.Date)"
    - Src: "ch.qos.logback.core.util.TimeUtil:24,1"
      Dst: "[java.util.Calendar].set(int,int)"
    - Src: "ch.qos.logback.core.util.TimeUtil:25,1"
      Dst: "[java.util.Calendar].add(int,int)"
    - Src: "ch.qos.logback.core.util.TimeUtil:26,1"
      Dst: "[java.util.Calendar].getTime()"
    - Src: "ch.qos.logback.core.util.TimeUtil:26,1"
      Dst: "[java.util.Date].getTime()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.TimeUtil].computeStartOfNextMinute(long)"
    functionSourceFile: "ch.qos.logback.core.util.TimeUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "long"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Calendar].getInstance()"
    - "[java.util.Date].<init>(long)"
    - "[java.util.Calendar].setTime(java.util.Date)"
    - "[java.util.Calendar].set(int,int)"
    - "[java.util.Calendar].add(int,int)"
    - "[java.util.Calendar].getTime()"
    - "[java.util.Date].getTime()"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.TimeUtil:30,1"
      Dst: "[java.util.Calendar].getInstance()"
    - Src: "ch.qos.logback.core.util.TimeUtil:31,1"
      Dst: "[java.util.Date].<init>(long)"
    - Src: "ch.qos.logback.core.util.TimeUtil:31,1"
      Dst: "[java.util.Calendar].setTime(java.util.Date)"
    - Src: "ch.qos.logback.core.util.TimeUtil:32,1"
      Dst: "[java.util.Calendar].set(int,int)"
    - Src: "ch.qos.logback.core.util.TimeUtil:34,1"
      Dst: "[java.util.Calendar].add(int,int)"
    - Src: "ch.qos.logback.core.util.TimeUtil:35,1"
      Dst: "[java.util.Calendar].getTime()"
    - Src: "ch.qos.logback.core.util.TimeUtil:35,1"
      Dst: "[java.util.Date].getTime()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.TimeUtil].computeStartOfNextHour(long)"
    functionSourceFile: "ch.qos.logback.core.util.TimeUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "long"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Calendar].getInstance()"
    - "[java.util.Date].<init>(long)"
    - "[java.util.Calendar].setTime(java.util.Date)"
    - "[java.util.Calendar].set(int,int)"
    - "[java.util.Calendar].add(int,int)"
    - "[java.util.Calendar].getTime()"
    - "[java.util.Date].getTime()"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.TimeUtil:39,1"
      Dst: "[java.util.Calendar].getInstance()"
    - Src: "ch.qos.logback.core.util.TimeUtil:40,1"
      Dst: "[java.util.Date].<init>(long)"
    - Src: "ch.qos.logback.core.util.TimeUtil:40,1"
      Dst: "[java.util.Calendar].setTime(java.util.Date)"
    - Src: "ch.qos.logback.core.util.TimeUtil:41,1"
      Dst: "[java.util.Calendar].set(int,int)"
    - Src: "ch.qos.logback.core.util.TimeUtil:44,1"
      Dst: "[java.util.Calendar].add(int,int)"
    - Src: "ch.qos.logback.core.util.TimeUtil:45,1"
      Dst: "[java.util.Calendar].getTime()"
    - Src: "ch.qos.logback.core.util.TimeUtil:45,1"
      Dst: "[java.util.Date].getTime()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.TimeUtil].computeStartOfNextDay(long)"
    functionSourceFile: "ch.qos.logback.core.util.TimeUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "long"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Calendar].getInstance()"
    - "[java.util.Date].<init>(long)"
    - "[java.util.Calendar].setTime(java.util.Date)"
    - "[java.util.Calendar].add(int,int)"
    - "[java.util.Calendar].set(int,int)"
    - "[java.util.Calendar].getTime()"
    - "[java.util.Date].getTime()"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.TimeUtil:49,1"
      Dst: "[java.util.Calendar].getInstance()"
    - Src: "ch.qos.logback.core.util.TimeUtil:50,1"
      Dst: "[java.util.Date].<init>(long)"
    - Src: "ch.qos.logback.core.util.TimeUtil:50,1"
      Dst: "[java.util.Calendar].setTime(java.util.Date)"
    - Src: "ch.qos.logback.core.util.TimeUtil:52,1"
      Dst: "[java.util.Calendar].add(int,int)"
    - Src: "ch.qos.logback.core.util.TimeUtil:53,1"
      Dst: "[java.util.Calendar].set(int,int)"
    - Src: "ch.qos.logback.core.util.TimeUtil:57,1"
      Dst: "[java.util.Calendar].getTime()"
    - Src: "ch.qos.logback.core.util.TimeUtil:57,1"
      Dst: "[java.util.Date].getTime()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.TimeUtil].computeStartOfNextWeek(long)"
    functionSourceFile: "ch.qos.logback.core.util.TimeUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "long"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Calendar].getInstance()"
    - "[java.util.Date].<init>(long)"
    - "[java.util.Calendar].setTime(java.util.Date)"
    - "[java.util.Calendar].getFirstDayOfWeek()"
    - "[java.util.Calendar].set(int,int)"
    - "[java.util.Calendar].add(int,int)"
    - "[java.util.Calendar].getTime()"
    - "[java.util.Date].getTime()"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.TimeUtil:61,1"
      Dst: "[java.util.Calendar].getInstance()"
    - Src: "ch.qos.logback.core.util.TimeUtil:62,1"
      Dst: "[java.util.Date].<init>(long)"
    - Src: "ch.qos.logback.core.util.TimeUtil:62,1"
      Dst: "[java.util.Calendar].setTime(java.util.Date)"
    - Src: "ch.qos.logback.core.util.TimeUtil:64,1"
      Dst: "[java.util.Calendar].getFirstDayOfWeek()"
    - Src: "ch.qos.logback.core.util.TimeUtil:64,1"
      Dst: "[java.util.Calendar].set(int,int)"
    - Src: "ch.qos.logback.core.util.TimeUtil:69,1"
      Dst: "[java.util.Calendar].add(int,int)"
    - Src: "ch.qos.logback.core.util.TimeUtil:70,1"
      Dst: "[java.util.Calendar].getTime()"
    - Src: "ch.qos.logback.core.util.TimeUtil:70,1"
      Dst: "[java.util.Date].getTime()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.TimeUtil].computeStartOfNextMonth(long)"
    functionSourceFile: "ch.qos.logback.core.util.TimeUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "long"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Calendar].getInstance()"
    - "[java.util.Date].<init>(long)"
    - "[java.util.Calendar].setTime(java.util.Date)"
    - "[java.util.Calendar].set(int,int)"
    - "[java.util.Calendar].add(int,int)"
    - "[java.util.Calendar].getTime()"
    - "[java.util.Date].getTime()"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.TimeUtil:74,1"
      Dst: "[java.util.Calendar].getInstance()"
    - Src: "ch.qos.logback.core.util.TimeUtil:75,1"
      Dst: "[java.util.Date].<init>(long)"
    - Src: "ch.qos.logback.core.util.TimeUtil:75,1"
      Dst: "[java.util.Calendar].setTime(java.util.Date)"
    - Src: "ch.qos.logback.core.util.TimeUtil:77,1"
      Dst: "[java.util.Calendar].set(int,int)"
    - Src: "ch.qos.logback.core.util.TimeUtil:82,1"
      Dst: "[java.util.Calendar].add(int,int)"
    - Src: "ch.qos.logback.core.util.TimeUtil:83,1"
      Dst: "[java.util.Calendar].getTime()"
    - Src: "ch.qos.logback.core.util.TimeUtil:83,1"
      Dst: "[java.util.Date].getTime()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__73].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__73"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__73].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__73:-1,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__73].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__73].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__73"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__73:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__73].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__73"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.SerializeModelModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__73:-1,1"
      Dst: "[ch.qos.logback.core.model.processor.SerializeModelModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.SerializeModelModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.SerializeModelModelHandler"
    linkageType: null
    functionLinenumber: 36
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.SerializeModelModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.SerializeModelModelHandler:37,1"
      Dst: "[ch.qos.logback.core.model.processor.SerializeModelModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.action.LevelAction].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.action.LevelAction"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.action.LevelAction:35,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.action.LevelAction].validPreconditions(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.classic.joran.action.LevelAction"
    linkageType: null
    functionLinenumber: 38
    functionDepth: 4
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].<init>(ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].validateValueAttribute()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.joran.action.Action].getLineNumber(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext)"
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].isValid()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int)"
    functionUses: 1
    ICount: 13
    EdgeCount: 6
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.action.LevelAction:39,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].<init>(ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    - Src: "ch.qos.logback.classic.joran.action.LevelAction:40,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].validateValueAttribute()"
    - Src: "ch.qos.logback.classic.joran.action.LevelAction:41,1"
      Dst: "[ch.qos.logback.core.joran.action.Action].getLineNumber(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext)"
    - Src: "ch.qos.logback.classic.joran.action.LevelAction:41,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int)"
    - Src: "ch.qos.logback.classic.joran.action.LevelAction:41,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.classic.joran.action.LevelAction:43,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].isValid()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].<init>(ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 1
    returnType: "void"
    argCount: 4
    argTypes:
    - "ch.qos.logback.core.spi.ContextAware"
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>(ch.qos.logback.core.spi.ContextAware)"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].getContext()"
    - "[ch.qos.logback.core.pattern.DynamicConverter].getContext()"
    - "[ch.qos.logback.core.LayoutBase:ch.qos.logback.core.spi.ContextAwareBase:ch.qos.logback.core.spi.ContextAwareImpl].getContext()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAware].getContext()"
    functionUses: 16
    ICount: 13
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:33,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>(ch.qos.logback.core.spi.ContextAware)"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:34,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].getContext()"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:34,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].validateValueAttribute()"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 61
    functionDepth: 3
    returnType: "ch.qos.logback.core.joran.action.PreconditionValidator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].generic(java.lang.String)"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:62,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].generic(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 96
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].isValid()"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 79
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 16
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.action.LevelAction].buildCurrentModel(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.classic.joran.action.LevelAction"
    linkageType: null
    functionLinenumber: 48
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.Model"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.model.LevelModel].<init>()"
    - "[org.xml.sax.helpers.AttributesImpl].getValue(java.lang.String)"
    - "[ch.qos.logback.classic.model.LevelModel].setValue(java.lang.String)"
    - "[org.xml.sax.Attributes].getValue(java.lang.String)"
    functionUses: 1
    ICount: 9
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.action.LevelAction:49,1"
      Dst: "[ch.qos.logback.classic.model.LevelModel].<init>()"
    - Src: "ch.qos.logback.classic.joran.action.LevelAction:50,1"
      Dst: "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - Src: "ch.qos.logback.classic.joran.action.LevelAction:51,1"
      Dst: "[ch.qos.logback.classic.model.LevelModel].setValue(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.LevelModel].<init>()"
    functionSourceFile: "ch.qos.logback.classic.model.LevelModel"
    linkageType: null
    functionLinenumber: 6
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.LevelModel:7,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.LevelModel].setValue(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.model.LevelModel"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.action.ConfigurationAction].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.action.ConfigurationAction"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.action.ConfigurationAction:23,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.action.ConfigurationAction].buildCurrentModel(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.classic.joran.action.ConfigurationAction"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.Model"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.model.ConfigurationModel].<init>()"
    - "[org.xml.sax.helpers.AttributesImpl].getValue(java.lang.String)"
    - "[ch.qos.logback.classic.model.ConfigurationModel].setDebugStr(java.lang.String)"
    - "[ch.qos.logback.classic.model.ConfigurationModel].setScanStr(java.lang.String)"
    - "[ch.qos.logback.classic.model.ConfigurationModel].setScanPeriodStr(java.lang.String)"
    - "[ch.qos.logback.classic.model.ConfigurationModel].setPackagingDataStr(java.lang.String)"
    - "[org.xml.sax.Attributes].getValue(java.lang.String)"
    functionUses: 1
    ICount: 15
    EdgeCount: 9
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.action.ConfigurationAction:32,1"
      Dst: "[ch.qos.logback.classic.model.ConfigurationModel].<init>()"
    - Src: "ch.qos.logback.classic.joran.action.ConfigurationAction:33,1"
      Dst: "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - Src: "ch.qos.logback.classic.joran.action.ConfigurationAction:33,1"
      Dst: "[ch.qos.logback.classic.model.ConfigurationModel].setDebugStr(java.lang.String)"
    - Src: "ch.qos.logback.classic.joran.action.ConfigurationAction:34,1"
      Dst: "[ch.qos.logback.classic.model.ConfigurationModel].setScanStr(java.lang.String)"
    - Src: "ch.qos.logback.classic.joran.action.ConfigurationAction:35,1"
      Dst: "[ch.qos.logback.classic.model.ConfigurationModel].setScanPeriodStr(java.lang.String)"
    - Src: "ch.qos.logback.classic.joran.action.ConfigurationAction:36,1"
      Dst: "[ch.qos.logback.classic.model.ConfigurationModel].setPackagingDataStr(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.ConfigurationModel].<init>()"
    functionSourceFile: "ch.qos.logback.classic.model.ConfigurationModel"
    linkageType: null
    functionLinenumber: 7
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.ConfigurationModel:8,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.ArrayList].<init>()"
    functionUses: 16
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:27,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.model.Model:40,1"
      Dst: "[java.util.ArrayList].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.ConfigurationModel].setDebugStr(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.model.ConfigurationModel"
    linkageType: null
    functionLinenumber: 35
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.ConfigurationModel].setScanStr(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.model.ConfigurationModel"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.ConfigurationModel].setScanPeriodStr(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.model.ConfigurationModel"
    linkageType: null
    functionLinenumber: 51
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.ConfigurationModel].setPackagingDataStr(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.model.ConfigurationModel"
    linkageType: null
    functionLinenumber: 59
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.NOPModelHandler].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.model.processor.NOPModelHandler"
    linkageType: null
    functionLinenumber: 21
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.NOPModelHandler:22,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.NOPModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.NOPModelHandler"
    linkageType: null
    functionLinenumber: 25
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.NOPModelHandler"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.NOPModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.NOPModelHandler:26,1"
      Dst: "[ch.qos.logback.core.model.processor.NOPModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.NOPModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.NOPModelHandler"
    linkageType: null
    functionLinenumber: 30
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.LevelModelHandler].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.classic.model.processor.LevelModelHandler"
    linkageType: null
    functionLinenumber: 20
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.LevelModelHandler:21,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.LevelModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.classic.model.processor.LevelModelHandler"
    linkageType: null
    functionLinenumber: 24
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.model.processor.LevelModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.LevelModelHandler:25,1"
      Dst: "[ch.qos.logback.classic.model.processor.LevelModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.LevelModelHandler].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.classic.model.processor.LevelModelHandler"
    linkageType: null
    functionLinenumber: 20
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.LevelModelHandler:21,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.LevelModelHandler].getSupportedModelClass()"
    functionSourceFile: "ch.qos.logback.classic.model.processor.LevelModelHandler"
    linkageType: null
    functionLinenumber: 29
    functionDepth: 0
    returnType: "java.lang.Class"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.LevelModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.classic.model.processor.LevelModelHandler"
    linkageType: null
    functionLinenumber: 35
    functionDepth: 13
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekObject()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.classic.Logger].getName()"
    - "[ch.qos.logback.classic.model.LevelModel].getValue()"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    - "[ch.qos.logback.classic.Logger].setLevel(ch.qos.logback.classic.Level)"
    - "[ch.qos.logback.classic.Level].toLevel(java.lang.String,ch.qos.logback.classic.Level)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.classic.Logger].getLevel()"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,ch.qos.logback.classic.Level)"
    functionUses: 3
    ICount: 34
    EdgeCount: 11
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.model.processor.LevelModelHandler:38"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.processor.LevelModelHandler:44"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.model.processor.LevelModelHandler:43"
        BranchSideFuncs:
        - "subst(java.lang.String)"
        - "getName()"
        - "getValue()"
    - Branch String: "ch.qos.logback.classic.model.processor.LevelModelHandler:49"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.processor.LevelModelHandler:50"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.model.processor.LevelModelHandler:49"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.model.processor.LevelModelHandler:49"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.processor.LevelModelHandler:55"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.model.processor.LevelModelHandler:54"
        BranchSideFuncs:
        - "setLevel(ch.qos.logback.classic.Level)"
        - "toLevel(java.lang.String,ch.qos.logback.classic.Level)"
    - Branch String: "ch.qos.logback.classic.model.processor.LevelModelHandler:50"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.processor.LevelModelHandler:53"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.model.processor.LevelModelHandler:52"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.LevelModelHandler:36,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekObject()"
    - Src: "ch.qos.logback.classic.model.processor.LevelModelHandler:40,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.LevelModelHandler:45,1"
      Dst: "[ch.qos.logback.classic.Logger].getName()"
    - Src: "ch.qos.logback.classic.model.processor.LevelModelHandler:48,1"
      Dst: "[ch.qos.logback.classic.model.LevelModel].getValue()"
    - Src: "ch.qos.logback.classic.model.processor.LevelModelHandler:48,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.LevelModelHandler:49,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.LevelModelHandler:53,1"
      Dst: "[ch.qos.logback.classic.Logger].setLevel(ch.qos.logback.classic.Level)"
    - Src: "ch.qos.logback.classic.model.processor.LevelModelHandler:55,1"
      Dst: "[ch.qos.logback.classic.Level].toLevel(java.lang.String,ch.qos.logback.classic.Level)"
    - Src: "ch.qos.logback.classic.model.processor.LevelModelHandler:58,1"
      Dst: "[ch.qos.logback.classic.Logger].getLevel()"
    - Src: "ch.qos.logback.classic.model.processor.LevelModelHandler:58,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,ch.qos.logback.classic.Level)"
    - Src: "ch.qos.logback.classic.model.processor.LevelModelHandler:58,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekObject()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 122
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].peek()"
    functionUses: 16
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:123,1"
      Dst: "[java.util.Stack].peek()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].getName()"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 123
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 6
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.LevelModel].getValue()"
    functionSourceFile: "ch.qos.logback.classic.model.LevelModel"
    linkageType: null
    functionLinenumber: 24
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 152
    functionDepth: 12
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.OptionHelper].substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 26
    ICount: 11
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:153"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:158"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:157"
        BranchSideFuncs:
        - "substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:158,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:160,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:160,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].setLevel(ch.qos.logback.classic.Level)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 150
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.Level"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].isRootLogger()"
    - "[ch.qos.logback.classic.Logger].getEffectiveLevel()"
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.util.COWArrayList].get(int)"
    - "[ch.qos.logback.classic.Logger].handleParentLevelChange(int)"
    - "[ch.qos.logback.classic.LoggerContext].fireOnLevelChange(ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    functionUses: 6
    ICount: 37
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:151"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:154"
        BranchSideFuncs:
        - "isRootLogger()"
    - Branch String: "ch.qos.logback.classic.Logger:155"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:159"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:158"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:155"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:159"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:158"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:160"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:164"
        BranchSideFuncs:
        - "getEffectiveLevel()"
      - BranchSide: "ch.qos.logback.classic.Logger:163"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:167"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:176"
        BranchSideFuncs:
        - "size()"
      - BranchSide: "ch.qos.logback.classic.Logger:175"
        BranchSideFuncs:
        - "fireOnLevelChange(ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level)"
    - Branch String: "ch.qos.logback.classic.Logger:169"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:175"
        BranchSideFuncs:
        - "fireOnLevelChange(ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level)"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:155,1"
      Dst: "[ch.qos.logback.classic.Logger].isRootLogger()"
    - Src: "ch.qos.logback.classic.Logger:156,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.classic.Logger:162,1"
      Dst: "[ch.qos.logback.classic.Logger].getEffectiveLevel()"
    - Src: "ch.qos.logback.classic.Logger:168,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.classic.Logger:170,1"
      Dst: "[java.util.List].get(int)"
    - Src: "ch.qos.logback.classic.Logger:172,1"
      Dst: "[ch.qos.logback.classic.Logger].handleParentLevelChange(int)"
    - Src: "ch.qos.logback.classic.Logger:176,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].fireOnLevelChange(ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 13
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.classic.Level].toLevel(java.lang.String,ch.qos.logback.classic.Level)"
    functionSourceFile: "ch.qos.logback.classic.Level"
    linkageType: null
    functionLinenumber: 205
    functionDepth: 0
    returnType: "ch.qos.logback.classic.Level"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "ch.qos.logback.classic.Level"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    functionUses: 2
    ICount: 34
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Level:206"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Level:211"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Level:210"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Level:213"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Level:216"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Level:215"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Level:216"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Level:219"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Level:218"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Level:219"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Level:222"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Level:221"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Level:222"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Level:225"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Level:224"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Level:225"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Level:228"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Level:227"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Level:228"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Level:231"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Level:230"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Level:231"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Level:234"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Level:233"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.Level:211,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.classic.Level:213,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 17
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].getLevel()"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 119
    functionDepth: 0
    returnType: "ch.qos.logback.classic.Level"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ConsoleTarget$2].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ConsoleTarget$2"
    linkageType: null
    functionLinenumber: 52
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.OutputStream].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ConsoleTarget$2:53,1"
      Dst: "[java.io.OutputStream].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ConsoleTarget$2].write(int)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ConsoleTarget$2"
    linkageType: null
    functionLinenumber: 55
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.PrintStream].write(int)"
    functionUses: 2
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ConsoleTarget$2:56,1"
      Dst: "[java.io.PrintStream].write(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ConsoleTarget$2].write(byte[])"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ConsoleTarget$2"
    linkageType: null
    functionLinenumber: 60
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.FilterOutputStream].write(byte[])"
    functionUses: 3
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ConsoleTarget$2:61,1"
      Dst: "[java.io.FilterOutputStream].write(byte[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ConsoleTarget$2].write(byte[],int,int)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ConsoleTarget$2"
    linkageType: null
    functionLinenumber: 65
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "byte[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.PrintStream].write(byte[],int,int)"
    functionUses: 2
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ConsoleTarget$2:66,1"
      Dst: "[java.io.PrintStream].write(byte[],int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ConsoleTarget$2].flush()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ConsoleTarget$2"
    linkageType: null
    functionLinenumber: 70
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.PrintStream].flush()"
    functionUses: 4
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ConsoleTarget$2:71,1"
      Dst: "[java.io.PrintStream].flush()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.StringListAppender].<init>()"
    functionSourceFile: "ch.qos.logback.core.testUtil.StringListAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.AppenderBase].<init>()"
    - "[java.util.ArrayList].<init>()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.StringListAppender:22,1"
      Dst: "[ch.qos.logback.core.AppenderBase].<init>()"
    - Src: "ch.qos.logback.core.testUtil.StringListAppender:25,1"
      Dst: "[java.util.ArrayList].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.StringListAppender].start()"
    functionSourceFile: "ch.qos.logback.core.testUtil.StringListAppender"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].clear()"
    - "[ch.qos.logback.core.LayoutBase].isStarted()"
    - "[ch.qos.logback.core.AppenderBase].start()"
    - "[java.util.List].clear()"
    - "[ch.qos.logback.core.spi.LifeCycle].isStarted()"
    functionUses: 6
    ICount: 11
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.testUtil.StringListAppender:30"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.testUtil.StringListAppender:31"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.testUtil.StringListAppender:30"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.testUtil.StringListAppender:30"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.testUtil.StringListAppender:33"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.testUtil.StringListAppender:32"
        BranchSideFuncs:
        - "start()"
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.StringListAppender:28,1"
      Dst: "[java.util.List].clear()"
    - Src: "ch.qos.logback.core.testUtil.StringListAppender:30,1"
      Dst: "[ch.qos.logback.core.spi.LifeCycle].isStarted()"
    - Src: "ch.qos.logback.core.testUtil.StringListAppender:33,1"
      Dst: "[ch.qos.logback.core.AppenderBase].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.testUtil.StringListAppender].stop()"
    functionSourceFile: "ch.qos.logback.core.testUtil.StringListAppender"
    linkageType: null
    functionLinenumber: 36
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.AppenderBase].stop()"
    functionUses: 4
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.StringListAppender:37,1"
      Dst: "[ch.qos.logback.core.AppenderBase].stop()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.StringListAppender].append(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.testUtil.StringListAppender"
    linkageType: null
    functionLinenumber: 41
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.layout.TTLLLayout].doLayout(java.lang.Object)"
    - "[ch.qos.logback.classic.PatternLayout].doLayout(java.lang.Object)"
    - "[ch.qos.logback.core.layout.EchoLayout].doLayout(java.lang.Object)"
    - "[ch.qos.logback.classic.html.HTMLLayout].doLayout(java.lang.Object)"
    - "[ch.qos.logback.classic.log4j.XMLLayout].doLayout(java.lang.Object)"
    - "[ch.qos.logback.core.Layout].doLayout(java.lang.Object)"
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 7
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.StringListAppender:42,1"
      Dst: "[ch.qos.logback.core.Layout].doLayout(java.lang.Object)"
    - Src: "ch.qos.logback.core.testUtil.StringListAppender:43,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.StringListAppender].getLayout()"
    functionSourceFile: "ch.qos.logback.core.testUtil.StringListAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.core.Layout"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.StringListAppender].setLayout(ch.qos.logback.core.Layout)"
    functionSourceFile: "ch.qos.logback.core.testUtil.StringListAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Layout"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.ViewStatusMessagesServlet].<init>()"
    functionSourceFile: "ch.qos.logback.classic.ViewStatusMessagesServlet"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ViewStatusMessagesServletBase].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.ViewStatusMessagesServlet:24,1"
      Dst: "[ch.qos.logback.core.status.ViewStatusMessagesServletBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.ViewStatusMessagesServlet].getStatusManager(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)"
    functionSourceFile: "ch.qos.logback.classic.ViewStatusMessagesServlet"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 12
    returnType: "ch.qos.logback.core.status.StatusManager"
    argCount: 2
    argTypes:
    - "jakarta.servlet.http.HttpServletRequest"
    - "jakarta.servlet.http.HttpServletResponse"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.LoggerFactory].getILoggerFactory()"
    - "[ch.qos.logback.core.ContextBase].getStatusManager()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.ViewStatusMessagesServlet:30,1"
      Dst: "[org.slf4j.LoggerFactory].getILoggerFactory()"
    - Src: "ch.qos.logback.classic.ViewStatusMessagesServlet:31,1"
      Dst: "[ch.qos.logback.core.ContextBase].getStatusManager()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.LoggerFactory].getILoggerFactory()"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 471
    functionDepth: 11
    returnType: "org.slf4j.ILoggerFactory"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteServiceProvider].getLoggerFactory()"
    - "[ch.qos.logback.classic.spi.LogbackServiceProvider].getLoggerFactory()"
    - "[org.slf4j.helpers.NOP_FallbackServiceProvider].getLoggerFactory()"
    - "[org.slf4j.LoggerFactory].getProvider()"
    - "[org.slf4j.spi.SLF4JServiceProvider].getLoggerFactory()"
    functionUses: 1
    ICount: 3
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.LoggerFactory:472,1"
      Dst: "[org.slf4j.LoggerFactory].getProvider()"
    - Src: "org.slf4j.LoggerFactory:472,1"
      Dst: "[org.slf4j.spi.SLF4JServiceProvider].getLoggerFactory()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].getStatusManager()"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 70
    functionDepth: 0
    returnType: "ch.qos.logback.core.status.StatusManager"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 19
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.ViewStatusMessagesServlet].getPageTitle(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)"
    functionSourceFile: "ch.qos.logback.classic.ViewStatusMessagesServlet"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 12
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "jakarta.servlet.http.HttpServletRequest"
    - "jakarta.servlet.http.HttpServletResponse"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.LoggerFactory].getILoggerFactory()"
    - "[ch.qos.logback.core.ContextBase].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.ViewStatusMessagesServlet:36,1"
      Dst: "[org.slf4j.LoggerFactory].getILoggerFactory()"
    - Src: "ch.qos.logback.classic.ViewStatusMessagesServlet:37,1"
      Dst: "[ch.qos.logback.core.ContextBase].getName()"
    - Src: "ch.qos.logback.classic.ViewStatusMessagesServlet:37,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.LoggerFactory].getILoggerFactory()"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 471
    functionDepth: 11
    returnType: "org.slf4j.ILoggerFactory"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteServiceProvider].getLoggerFactory()"
    - "[ch.qos.logback.classic.spi.LogbackServiceProvider].getLoggerFactory()"
    - "[org.slf4j.helpers.NOP_FallbackServiceProvider].getLoggerFactory()"
    - "[org.slf4j.LoggerFactory].getProvider()"
    - "[org.slf4j.spi.SLF4JServiceProvider].getLoggerFactory()"
    functionUses: 1
    ICount: 3
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.LoggerFactory:472,1"
      Dst: "[org.slf4j.LoggerFactory].getProvider()"
    - Src: "org.slf4j.LoggerFactory:472,1"
      Dst: "[org.slf4j.spi.SLF4JServiceProvider].getLoggerFactory()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].getName()"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 157
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 12
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEventVO].<init>()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEventVO"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:40,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEventVO].build(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEventVO"
    linkageType: null
    functionLinenumber: 73
    functionDepth: 2
    returnType: "ch.qos.logback.classic.spi.LoggingEventVO"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEventVO].<init>()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getLoggerName()"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getLoggerContextVO()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getThreadName()"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getLevel()"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getMessage()"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getArgumentArray()"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getMarkerList()"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getKeyValuePairs()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getMDCPropertyMap()"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getTimeStamp()"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getNanoseconds()"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getSequenceNumber()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].build(ch.qos.logback.classic.spi.IThrowableProxy)"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getThrowableProxy()"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].hasCallerData()"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getCallerData()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerName()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerContextVO()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getThreadName()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getMessage()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getArgumentArray()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getMarkerList()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getKeyValuePairs()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getMDCPropertyMap()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getTimeStamp()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getNanoseconds()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getSequenceNumber()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getThrowableProxy()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].hasCallerData()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getCallerData()"
    functionUses: 1
    ICount: 35
    EdgeCount: 18
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.LoggingEventVO:90"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:93"
        BranchSideFuncs:
        - "getCallerData()"
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:92"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:74,1"
      Dst: "[ch.qos.logback.classic.spi.LoggingEventVO].<init>()"
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:75,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerName()"
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:76,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerContextVO()"
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:77,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getThreadName()"
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:78,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:79,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getMessage()"
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:80,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getArgumentArray()"
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:81,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getMarkerList()"
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:82,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getKeyValuePairs()"
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:83,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getMDCPropertyMap()"
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:84,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getTimeStamp()"
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:85,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getNanoseconds()"
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:86,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getSequenceNumber()"
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:87,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getThrowableProxy()"
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:87,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxyVO].build(ch.qos.logback.classic.spi.IThrowableProxy)"
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:90,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].hasCallerData()"
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:91,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getCallerData()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.LoggingEventVO].getThreadName()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEventVO"
    linkageType: null
    functionLinenumber: 96
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 5
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEventVO].getLoggerContextVO()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEventVO"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 0
    returnType: "ch.qos.logback.classic.spi.LoggerContextVO"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 7
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEventVO].getLoggerName()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEventVO"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 9
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEventVO].getLevel()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEventVO"
    linkageType: null
    functionLinenumber: 108
    functionDepth: 0
    returnType: "ch.qos.logback.classic.Level"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 17
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEventVO].getMessage()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEventVO"
    linkageType: null
    functionLinenumber: 112
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEventVO].getFormattedMessage()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEventVO"
    linkageType: null
    functionLinenumber: 116
    functionDepth: 6
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.MessageFormatter].arrayFormat(java.lang.String,java.lang.Object[])"
    - "[org.slf4j.helpers.FormattingTuple].getMessage()"
    functionUses: 5
    ICount: 17
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.LoggingEventVO:117"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:121"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:120"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggingEventVO:121"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:124"
        BranchSideFuncs:
        - "arrayFormat(java.lang.String,java.lang.Object[])"
        - "getMessage()"
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:123"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:122,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].arrayFormat(java.lang.String,java.lang.Object[])"
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:122,1"
      Dst: "[org.slf4j.helpers.FormattingTuple].getMessage()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.helpers.MessageFormatter].arrayFormat(java.lang.String,java.lang.Object[])"
    functionSourceFile: "org.slf4j.helpers.MessageFormatter"
    linkageType: null
    functionLinenumber: 154
    functionDepth: 5
    returnType: "org.slf4j.helpers.FormattingTuple"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.MessageFormatter].getThrowableCandidate(java.lang.Object[])"
    - "[org.slf4j.helpers.MessageFormatter].trimmedCopy(java.lang.Object[])"
    - "[org.slf4j.helpers.MessageFormatter].arrayFormat(java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 2
    ICount: 8
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.MessageFormatter:157"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:160"
        BranchSideFuncs:
        - "trimmedCopy(java.lang.Object[])"
      - BranchSide: "org.slf4j.helpers.MessageFormatter:159"
        BranchSideFuncs:
        - "arrayFormat(java.lang.String,java.lang.Object[],java.lang.Throwable)"
    Callsites:
    - Src: "org.slf4j.helpers.MessageFormatter:155,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].getThrowableCandidate(java.lang.Object[])"
    - Src: "org.slf4j.helpers.MessageFormatter:158,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].trimmedCopy(java.lang.Object[])"
    - Src: "org.slf4j.helpers.MessageFormatter:160,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].arrayFormat(java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.helpers.FormattingTuple].getMessage()"
    functionSourceFile: "org.slf4j.helpers.FormattingTuple"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEventVO].getArgumentArray()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEventVO"
    linkageType: null
    functionLinenumber: 130
    functionDepth: 0
    returnType: "java.lang.Object[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEventVO].getThrowableProxy()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEventVO"
    linkageType: null
    functionLinenumber: 134
    functionDepth: 0
    returnType: "ch.qos.logback.classic.spi.IThrowableProxy"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 10
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEventVO].getCallerData()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEventVO"
    linkageType: null
    functionLinenumber: 138
    functionDepth: 0
    returnType: "java.lang.StackTraceElement[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 13
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEventVO].hasCallerData()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEventVO"
    linkageType: null
    functionLinenumber: 142
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.LoggingEventVO:143"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:142"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.LoggingEventVO].getMarkerList()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEventVO"
    linkageType: null
    functionLinenumber: 146
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 6
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEventVO].getTimeStamp()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEventVO"
    linkageType: null
    functionLinenumber: 150
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 12
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEventVO].getNanoseconds()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEventVO"
    linkageType: null
    functionLinenumber: 153
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEventVO].getSequenceNumber()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEventVO"
    linkageType: null
    functionLinenumber: 156
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEventVO].getContextBirthTime()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEventVO"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggerContextVO].getBirthTime()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:161,1"
      Dst: "[ch.qos.logback.classic.spi.LoggerContextVO].getBirthTime()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggerContextVO].getBirthTime()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggerContextVO"
    linkageType: null
    functionLinenumber: 64
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEventVO].getContextLoggerRemoteView()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEventVO"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.classic.spi.LoggerContextVO"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEventVO].getMDCPropertyMap()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEventVO"
    linkageType: null
    functionLinenumber: 168
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 6
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEventVO].getMdc()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEventVO"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEventVO].getKeyValuePairs()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEventVO"
    linkageType: null
    functionLinenumber: 177
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEventVO].prepareForDeferredProcessing()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEventVO"
    linkageType: null
    functionLinenumber: 181
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEventVO].writeObject(java.io.ObjectOutputStream)"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEventVO"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.ObjectOutputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.ObjectOutputStream].defaultWriteObject()"
    - "[java.io.ObjectOutputStream].writeInt(int)"
    - "[java.lang.Object].toString()"
    - "[java.io.ObjectOutputStream].writeObject(java.lang.Object)"
    functionUses: 0
    ICount: 30
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.LoggingEventVO:187"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:null"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggingEventVO:190"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:197"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:196"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggingEventVO:191"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:194"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:193"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:185,1"
      Dst: "[java.io.ObjectOutputStream].defaultWriteObject()"
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:186,1"
      Dst: "[java.io.ObjectOutputStream].writeInt(int)"
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:192,1"
      Dst: "[java.lang.Object].toString()"
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:192,1"
      Dst: "[java.io.ObjectOutputStream].writeObject(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.classic.spi.LoggingEventVO].readObject(java.io.ObjectInputStream)"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEventVO"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.ObjectInputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.ObjectInputStream].defaultReadObject()"
    - "[java.io.ObjectInputStream].readInt()"
    - "[ch.qos.logback.classic.Level].toLevel(int)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - "[java.io.InvalidObjectException].<init>(java.lang.String)"
    - "[java.io.ObjectInputStream].readObject()"
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 0
    ICount: 29
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.LoggingEventVO:211"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:212"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:211"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggingEventVO:211"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:null"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggingEventVO:215"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:224"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:223"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggingEventVO:217"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:224"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:223"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggingEventVO:219"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:216"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:215"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:204,1"
      Dst: "[java.io.ObjectInputStream].defaultReadObject()"
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:205,1"
      Dst: "[java.io.ObjectInputStream].readInt()"
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:206,1"
      Dst: "[ch.qos.logback.classic.Level].toLevel(int)"
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:212,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:212,1"
      Dst: "[java.io.InvalidObjectException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:218,1"
      Dst: "[java.io.ObjectInputStream].readObject()"
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:219,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.classic.Level].toLevel(int)"
    functionSourceFile: "ch.qos.logback.classic.Level"
    linkageType: null
    functionLinenumber: 172
    functionDepth: 1
    returnType: "ch.qos.logback.classic.Level"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Level].toLevel(int,ch.qos.logback.classic.Level)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Level:173,1"
      Dst: "[ch.qos.logback.classic.Level].toLevel(int,ch.qos.logback.classic.Level)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEventVO].hashCode()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEventVO"
    linkageType: null
    functionLinenumber: 228
    functionDepth: 1
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getTimeStamp()"
    - "[java.lang.String].hashCode()"
    functionUses: 4
    ICount: 23
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.LoggingEventVO:232"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:229"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:228"
        BranchSideFuncs:
        - "getTimeStamp()"
    - Branch String: "ch.qos.logback.classic.spi.LoggingEventVO:233"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:232"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:231"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:229,1"
      Dst: "[ch.qos.logback.classic.spi.LoggingEventVO].getTimeStamp()"
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:232,1"
      Dst: "[java.lang.String].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.spi.LoggingEventVO].getTimeStamp()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEventVO"
    linkageType: null
    functionLinenumber: 150
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 12
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEventVO].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEventVO"
    linkageType: null
    functionLinenumber: 239
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getTimeStamp()"
    - "[java.lang.Object].getClass()"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.util.List].equals(java.lang.Object)"
    - "[java.util.Map].equals(java.lang.Object)"
    functionUses: 6
    ICount: 67
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.LoggingEventVO:240"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:242"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:241"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggingEventVO:242"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:244"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:243"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggingEventVO:244"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:246"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:245"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggingEventVO:247"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:250"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:249"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggingEventVO:248"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:253"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:252"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggingEventVO:250"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:253"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:252"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggingEventVO:253"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:256"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:255"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggingEventVO:254"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:259"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:258"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggingEventVO:256"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:259"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:258"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggingEventVO:259"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:262"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:261"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggingEventVO:260"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:264"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:263"
        BranchSideFuncs:
        - "getTimeStamp()"
    - Branch String: "ch.qos.logback.classic.spi.LoggingEventVO:262"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:264"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:263"
        BranchSideFuncs:
        - "getTimeStamp()"
    - Branch String: "ch.qos.logback.classic.spi.LoggingEventVO:264"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:267"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:266"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggingEventVO:267"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:270"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:269"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggingEventVO:268"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:273"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:272"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggingEventVO:270"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:273"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:272"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggingEventVO:273"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:276"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:275"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggingEventVO:274"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:278"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:277"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggingEventVO:276"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:278"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEventVO:277"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:244,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:250,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:264,1"
      Dst: "[ch.qos.logback.classic.spi.LoggingEventVO].getTimeStamp()"
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:270,1"
      Dst: "[java.util.List].equals(java.lang.Object)"
    - Src: "ch.qos.logback.classic.spi.LoggingEventVO:276,1"
      Dst: "[java.util.Map].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 34
    CyclomaticComplexity: 6
  - functionName: "[ch.qos.logback.classic.spi.LoggingEventVO].getTimeStamp()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEventVO"
    linkageType: null
    functionLinenumber: 150
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 12
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.hook.DefaultShutdownHook].<init>()"
    functionSourceFile: "ch.qos.logback.core.hook.DefaultShutdownHook"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.hook.ShutdownHookBase].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.hook.DefaultShutdownHook:38,1"
      Dst: "[ch.qos.logback.core.hook.ShutdownHookBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.hook.DefaultShutdownHook].getDelay()"
    functionSourceFile: "ch.qos.logback.core.hook.DefaultShutdownHook"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.core.util.Duration"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.hook.DefaultShutdownHook].setDelay(ch.qos.logback.core.util.Duration)"
    functionSourceFile: "ch.qos.logback.core.hook.DefaultShutdownHook"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.util.Duration"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.hook.DefaultShutdownHook].run()"
    functionSourceFile: "ch.qos.logback.core.hook.DefaultShutdownHook"
    linkageType: null
    functionLinenumber: 54
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Duration].getMilliseconds()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.hook.ShutdownHookBase].stop()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.util.Duration)"
    - "[java.lang.Thread].sleep(long)"
    functionUses: 2
    ICount: 16
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.hook.DefaultShutdownHook:55"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.hook.DefaultShutdownHook:62"
        BranchSideFuncs:
        - "getMilliseconds()"
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.hook.DefaultShutdownHook:61"
        BranchSideFuncs:
        - "stop()"
    Callsites:
    - Src: "ch.qos.logback.core.hook.DefaultShutdownHook:55,1"
      Dst: "[ch.qos.logback.core.util.Duration].getMilliseconds()"
    - Src: "ch.qos.logback.core.hook.DefaultShutdownHook:56,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.util.Duration)"
    - Src: "ch.qos.logback.core.hook.DefaultShutdownHook:56,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.hook.DefaultShutdownHook:58,1"
      Dst: "[java.lang.Thread].sleep(long)"
    - Src: "ch.qos.logback.core.hook.DefaultShutdownHook:62,1"
      Dst: "[ch.qos.logback.core.hook.ShutdownHookBase].stop()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.Duration].getMilliseconds()"
    functionSourceFile: "ch.qos.logback.core.util.Duration"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 8
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SocketNode].<init>(ch.qos.logback.classic.net.SimpleSocketServer,java.net.Socket,ch.qos.logback.classic.LoggerContext)"
    functionSourceFile: "ch.qos.logback.classic.net.SocketNode"
    linkageType: null
    functionLinenumber: 52
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.classic.net.SimpleSocketServer"
    - "java.net.Socket"
    - "ch.qos.logback.classic.LoggerContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getLogger(java.lang.Class)"
    - "[java.lang.Object].<init>()"
    - "[java.net.Socket].getRemoteSocketAddress()"
    functionUses: 1
    ICount: 14
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SocketNode:53,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.classic.net.SocketNode:56,1"
      Dst: "[java.net.Socket].getRemoteSocketAddress()"
    - Src: "ch.qos.logback.classic.net.SocketNode:58,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getLogger(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SocketNode].run()"
    functionSourceFile: "ch.qos.logback.classic.net.SocketNode"
    linkageType: null
    functionLinenumber: 69
    functionDepth: 13
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.net.server.HardenedLoggingEventInputStream].<init>(java.io.InputStream)"
    - "[ch.qos.logback.classic.Logger].error(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.classic.LoggerContext].getLogger(java.lang.String)"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getLoggerName()"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getLevel()"
    - "[ch.qos.logback.classic.Logger].isEnabledFor(ch.qos.logback.classic.Level)"
    - "[ch.qos.logback.classic.Logger].callAppenders(ch.qos.logback.classic.spi.ILoggingEvent)"
    - "[ch.qos.logback.classic.Logger].info(java.lang.String)"
    - "[ch.qos.logback.classic.net.SimpleSocketServer].socketNodeClosing(ch.qos.logback.classic.net.SocketNode)"
    - "[ch.qos.logback.classic.net.SocketNode].close()"
    - "[java.net.Socket].getInputStream()"
    - "[java.io.BufferedInputStream].<init>(java.io.InputStream)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.net.Socket)"
    - "[java.io.ObjectInputStream].readObject()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerName()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.IOException)"
    functionUses: 2
    ICount: 52
    EdgeCount: 14
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.net.SocketNode:81"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SocketNode:102"
        BranchSideFuncs:
        - "callAppenders(ch.qos.logback.classic.spi.ILoggingEvent)"
        - "error(java.lang.String,java.lang.Throwable)"
        - "isEnabledFor(ch.qos.logback.classic.Level)"
        - "getLoggerName()"
        - "info(java.lang.String)"
        - "getLevel()"
        - "getLogger(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.net.SocketNode:101"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.net.SocketNode:88"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SocketNode:81"
        BranchSideFuncs:
        - "callAppenders(ch.qos.logback.classic.spi.ILoggingEvent)"
        - "error(java.lang.String,java.lang.Throwable)"
        - "isEnabledFor(ch.qos.logback.classic.Level)"
        - "getLoggerName()"
        - "info(java.lang.String)"
        - "getLevel()"
        - "getLogger(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.net.SocketNode:80"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SocketNode:71,1"
      Dst: "[java.net.Socket].getInputStream()"
    - Src: "ch.qos.logback.classic.net.SocketNode:71,1"
      Dst: "[java.io.BufferedInputStream].<init>(java.io.InputStream)"
    - Src: "ch.qos.logback.classic.net.SocketNode:71,1"
      Dst: "[ch.qos.logback.classic.net.server.HardenedLoggingEventInputStream].<init>(java.io.InputStream)"
    - Src: "ch.qos.logback.classic.net.SocketNode:73,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.net.Socket)"
    - Src: "ch.qos.logback.classic.net.SocketNode:73,1"
      Dst: "[ch.qos.logback.classic.Logger].error(java.lang.String,java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.net.SocketNode:83,1"
      Dst: "[java.io.ObjectInputStream].readObject()"
    - Src: "ch.qos.logback.classic.net.SocketNode:86,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerName()"
    - Src: "ch.qos.logback.classic.net.SocketNode:86,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getLogger(java.lang.String)"
    - Src: "ch.qos.logback.classic.net.SocketNode:88,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    - Src: "ch.qos.logback.classic.net.SocketNode:88,1"
      Dst: "[ch.qos.logback.classic.Logger].isEnabledFor(ch.qos.logback.classic.Level)"
    - Src: "ch.qos.logback.classic.net.SocketNode:90,1"
      Dst: "[ch.qos.logback.classic.Logger].callAppenders(ch.qos.logback.classic.spi.ILoggingEvent)"
    - Src: "ch.qos.logback.classic.net.SocketNode:94,1"
      Dst: "[ch.qos.logback.classic.Logger].info(java.lang.String)"
    - Src: "ch.qos.logback.classic.net.SocketNode:98,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.IOException)"
    - Src: "ch.qos.logback.classic.net.SocketNode:104,1"
      Dst: "[ch.qos.logback.classic.net.SimpleSocketServer].socketNodeClosing(ch.qos.logback.classic.net.SocketNode)"
    - Src: "ch.qos.logback.classic.net.SocketNode:105,1"
      Dst: "[ch.qos.logback.classic.net.SocketNode].close()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 11
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.net.server.HardenedLoggingEventInputStream].<init>(java.io.InputStream)"
    functionSourceFile: "ch.qos.logback.classic.net.server.HardenedLoggingEventInputStream"
    linkageType: null
    functionLinenumber: 61
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.InputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.HardenedObjectInputStream].<init>(java.io.InputStream,java.util.List)"
    - "[ch.qos.logback.classic.net.server.HardenedLoggingEventInputStream].getWhilelist()"
    functionUses: 4
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.server.HardenedLoggingEventInputStream:62,1"
      Dst: "[ch.qos.logback.classic.net.server.HardenedLoggingEventInputStream].getWhilelist()"
    - Src: "ch.qos.logback.classic.net.server.HardenedLoggingEventInputStream:62,1"
      Dst: "[ch.qos.logback.core.net.HardenedObjectInputStream].<init>(java.io.InputStream,java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.HardenedLoggingEventInputStream].getWhilelist()"
    functionSourceFile: "ch.qos.logback.classic.net.server.HardenedLoggingEventInputStream"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>()"
    - "[java.lang.Class].getName()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 51
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.server.HardenedLoggingEventInputStream:40,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.classic.net.server.HardenedLoggingEventInputStream:41,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.classic.net.server.HardenedLoggingEventInputStream:41,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.HardenedObjectInputStream].<init>(java.io.InputStream,java.util.List)"
    functionSourceFile: "ch.qos.logback.core.net.HardenedObjectInputStream"
    linkageType: null
    functionLinenumber: 61
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.io.InputStream"
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.HardenedObjectInputStream].initObjectFilter()"
    - "[ch.qos.logback.core.util.COWArrayList].addAll(java.util.Collection)"
    - "[java.io.ObjectInputStream].<init>(java.io.InputStream)"
    - "[java.util.ArrayList].<init>()"
    - "[java.util.List].addAll(java.util.Collection)"
    functionUses: 2
    ICount: 11
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.HardenedObjectInputStream:62,1"
      Dst: "[java.io.ObjectInputStream].<init>(java.io.InputStream)"
    - Src: "ch.qos.logback.core.net.HardenedObjectInputStream:63,1"
      Dst: "[ch.qos.logback.core.net.HardenedObjectInputStream].initObjectFilter()"
    - Src: "ch.qos.logback.core.net.HardenedObjectInputStream:64,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.core.net.HardenedObjectInputStream:65,1"
      Dst: "[java.util.List].addAll(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].error(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 542
    functionDepth: 11
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 4
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:543,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 374
    functionDepth: 10
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 5
    ICount: 20
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:378"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:382"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:381"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:379"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Branch String: "ch.qos.logback.classic.Logger:382"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:375,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.Logger:386,1"
      Dst: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 258
    functionDepth: 1
    returnType: "ch.qos.logback.core.spi.FilterReply"
    argCount: 6
    argTypes:
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Logger"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.TurboFilterList].getTurboFilterChainDecision(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[java.util.concurrent.CopyOnWriteArrayList].size()"
    functionUses: 2
    ICount: 15
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.LoggerContext:259"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:262"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:261"
        BranchSideFuncs:
        - "getTurboFilterChainDecision(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:259,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].size()"
    - Src: "ch.qos.logback.classic.LoggerContext:262,1"
      Dst: "[ch.qos.logback.classic.spi.TurboFilterList].getTurboFilterChainDecision(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.TurboFilterList].getTurboFilterChainDecision(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.spi.TurboFilterList"
    linkageType: null
    functionLinenumber: 41
    functionDepth: 0
    returnType: "ch.qos.logback.core.spi.FilterReply"
    argCount: 6
    argTypes:
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Logger"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.turbo.DynamicThresholdFilter].decide(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].decide(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[ch.qos.logback.classic.turbo.DuplicateMessageFilter].decide(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[ch.qos.logback.classic.turbo.MDCFilter].decide(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[ch.qos.logback.classic.turbo.MarkerFilter].decide(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[java.util.concurrent.CopyOnWriteArrayList].size()"
    - "[java.util.concurrent.CopyOnWriteArrayList].get(int)"
    - "[ch.qos.logback.classic.turbo.TurboFilter].decide(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[java.util.concurrent.CopyOnWriteArrayList].toArray()"
    functionUses: 2
    ICount: 32
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.TurboFilterList:46"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.TurboFilterList:54"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.TurboFilterList:57"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.TurboFilterList:64"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.TurboFilterList:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.TurboFilterList:62"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.TurboFilterList:61"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.TurboFilterList:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.TurboFilterList:55"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.TurboFilterList:54"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.TurboFilterList:42,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].size()"
    - Src: "ch.qos.logback.classic.spi.TurboFilterList:48,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].get(int)"
    - Src: "ch.qos.logback.classic.spi.TurboFilterList:49,1"
      Dst: "[ch.qos.logback.classic.turbo.TurboFilter].decide(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.spi.TurboFilterList:55,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].toArray()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 423
    functionDepth: 9
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].<init>(java.lang.String,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Throwable,java.lang.Object[])"
    - "[ch.qos.logback.classic.spi.LoggingEvent].addMarker(org.slf4j.Marker)"
    - "[ch.qos.logback.classic.Logger].callAppenders(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 2
    ICount: 12
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:424,1"
      Dst: "[ch.qos.logback.classic.spi.LoggingEvent].<init>(java.lang.String,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Throwable,java.lang.Object[])"
    - Src: "ch.qos.logback.classic.Logger:425,1"
      Dst: "[ch.qos.logback.classic.spi.LoggingEvent].addMarker(org.slf4j.Marker)"
    - Src: "ch.qos.logback.classic.Logger:426,1"
      Dst: "[ch.qos.logback.classic.Logger].callAppenders(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].<init>(java.lang.String,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Throwable,java.lang.Object[])"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: 120
    functionDepth: 8
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.String"
    - "ch.qos.logback.classic.Logger"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Throwable"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].getName()"
    - "[ch.qos.logback.classic.Logger].getLoggerContext()"
    - "[ch.qos.logback.classic.LoggerContext].getLoggerContextRemoteView()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].initTmestampFields(java.time.Instant)"
    - "[ch.qos.logback.classic.LoggerContext].getSequenceNumberGenerator()"
    - "[ch.qos.logback.core.spi.BasicSequenceNumberGenerator].nextSequenceNumber()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].extractThrowableAnRearrangeArguments(java.lang.Object[])"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].<init>(java.lang.Throwable)"
    - "[ch.qos.logback.classic.LoggerContext].isPackagingDataEnabled()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].calculatePackagingData()"
    - "[java.lang.Object].<init>()"
    - "[java.time.Clock].systemUTC()"
    - "[java.time.Clock].instant()"
    - "[ch.qos.logback.core.spi.SequenceNumberGenerator].nextSequenceNumber()"
    functionUses: 1
    ICount: 43
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:134"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:140"
        BranchSideFuncs:
        - "getSequenceNumberGenerator()"
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:139"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:136"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:140"
        BranchSideFuncs:
        - "nextSequenceNumber()"
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:139"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:140"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:144"
        BranchSideFuncs:
        - "extractThrowableAnRearrangeArguments(java.lang.Object[])"
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:143"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:144"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:151"
        BranchSideFuncs:
        - "isPackagingDataEnabled()"
        - "<init>(java.lang.Throwable)"
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:150"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:147"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:151"
        BranchSideFuncs:
        - "calculatePackagingData()"
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:150"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:147"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:151"
        BranchSideFuncs:
        - "calculatePackagingData()"
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:150"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:121,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:123,1"
      Dst: "[ch.qos.logback.classic.Logger].getName()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:124,1"
      Dst: "[ch.qos.logback.classic.Logger].getLoggerContext()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:125,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getLoggerContextRemoteView()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:131,1"
      Dst: "[java.time.Clock].systemUTC()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:131,1"
      Dst: "[java.time.Clock].instant()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:132,1"
      Dst: "[ch.qos.logback.classic.spi.LoggingEvent].initTmestampFields(java.time.Instant)"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:135,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getSequenceNumberGenerator()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:137,1"
      Dst: "[ch.qos.logback.core.spi.SequenceNumberGenerator].nextSequenceNumber()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:141,1"
      Dst: "[ch.qos.logback.classic.spi.LoggingEvent].extractThrowableAnRearrangeArguments(java.lang.Object[])"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:145,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxy].<init>(java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:147,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].isPackagingDataEnabled()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:148,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxy].calculatePackagingData()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 7
  - functionName: "[ch.qos.logback.classic.Logger].getName()"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 123
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 6
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].getLoggerContext()"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 764
    functionDepth: 0
    returnType: "ch.qos.logback.classic.LoggerContext"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].getLoggerContextRemoteView()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 210
    functionDepth: 0
    returnType: "ch.qos.logback.classic.spi.LoggerContextVO"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].initTmestampFields(java.time.Instant)"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: 153
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.time.Instant"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.time.Instant].getEpochSecond()"
    - "[java.time.Instant].getNano()"
    functionUses: 1
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:155,1"
      Dst: "[java.time.Instant].getEpochSecond()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:156,1"
      Dst: "[java.time.Instant].getNano()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].getSequenceNumberGenerator()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 405
    functionDepth: 0
    returnType: "ch.qos.logback.core.spi.SequenceNumberGenerator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].extractThrowableAnRearrangeArguments(java.lang.Object[])"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: 161
    functionDepth: 1
    returnType: "java.lang.Throwable"
    argCount: 1
    argTypes:
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.EventArgUtil].extractThrowable(java.lang.Object[])"
    - "[ch.qos.logback.classic.spi.EventArgUtil].successfulExtraction(java.lang.Throwable)"
    - "[ch.qos.logback.classic.spi.EventArgUtil].trimmedCopy(java.lang.Object[])"
    functionUses: 1
    ICount: 8
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:163"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:166"
        BranchSideFuncs:
        - "trimmedCopy(java.lang.Object[])"
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:165"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:162,1"
      Dst: "[ch.qos.logback.classic.spi.EventArgUtil].extractThrowable(java.lang.Object[])"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:163,1"
      Dst: "[ch.qos.logback.classic.spi.EventArgUtil].successfulExtraction(java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:164,1"
      Dst: "[ch.qos.logback.classic.spi.EventArgUtil].trimmedCopy(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.EventArgUtil].extractThrowable(java.lang.Object[])"
    functionSourceFile: "ch.qos.logback.classic.spi.EventArgUtil"
    linkageType: null
    functionLinenumber: 18
    functionDepth: 0
    returnType: "java.lang.Throwable"
    argCount: 1
    argTypes:
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.EventArgUtil:19"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.EventArgUtil:20"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.EventArgUtil:19"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.EventArgUtil:19"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.EventArgUtil:23"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.EventArgUtil:22"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.EventArgUtil:24"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.EventArgUtil:27"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.EventArgUtil:26"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.EventArgUtil].successfulExtraction(java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.spi.EventArgUtil"
    linkageType: null
    functionLinenumber: 51
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 6
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.EventArgUtil:52"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.EventArgUtil:51"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.EventArgUtil].trimmedCopy(java.lang.Object[])"
    functionSourceFile: "ch.qos.logback.classic.spi.EventArgUtil"
    linkageType: null
    functionLinenumber: 37
    functionDepth: 0
    returnType: "java.lang.Object[]"
    argCount: 1
    argTypes:
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    functionUses: 1
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.EventArgUtil:38"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.EventArgUtil:39"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.EventArgUtil:38"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.EventArgUtil:38"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.EventArgUtil:41"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.EventArgUtil:40"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.EventArgUtil:39,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.classic.spi.EventArgUtil:43,1"
      Dst: "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxy].<init>(java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxy"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.ThrowableProxy].<init>(java.lang.Throwable,java.util.Set)"
    - "[java.util.IdentityHashMap].<init>()"
    - "[java.util.Collections].newSetFromMap(java.util.Map)"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:51,1"
      Dst: "[java.util.IdentityHashMap].<init>()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:51,1"
      Dst: "[java.util.Collections].newSetFromMap(java.util.Map)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:51,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxy].<init>(java.lang.Throwable,java.util.Set)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxy].<init>(java.lang.Throwable,java.util.Set)"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxy"
    linkageType: null
    functionLinenumber: 62
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Throwable"
    - "java.util.Set"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.xml.sax.SAXException].getMessage()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyUtil].steArrayToStepArray(java.lang.StackTraceElement[])"
    - "[ch.qos.logback.core.spi.ScanException:org.xml.sax.SAXException].getCause()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].<init>(java.lang.Throwable,boolean)"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].<init>(java.lang.Throwable,java.util.Set)"
    - "[ch.qos.logback.classic.spi.ThrowableProxyUtil].findNumberOfCommonFrames(java.lang.StackTraceElement[],ch.qos.logback.classic.spi.StackTraceElementProxy[])"
    - "[ch.qos.logback.core.util.OptionHelper].isNotEmtpy(java.lang.Object[])"
    - "[java.lang.Object].<init>()"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getName()"
    - "[java.lang.Throwable].getMessage()"
    - "[java.lang.Throwable].getStackTrace()"
    - "[java.util.Set].add(java.lang.Object)"
    - "[java.lang.Throwable].getCause()"
    - "[java.util.Set].contains(java.lang.Object)"
    - "[java.lang.Throwable].getSuppressed()"
    - "[java.util.ArrayList].<init>(int)"
    - "[java.util.List].add(java.lang.Object)"
    - "[java.util.List].size()"
    - "[java.util.List].toArray(java.lang.Object[])"
    functionUses: 3
    ICount: 65
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxy:74"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxy:84"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxy:83"
        BranchSideFuncs:
        - "isNotEmtpy(java.lang.Object[])"
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxy:75"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxy:78"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxy:77"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxy:87"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxy:102"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxy:101"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxy:89"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxy:100"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxy:99"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxy:90"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxy:94"
        BranchSideFuncs:
        - "<init>(java.lang.Throwable,boolean)"
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxy:93"
        BranchSideFuncs:
        - "findNumberOfCommonFrames(java.lang.StackTraceElement[],ch.qos.logback.classic.spi.StackTraceElementProxy[])"
        - "<init>(java.lang.Throwable,java.util.Set)"
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:63,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:66,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:66,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:67,1"
      Dst: "[java.lang.Throwable].getMessage()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:68,1"
      Dst: "[java.lang.Throwable].getStackTrace()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:68,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].steArrayToStepArray(java.lang.StackTraceElement[])"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:71,1"
      Dst: "[java.util.Set].add(java.lang.Object)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:73,1"
      Dst: "[java.lang.Throwable].getCause()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:75,1"
      Dst: "[java.util.Set].contains(java.lang.Object)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:76,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxy].<init>(java.lang.Throwable,boolean)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:78,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxy].<init>(java.lang.Throwable,java.util.Set)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:79,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].findNumberOfCommonFrames(java.lang.StackTraceElement[],ch.qos.logback.classic.spi.StackTraceElementProxy[])"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:84,1"
      Dst: "[java.lang.Throwable].getSuppressed()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:87,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNotEmtpy(java.lang.Object[])"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:88,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:92,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:100,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:100,1"
      Dst: "[java.util.List].toArray(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 13
    CyclomaticComplexity: 6
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].steArrayToStepArray(java.lang.StackTraceElement[])"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxyUtil"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 1
    returnType: "ch.qos.logback.classic.spi.StackTraceElementProxy[]"
    argCount: 1
    argTypes:
    - "java.lang.StackTraceElement[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.StackTraceElementProxy].<init>(java.lang.StackTraceElement)"
    functionUses: 1
    ICount: 16
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:44"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:47"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:46"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:48"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:50"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:49,1"
      Dst: "[ch.qos.logback.classic.spi.StackTraceElementProxy].<init>(java.lang.StackTraceElement)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxy].<init>(java.lang.Throwable,boolean)"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxy"
    linkageType: null
    functionLinenumber: 54
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Throwable"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.xml.sax.SAXException].getMessage()"
    - "[java.lang.Object].<init>()"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getName()"
    - "[java.lang.Throwable].getMessage()"
    functionUses: 2
    ICount: 17
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:55,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:57,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:57,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:58,1"
      Dst: "[java.lang.Throwable].getMessage()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].findNumberOfCommonFrames(java.lang.StackTraceElement[],ch.qos.logback.classic.spi.StackTraceElementProxy[])"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxyUtil"
    linkageType: null
    functionLinenumber: 54
    functionDepth: 0
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.lang.StackTraceElement[]"
    - "ch.qos.logback.classic.spi.StackTraceElementProxy[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StackTraceElement].equals(java.lang.Object)"
    functionUses: 2
    ICount: 24
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:55"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:56"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:55"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:55"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:59"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:58"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:62"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:73"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:72"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:62"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:73"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:72"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:65"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:73"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:72"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:65,1"
      Dst: "[java.lang.StackTraceElement].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.util.OptionHelper].isNotEmtpy(java.lang.Object[])"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 294
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmpty(java.lang.Object[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.OptionHelper:295"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:294"
        BranchSideFuncs:
        - "isNullOrEmpty(java.lang.Object[])"
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:295,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmpty(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.LoggerContext].isPackagingDataEnabled()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 218
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxy].calculatePackagingData()"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxy"
    linkageType: null
    functionLinenumber: 157
    functionDepth: 7
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.ThrowableProxy].getPackagingDataCalculator()"
    - "[ch.qos.logback.classic.spi.PackagingDataCalculator].calculate(ch.qos.logback.classic.spi.IThrowableProxy)"
    functionUses: 1
    ICount: 9
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxy:158"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxy:161"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxy:160"
        BranchSideFuncs:
        - "getPackagingDataCalculator()"
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxy:162"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxy:166"
        BranchSideFuncs:
        - "calculate(ch.qos.logback.classic.spi.IThrowableProxy)"
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxy:165"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:161,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxy].getPackagingDataCalculator()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:164,1"
      Dst: "[ch.qos.logback.classic.spi.PackagingDataCalculator].calculate(ch.qos.logback.classic.spi.IThrowableProxy)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxy].getPackagingDataCalculator()"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxy"
    linkageType: null
    functionLinenumber: 150
    functionDepth: 1
    returnType: "ch.qos.logback.classic.spi.PackagingDataCalculator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.PackagingDataCalculator].<init>()"
    functionUses: 1
    ICount: 10
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxy:151"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxy:154"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxy:153"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxy:151"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxy:154"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxy:153"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:152,1"
      Dst: "[ch.qos.logback.classic.spi.PackagingDataCalculator].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.spi.PackagingDataCalculator].<init>()"
    functionSourceFile: "ch.qos.logback.classic.spi.PackagingDataCalculator"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.HashMap].<init>()"
    functionUses: 1
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:29,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:33,1"
      Dst: "[java.util.HashMap].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.PackagingDataCalculator].calculate(ch.qos.logback.classic.spi.IThrowableProxy)"
    functionSourceFile: "ch.qos.logback.classic.spi.PackagingDataCalculator"
    linkageType: null
    functionLinenumber: 56
    functionDepth: 6
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.IThrowableProxy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.ThrowableProxy].getStackTraceElementProxyArray()"
    - "[ch.qos.logback.classic.spi.PackagingDataCalculator].populateFrames(ch.qos.logback.classic.spi.StackTraceElementProxy[])"
    - "[ch.qos.logback.classic.spi.ThrowableProxy:ch.qos.logback.classic.spi.ThrowableProxyVO].getSuppressed()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy:ch.qos.logback.classic.spi.ThrowableProxyVO].getStackTraceElementProxyArray()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy:ch.qos.logback.classic.spi.ThrowableProxyVO].getCause()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getStackTraceElementProxyArray()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getSuppressed()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getCause()"
    functionUses: 1
    ICount: 18
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:57"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:67"
        BranchSideFuncs:
        - "getSuppressed()"
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:66"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:60"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:65"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:64"
        BranchSideFuncs:
        - "getCause()"
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:64"
        BranchSideFuncs:
        - "getCause()"
    Callsites:
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:58,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getStackTraceElementProxyArray()"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:58,1"
      Dst: "[ch.qos.logback.classic.spi.PackagingDataCalculator].populateFrames(ch.qos.logback.classic.spi.StackTraceElementProxy[])"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:59,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getSuppressed()"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:65,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getCause()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.classic.spi.PackagingDataCalculator].populateFrames(ch.qos.logback.classic.spi.StackTraceElementProxy[])"
    functionSourceFile: "ch.qos.logback.classic.spi.PackagingDataCalculator"
    linkageType: null
    functionLinenumber: 72
    functionDepth: 5
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.StackTraceElementProxy[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.STEUtil].findNumberOfCommonFrames(java.lang.StackTraceElement[],ch.qos.logback.classic.spi.StackTraceElementProxy[])"
    - "[ch.qos.logback.classic.spi.PackagingDataCalculator].computeBySTEP(ch.qos.logback.classic.spi.StackTraceElementProxy,java.lang.ClassLoader)"
    - "[ch.qos.logback.classic.spi.StackTraceElementProxy].setClassPackagingData(ch.qos.logback.classic.spi.ClassPackagingData)"
    - "[ch.qos.logback.classic.spi.PackagingDataCalculator].populateUncommonFrames(int,ch.qos.logback.classic.spi.StackTraceElementProxy[],java.lang.ClassLoader)"
    - "[java.lang.Throwable].<init>(java.lang.String)"
    - "[java.lang.Throwable].getStackTrace()"
    - "[java.lang.StackTraceElement].getClassName()"
    - "[java.lang.NullPointerException].<init>(java.lang.String)"
    functionUses: 2
    ICount: 29
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:83"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:105"
        BranchSideFuncs:
        - "populateUncommonFrames(int,ch.qos.logback.classic.spi.StackTraceElementProxy[],java.lang.ClassLoader)"
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:85"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:88"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:92"
      Branch Sides: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:73,1"
      Dst: "[java.lang.Throwable].<init>(java.lang.String)"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:74,1"
      Dst: "[java.lang.Throwable].getStackTrace()"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:75,1"
      Dst: "[ch.qos.logback.classic.spi.STEUtil].findNumberOfCommonFrames(java.lang.StackTraceElement[],ch.qos.logback.classic.spi.StackTraceElementProxy[])"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:90,1"
      Dst: "[java.lang.StackTraceElement].getClassName()"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:-1,1"
      Dst: "[java.lang.NullPointerException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:102,1"
      Dst: "[ch.qos.logback.classic.spi.PackagingDataCalculator].computeBySTEP(ch.qos.logback.classic.spi.StackTraceElementProxy,java.lang.ClassLoader)"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:103,1"
      Dst: "[ch.qos.logback.classic.spi.StackTraceElementProxy].setClassPackagingData(ch.qos.logback.classic.spi.ClassPackagingData)"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:106,1"
      Dst: "[ch.qos.logback.classic.spi.PackagingDataCalculator].populateUncommonFrames(int,ch.qos.logback.classic.spi.StackTraceElementProxy[],java.lang.ClassLoader)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.STEUtil].findNumberOfCommonFrames(java.lang.StackTraceElement[],ch.qos.logback.classic.spi.StackTraceElementProxy[])"
    functionSourceFile: "ch.qos.logback.classic.spi.STEUtil"
    linkageType: null
    functionLinenumber: 38
    functionDepth: 0
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.lang.StackTraceElement[]"
    - "ch.qos.logback.classic.spi.StackTraceElementProxy[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StackTraceElement].equals(java.lang.Object)"
    functionUses: 1
    ICount: 23
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.STEUtil:39"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.STEUtil:43"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.STEUtil:42"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.STEUtil:46"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.STEUtil:55"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.STEUtil:54"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.STEUtil:46"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.STEUtil:55"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.STEUtil:54"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.STEUtil:47"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.STEUtil:55"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.STEUtil:54"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.STEUtil:47,1"
      Dst: "[java.lang.StackTraceElement].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.classic.spi.PackagingDataCalculator].computeBySTEP(ch.qos.logback.classic.spi.StackTraceElementProxy,java.lang.ClassLoader)"
    functionSourceFile: "ch.qos.logback.classic.spi.PackagingDataCalculator"
    linkageType: null
    functionLinenumber: 132
    functionDepth: 3
    returnType: "ch.qos.logback.classic.spi.ClassPackagingData"
    argCount: 2
    argTypes:
    - "ch.qos.logback.classic.spi.StackTraceElementProxy"
    - "java.lang.ClassLoader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.PackagingDataCalculator].bestEffortLoadClass(java.lang.ClassLoader,java.lang.String)"
    - "[ch.qos.logback.classic.spi.PackagingDataCalculator].getImplementationVersion(java.lang.Class)"
    - "[ch.qos.logback.classic.spi.PackagingDataCalculator].getCodeLocation(java.lang.Class)"
    - "[ch.qos.logback.classic.spi.ClassPackagingData].<init>(java.lang.String,java.lang.String,boolean)"
    - "[java.lang.StackTraceElement].getClassName()"
    - "[java.util.HashMap].get(java.lang.Object)"
    - "[java.util.HashMap].put(java.lang.Object,java.lang.Object)"
    functionUses: 2
    ICount: 18
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:135"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:138"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:137"
        BranchSideFuncs:
        - "getCodeLocation(java.lang.Class)"
        - "<init>(java.lang.String,java.lang.String,boolean)"
        - "bestEffortLoadClass(java.lang.ClassLoader,java.lang.String)"
        - "getImplementationVersion(java.lang.Class)"
    Callsites:
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:133,1"
      Dst: "[java.lang.StackTraceElement].getClassName()"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:134,1"
      Dst: "[java.util.HashMap].get(java.lang.Object)"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:138,1"
      Dst: "[ch.qos.logback.classic.spi.PackagingDataCalculator].bestEffortLoadClass(java.lang.ClassLoader,java.lang.String)"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:139,1"
      Dst: "[ch.qos.logback.classic.spi.PackagingDataCalculator].getImplementationVersion(java.lang.Class)"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:140,1"
      Dst: "[ch.qos.logback.classic.spi.PackagingDataCalculator].getCodeLocation(java.lang.Class)"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:141,1"
      Dst: "[ch.qos.logback.classic.spi.ClassPackagingData].<init>(java.lang.String,java.lang.String,boolean)"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:142,1"
      Dst: "[java.util.HashMap].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.PackagingDataCalculator].bestEffortLoadClass(java.lang.ClassLoader,java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.spi.PackagingDataCalculator"
    linkageType: null
    functionLinenumber: 224
    functionDepth: 1
    returnType: "java.lang.Class"
    argCount: 2
    argTypes:
    - "java.lang.ClassLoader"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.PackagingDataCalculator].loadClass(java.lang.ClassLoader,java.lang.String)"
    - "[java.lang.Thread].currentThread()"
    - "[java.lang.Thread].getContextClassLoader()"
    - "[java.lang.Class].forName(java.lang.String)"
    - "[java.lang.Throwable].printStackTrace()"
    functionUses: 1
    ICount: 22
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:226"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:229"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:228"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:230"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:233"
        BranchSideFuncs:
        - "loadClass(java.lang.ClassLoader,java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:232"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:233"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:238"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:237"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:225,1"
      Dst: "[ch.qos.logback.classic.spi.PackagingDataCalculator].loadClass(java.lang.ClassLoader,java.lang.String)"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:229,1"
      Dst: "[java.lang.Thread].currentThread()"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:229,1"
      Dst: "[java.lang.Thread].getContextClassLoader()"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:238,1"
      Dst: "[java.lang.Class].forName(java.lang.String)"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:244,1"
      Dst: "[java.lang.Throwable].printStackTrace()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.PackagingDataCalculator].loadClass(java.lang.ClassLoader,java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.spi.PackagingDataCalculator"
    linkageType: null
    functionLinenumber: 202
    functionDepth: 0
    returnType: "java.lang.Class"
    argCount: 2
    argTypes:
    - "java.lang.ClassLoader"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ClassLoader].loadClass(java.lang.String)"
    - "[java.lang.Throwable].printStackTrace()"
    functionUses: 2
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:203"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:207"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:206"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:207,1"
      Dst: "[java.lang.ClassLoader].loadClass(java.lang.String)"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:213,1"
      Dst: "[java.lang.Throwable].printStackTrace()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.PackagingDataCalculator].getImplementationVersion(java.lang.Class)"
    functionSourceFile: "ch.qos.logback.classic.spi.PackagingDataCalculator"
    linkageType: null
    functionLinenumber: 146
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].getPackage()"
    - "[java.lang.Package].getImplementationVersion()"
    functionUses: 1
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:147"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:150"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:149"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:151"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:159"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:158"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:153"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:156"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:155"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:150,1"
      Dst: "[java.lang.Class].getPackage()"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:152,1"
      Dst: "[java.lang.Package].getImplementationVersion()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.PackagingDataCalculator].getCodeLocation(java.lang.Class)"
    functionSourceFile: "ch.qos.logback.classic.spi.PackagingDataCalculator"
    linkageType: null
    functionLinenumber: 164
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.PackagingDataCalculator].getCodeLocation(java.lang.String,char)"
    - "[java.lang.Class].getProtectionDomain()"
    - "[java.security.ProtectionDomain].getCodeSource()"
    - "[java.security.CodeSource].getLocation()"
    - "[java.net.URL].toString()"
    functionUses: 1
    ICount: 17
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:165"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:182"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:168"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:183"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:182"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:170"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:183"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:182"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:174"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:177"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:176"
        BranchSideFuncs:
        - "getCodeLocation(java.lang.String,char)"
    Callsites:
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:167,1"
      Dst: "[java.lang.Class].getProtectionDomain()"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:167,1"
      Dst: "[java.security.ProtectionDomain].getCodeSource()"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:169,1"
      Dst: "[java.security.CodeSource].getLocation()"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:171,1"
      Dst: "[java.net.URL].toString()"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:173,1"
      Dst: "[ch.qos.logback.classic.spi.PackagingDataCalculator].getCodeLocation(java.lang.String,char)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.spi.PackagingDataCalculator].getCodeLocation(java.lang.String,char)"
    functionSourceFile: "ch.qos.logback.classic.spi.PackagingDataCalculator"
    linkageType: null
    functionLinenumber: 187
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.PackagingDataCalculator].isFolder(int,java.lang.String)"
    - "[java.lang.String].lastIndexOf(int)"
    - "[java.lang.String].lastIndexOf(int,int)"
    - "[java.lang.String].substring(int)"
    functionUses: 2
    ICount: 18
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:189"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:192"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:191"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:192"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:195"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:194"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:188,1"
      Dst: "[java.lang.String].lastIndexOf(int)"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:189,1"
      Dst: "[ch.qos.logback.classic.spi.PackagingDataCalculator].isFolder(int,java.lang.String)"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:190,1"
      Dst: "[java.lang.String].lastIndexOf(int,int)"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:191,1"
      Dst: "[java.lang.String].substring(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.PackagingDataCalculator].isFolder(int,java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.spi.PackagingDataCalculator"
    linkageType: null
    functionLinenumber: 198
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "int"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].length()"
    functionUses: 1
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:199"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:198"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:199"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:198"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:199,1"
      Dst: "[java.lang.String].length()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.spi.ClassPackagingData].<init>(java.lang.String,java.lang.String,boolean)"
    functionSourceFile: "ch.qos.logback.classic.spi.ClassPackagingData"
    linkageType: null
    functionLinenumber: 35
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ClassPackagingData:36,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.StackTraceElementProxy].setClassPackagingData(ch.qos.logback.classic.spi.ClassPackagingData)"
    functionSourceFile: "ch.qos.logback.classic.spi.StackTraceElementProxy"
    linkageType: null
    functionLinenumber: 48
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ClassPackagingData"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 2
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.StackTraceElementProxy:49"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.StackTraceElementProxy:52"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.StackTraceElementProxy:51"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.StackTraceElementProxy:50,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.PackagingDataCalculator].populateUncommonFrames(int,ch.qos.logback.classic.spi.StackTraceElementProxy[],java.lang.ClassLoader)"
    functionSourceFile: "ch.qos.logback.classic.spi.PackagingDataCalculator"
    linkageType: null
    functionLinenumber: 110
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "int"
    - "ch.qos.logback.classic.spi.StackTraceElementProxy[]"
    - "java.lang.ClassLoader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.PackagingDataCalculator].computeBySTEP(ch.qos.logback.classic.spi.StackTraceElementProxy,java.lang.ClassLoader)"
    - "[ch.qos.logback.classic.spi.StackTraceElementProxy].setClassPackagingData(ch.qos.logback.classic.spi.ClassPackagingData)"
    functionUses: 1
    ICount: 14
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:112"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:116"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:114,1"
      Dst: "[ch.qos.logback.classic.spi.PackagingDataCalculator].computeBySTEP(ch.qos.logback.classic.spi.StackTraceElementProxy,java.lang.ClassLoader)"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:115,1"
      Dst: "[ch.qos.logback.classic.spi.StackTraceElementProxy].setClassPackagingData(ch.qos.logback.classic.spi.ClassPackagingData)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].addMarker(org.slf4j.Marker)"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: 419
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.slf4j.Marker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.util.ArrayList].<init>(int)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 12
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:420"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:423"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:422"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:423"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:426"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:425"
        BranchSideFuncs:
        - "add(java.lang.Object)"
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:424,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:426,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].callAppenders(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 256
    functionDepth: 5
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].appendLoopOnAppenders(ch.qos.logback.classic.spi.ILoggingEvent)"
    - "[ch.qos.logback.classic.LoggerContext].noAppenderDefinedWarning(ch.qos.logback.classic.Logger)"
    functionUses: 4
    ICount: 16
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:258"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:265"
        BranchSideFuncs:
        - "appendLoopOnAppenders(ch.qos.logback.classic.spi.ILoggingEvent)"
      - BranchSide: "ch.qos.logback.classic.Logger:264"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:260"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:257"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:256"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:265"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:268"
        BranchSideFuncs:
        - "noAppenderDefinedWarning(ch.qos.logback.classic.Logger)"
      - BranchSide: "ch.qos.logback.classic.Logger:267"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:259,1"
      Dst: "[ch.qos.logback.classic.Logger].appendLoopOnAppenders(ch.qos.logback.classic.spi.ILoggingEvent)"
    - Src: "ch.qos.logback.classic.Logger:266,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].noAppenderDefinedWarning(ch.qos.logback.classic.Logger)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.classic.Logger].appendLoopOnAppenders(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 270
    functionDepth: 4
    returnType: "int"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.AppenderAttachableImpl].appendLoopOnAppenders(java.lang.Object)"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:271"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:274"
        BranchSideFuncs:
        - "appendLoopOnAppenders(java.lang.Object)"
      - BranchSide: "ch.qos.logback.classic.Logger:273"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:272,1"
      Dst: "[ch.qos.logback.core.spi.AppenderAttachableImpl].appendLoopOnAppenders(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.AppenderAttachableImpl].appendLoopOnAppenders(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.spi.AppenderAttachableImpl"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 3
    returnType: "int"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].asTypedArray()"
    - "[ch.qos.logback.core.UnsynchronizedAppenderBase].doAppend(java.lang.Object)"
    - "[ch.qos.logback.core.AppenderBase].doAppend(java.lang.Object)"
    - "[ch.qos.logback.core.Appender].doAppend(java.lang.Object)"
    functionUses: 3
    ICount: 15
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.AppenderAttachableImpl:50"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:53"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:48,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].asTypedArray()"
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:51,1"
      Dst: "[ch.qos.logback.core.Appender].doAppend(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.LoggerContext].noAppenderDefinedWarning(ch.qos.logback.classic.Logger)"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 195
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.Logger"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.BasicStatusManager].add(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.classic.Logger].getName()"
    - "[ch.qos.logback.core.ContextBase].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    functionUses: 1
    ICount: 14
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.LoggerContext:196"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:201"
        BranchSideFuncs:
        - "add(ch.qos.logback.core.status.Status)"
        - "getStatusManager()"
      - BranchSide: "ch.qos.logback.classic.LoggerContext:200"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:197,1"
      Dst: "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - Src: "ch.qos.logback.classic.LoggerContext:198,1"
      Dst: "[ch.qos.logback.core.ContextBase].getName()"
    - Src: "ch.qos.logback.classic.LoggerContext:198,1"
      Dst: "[ch.qos.logback.classic.Logger].getName()"
    - Src: "ch.qos.logback.classic.LoggerContext:198,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.classic.LoggerContext:198,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.classic.LoggerContext:197,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.ContextBase].getStatusManager()"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 70
    functionDepth: 0
    returnType: "ch.qos.logback.core.status.StatusManager"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 19
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].getName()"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 157
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 12
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.status.WarnStatus"
    linkageType: null
    functionLinenumber: 18
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    functionUses: 12
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.WarnStatus:19,1"
      Dst: "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].getLogger(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 128
    functionDepth: 2
    returnType: "ch.qos.logback.classic.Logger"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.util.LoggerNameUtil].getSeparatorIndexOf(java.lang.String,int)"
    - "[ch.qos.logback.classic.Logger].getChildByName(java.lang.String)"
    - "[ch.qos.logback.classic.Logger].createChildByName(java.lang.String)"
    - "[ch.qos.logback.classic.LoggerContext].incSize()"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - "[java.util.Map].get(java.lang.Object)"
    - "[java.lang.String].substring(int,int)"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 10
    ICount: 45
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.LoggerContext:129"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:135"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:134"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.LoggerContext:135"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:139"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:138"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.LoggerContext:146"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:154"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:153"
        BranchSideFuncs:
        - "getSeparatorIndexOf(java.lang.String,int)"
    - Branch String: "ch.qos.logback.classic.LoggerContext:155"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:158"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:157"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.LoggerContext:164"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:169"
        BranchSideFuncs:
        - "createChildByName(java.lang.String)"
        - "incSize()"
      - BranchSide: "ch.qos.logback.classic.LoggerContext:168"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.LoggerContext:171"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:174"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:173"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:130,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.classic.LoggerContext:135,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - Src: "ch.qos.logback.classic.LoggerContext:144,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "ch.qos.logback.classic.LoggerContext:154,1"
      Dst: "[ch.qos.logback.classic.util.LoggerNameUtil].getSeparatorIndexOf(java.lang.String,int)"
    - Src: "ch.qos.logback.classic.LoggerContext:158,1"
      Dst: "[java.lang.String].substring(int,int)"
    - Src: "ch.qos.logback.classic.LoggerContext:163,1"
      Dst: "[ch.qos.logback.classic.Logger].getChildByName(java.lang.String)"
    - Src: "ch.qos.logback.classic.LoggerContext:165,1"
      Dst: "[ch.qos.logback.classic.Logger].createChildByName(java.lang.String)"
    - Src: "ch.qos.logback.classic.LoggerContext:166,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - Src: "ch.qos.logback.classic.LoggerContext:167,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].incSize()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 16
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.Logger].isEnabledFor(ch.qos.logback.classic.Level)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 688
    functionDepth: 4
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.Level"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].isEnabledFor(org.slf4j.Marker,ch.qos.logback.classic.Level)"
    functionUses: 3
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:689,1"
      Dst: "[ch.qos.logback.classic.Logger].isEnabledFor(org.slf4j.Marker,ch.qos.logback.classic.Level)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].isEnabledFor(org.slf4j.Marker,ch.qos.logback.classic.Level)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 675
    functionDepth: 3
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].callTurboFilters(org.slf4j.Marker,ch.qos.logback.classic.Level)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.FilterReply)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 23
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:677"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:679"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:678"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:678"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:678"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:677"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:679"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:681"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:680"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:681"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:684"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:683"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:676,1"
      Dst: "[ch.qos.logback.classic.Logger].callTurboFilters(org.slf4j.Marker,ch.qos.logback.classic.Level)"
    - Src: "ch.qos.logback.classic.Logger:684,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.FilterReply)"
    - Src: "ch.qos.logback.classic.Logger:684,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].callTurboFilters(org.slf4j.Marker,ch.qos.logback.classic.Level)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 755
    functionDepth: 2
    returnType: "ch.qos.logback.core.spi.FilterReply"
    argCount: 2
    argTypes:
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 6
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:756,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].info(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 583
    functionDepth: 11
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 17
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:584,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SimpleSocketServer].socketNodeClosing(ch.qos.logback.classic.net.SocketNode)"
    functionSourceFile: "ch.qos.logback.classic.net.SimpleSocketServer"
    linkageType: null
    functionLinenumber: 203
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.net.SocketNode"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].debug(java.lang.String,java.lang.Object)"
    - "[org.slf4j.helpers.SubstituteLogger].debug(java.lang.String,java.lang.Object)"
    - "[org.slf4j.helpers.AbstractLogger].debug(java.lang.String,java.lang.Object)"
    - "[org.slf4j.helpers.NOPLogger].debug(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.util.COWArrayList].remove(java.lang.Object)"
    - "[org.slf4j.Logger].debug(java.lang.String,java.lang.Object)"
    - "[java.util.List].remove(java.lang.Object)"
    functionUses: 1
    ICount: 14
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:204,1"
      Dst: "[org.slf4j.Logger].debug(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:210,1"
      Dst: "[java.util.List].remove(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SocketNode].close()"
    functionSourceFile: "ch.qos.logback.classic.net.SocketNode"
    linkageType: null
    functionLinenumber: 108
    functionDepth: 12
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].warn(java.lang.String,java.lang.Throwable)"
    - "[java.io.ObjectInputStream].close()"
    functionUses: 1
    ICount: 20
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.net.SocketNode:109"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SocketNode:112"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.net.SocketNode:111"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.net.SocketNode:113"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SocketNode:122"
        BranchSideFuncs:
        - "warn(java.lang.String,java.lang.Throwable)"
      - BranchSide: "ch.qos.logback.classic.net.SocketNode:121"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SocketNode:115,1"
      Dst: "[java.io.ObjectInputStream].close()"
    - Src: "ch.qos.logback.classic.net.SocketNode:117,1"
      Dst: "[ch.qos.logback.classic.Logger].warn(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].warn(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 696
    functionDepth: 11
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:697,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SocketNode].close()"
    functionSourceFile: "ch.qos.logback.classic.net.SocketNode"
    linkageType: null
    functionLinenumber: 108
    functionDepth: 12
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].warn(java.lang.String,java.lang.Throwable)"
    - "[java.io.ObjectInputStream].close()"
    functionUses: 1
    ICount: 20
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.net.SocketNode:109"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SocketNode:112"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.net.SocketNode:111"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.net.SocketNode:113"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SocketNode:122"
        BranchSideFuncs:
        - "warn(java.lang.String,java.lang.Throwable)"
      - BranchSide: "ch.qos.logback.classic.net.SocketNode:121"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SocketNode:115,1"
      Dst: "[java.io.ObjectInputStream].close()"
    - Src: "ch.qos.logback.classic.net.SocketNode:117,1"
      Dst: "[ch.qos.logback.classic.Logger].warn(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SocketNode].toString()"
    functionSourceFile: "ch.qos.logback.classic.net.SocketNode"
    linkageType: null
    functionLinenumber: 125
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getName()"
    - "[java.lang.Object].toString()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    functionUses: 3
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SocketNode:126,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.classic.net.SocketNode:126,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.classic.net.SocketNode:126,1"
      Dst: "[java.lang.Object].toString()"
    - Src: "ch.qos.logback.classic.net.SocketNode:126,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].<init>()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 83
    functionDepth: 4
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.TurboFilterList].<init>()"
    - "[ch.qos.logback.core.ContextBase].<init>()"
    - "[ch.qos.logback.classic.spi.LoggerContextVO].<init>(ch.qos.logback.classic.LoggerContext)"
    - "[ch.qos.logback.classic.Logger].<init>(java.lang.String,ch.qos.logback.classic.Logger,ch.qos.logback.classic.LoggerContext)"
    - "[ch.qos.logback.classic.Logger].setLevel(ch.qos.logback.classic.Level)"
    - "[ch.qos.logback.classic.LoggerContext].initEvaluatorMap()"
    - "[java.util.ArrayList].<init>()"
    - "[java.util.concurrent.ConcurrentHashMap].<init>()"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 2
    ICount: 34
    EdgeCount: 6
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:84,1"
      Dst: "[ch.qos.logback.core.ContextBase].<init>()"
    - Src: "ch.qos.logback.classic.LoggerContext:66,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.classic.LoggerContext:71,1"
      Dst: "[ch.qos.logback.classic.spi.TurboFilterList].<init>()"
    - Src: "ch.qos.logback.classic.LoggerContext:85,1"
      Dst: "[java.util.concurrent.ConcurrentHashMap].<init>()"
    - Src: "ch.qos.logback.classic.LoggerContext:87,1"
      Dst: "[ch.qos.logback.classic.spi.LoggerContextVO].<init>(ch.qos.logback.classic.LoggerContext)"
    - Src: "ch.qos.logback.classic.LoggerContext:88,1"
      Dst: "[ch.qos.logback.classic.Logger].<init>(java.lang.String,ch.qos.logback.classic.Logger,ch.qos.logback.classic.LoggerContext)"
    - Src: "ch.qos.logback.classic.LoggerContext:89,1"
      Dst: "[ch.qos.logback.classic.Logger].setLevel(ch.qos.logback.classic.Level)"
    - Src: "ch.qos.logback.classic.LoggerContext:90,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - Src: "ch.qos.logback.classic.LoggerContext:91,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].initEvaluatorMap()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].initEvaluatorMap()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 96
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].putObject(java.lang.String,java.lang.Object)"
    - "[java.util.HashMap].<init>()"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:97,1"
      Dst: "[java.util.HashMap].<init>()"
    - Src: "ch.qos.logback.classic.LoggerContext:97,1"
      Dst: "[ch.qos.logback.core.ContextBase].putObject(java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].updateLoggerContextVO()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggerContextVO].<init>(ch.qos.logback.classic.LoggerContext)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:105,1"
      Dst: "[ch.qos.logback.classic.spi.LoggerContextVO].<init>(ch.qos.logback.classic.LoggerContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggerContextVO].<init>(ch.qos.logback.classic.LoggerContext)"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggerContextVO"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.LoggerContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getName()"
    - "[ch.qos.logback.core.ContextBase].getCopyOfPropertyMap()"
    - "[ch.qos.logback.core.ContextBase].getBirthTime()"
    - "[java.lang.Object].<init>()"
    functionUses: 2
    ICount: 10
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggerContextVO:44,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.classic.spi.LoggerContextVO:45,1"
      Dst: "[ch.qos.logback.core.ContextBase].getName()"
    - Src: "ch.qos.logback.classic.spi.LoggerContextVO:46,1"
      Dst: "[ch.qos.logback.core.ContextBase].getCopyOfPropertyMap()"
    - Src: "ch.qos.logback.classic.spi.LoggerContextVO:47,1"
      Dst: "[ch.qos.logback.core.ContextBase].getBirthTime()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].getName()"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 157
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 12
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].getCopyOfPropertyMap()"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 93
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashMap].<init>(java.util.Map)"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase:94,1"
      Dst: "[java.util.HashMap].<init>(java.util.Map)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].getBirthTime()"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 212
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].putProperty(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 109
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].putProperty(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.classic.LoggerContext].updateLoggerContextVO()"
    functionUses: 3
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:110,1"
      Dst: "[ch.qos.logback.core.ContextBase].putProperty(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.classic.LoggerContext:111,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].updateLoggerContextVO()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].putProperty(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 97
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].putHostnameProperty(java.lang.String)"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 4
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.ContextBase:98"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.ContextBase:101"
        BranchSideFuncs:
        - "putHostnameProperty(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.ContextBase:100"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase:98,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - Src: "ch.qos.logback.core.ContextBase:99,1"
      Dst: "[ch.qos.logback.core.ContextBase].putHostnameProperty(java.lang.String)"
    - Src: "ch.qos.logback.core.ContextBase:101,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.LoggerContext].updateLoggerContextVO()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggerContextVO].<init>(ch.qos.logback.classic.LoggerContext)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:105,1"
      Dst: "[ch.qos.logback.classic.spi.LoggerContextVO].<init>(ch.qos.logback.classic.LoggerContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].setName(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 115
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].setName(java.lang.String)"
    - "[ch.qos.logback.classic.LoggerContext].updateLoggerContextVO()"
    functionUses: 3
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:116,1"
      Dst: "[ch.qos.logback.core.ContextBase].setName(java.lang.String)"
    - Src: "ch.qos.logback.classic.LoggerContext:117,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].updateLoggerContextVO()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].setName(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 201
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 2
    ICount: 19
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.ContextBase:202"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.ContextBase:205"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.ContextBase:204"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.ContextBase:202"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.ContextBase:205"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.ContextBase:204"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.ContextBase:205"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.ContextBase:206"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.ContextBase:205"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.ContextBase:205"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.ContextBase:208"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.ContextBase:207"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase:202,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.ContextBase:208,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.LoggerContext].updateLoggerContextVO()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggerContextVO].<init>(ch.qos.logback.classic.LoggerContext)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:105,1"
      Dst: "[ch.qos.logback.classic.spi.LoggerContextVO].<init>(ch.qos.logback.classic.LoggerContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].getLogger(java.lang.Class)"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 122
    functionDepth: 3
    returnType: "ch.qos.logback.classic.Logger"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getLogger(java.lang.String)"
    - "[java.lang.Class].getName()"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:123,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.classic.LoggerContext:123,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getLogger(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].getLogger(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 128
    functionDepth: 2
    returnType: "ch.qos.logback.classic.Logger"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.util.LoggerNameUtil].getSeparatorIndexOf(java.lang.String,int)"
    - "[ch.qos.logback.classic.Logger].getChildByName(java.lang.String)"
    - "[ch.qos.logback.classic.Logger].createChildByName(java.lang.String)"
    - "[ch.qos.logback.classic.LoggerContext].incSize()"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - "[java.util.Map].get(java.lang.Object)"
    - "[java.lang.String].substring(int,int)"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 10
    ICount: 45
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.LoggerContext:129"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:135"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:134"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.LoggerContext:135"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:139"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:138"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.LoggerContext:146"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:154"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:153"
        BranchSideFuncs:
        - "getSeparatorIndexOf(java.lang.String,int)"
    - Branch String: "ch.qos.logback.classic.LoggerContext:155"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:158"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:157"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.LoggerContext:164"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:169"
        BranchSideFuncs:
        - "createChildByName(java.lang.String)"
        - "incSize()"
      - BranchSide: "ch.qos.logback.classic.LoggerContext:168"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.LoggerContext:171"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:174"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:173"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:130,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.classic.LoggerContext:135,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - Src: "ch.qos.logback.classic.LoggerContext:144,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "ch.qos.logback.classic.LoggerContext:154,1"
      Dst: "[ch.qos.logback.classic.util.LoggerNameUtil].getSeparatorIndexOf(java.lang.String,int)"
    - Src: "ch.qos.logback.classic.LoggerContext:158,1"
      Dst: "[java.lang.String].substring(int,int)"
    - Src: "ch.qos.logback.classic.LoggerContext:163,1"
      Dst: "[ch.qos.logback.classic.Logger].getChildByName(java.lang.String)"
    - Src: "ch.qos.logback.classic.LoggerContext:165,1"
      Dst: "[ch.qos.logback.classic.Logger].createChildByName(java.lang.String)"
    - Src: "ch.qos.logback.classic.LoggerContext:166,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - Src: "ch.qos.logback.classic.LoggerContext:167,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].incSize()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 16
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.LoggerContext].getLogger(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 128
    functionDepth: 2
    returnType: "ch.qos.logback.classic.Logger"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.util.LoggerNameUtil].getSeparatorIndexOf(java.lang.String,int)"
    - "[ch.qos.logback.classic.Logger].getChildByName(java.lang.String)"
    - "[ch.qos.logback.classic.Logger].createChildByName(java.lang.String)"
    - "[ch.qos.logback.classic.LoggerContext].incSize()"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - "[java.util.Map].get(java.lang.Object)"
    - "[java.lang.String].substring(int,int)"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 10
    ICount: 45
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.LoggerContext:129"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:135"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:134"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.LoggerContext:135"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:139"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:138"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.LoggerContext:146"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:154"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:153"
        BranchSideFuncs:
        - "getSeparatorIndexOf(java.lang.String,int)"
    - Branch String: "ch.qos.logback.classic.LoggerContext:155"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:158"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:157"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.LoggerContext:164"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:169"
        BranchSideFuncs:
        - "createChildByName(java.lang.String)"
        - "incSize()"
      - BranchSide: "ch.qos.logback.classic.LoggerContext:168"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.LoggerContext:171"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:174"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:173"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:130,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.classic.LoggerContext:135,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - Src: "ch.qos.logback.classic.LoggerContext:144,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "ch.qos.logback.classic.LoggerContext:154,1"
      Dst: "[ch.qos.logback.classic.util.LoggerNameUtil].getSeparatorIndexOf(java.lang.String,int)"
    - Src: "ch.qos.logback.classic.LoggerContext:158,1"
      Dst: "[java.lang.String].substring(int,int)"
    - Src: "ch.qos.logback.classic.LoggerContext:163,1"
      Dst: "[ch.qos.logback.classic.Logger].getChildByName(java.lang.String)"
    - Src: "ch.qos.logback.classic.LoggerContext:165,1"
      Dst: "[ch.qos.logback.classic.Logger].createChildByName(java.lang.String)"
    - Src: "ch.qos.logback.classic.LoggerContext:166,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - Src: "ch.qos.logback.classic.LoggerContext:167,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].incSize()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 16
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.LoggerContext].incSize()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 177
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].size()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].exists(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.classic.Logger"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map].get(java.lang.Object)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:192,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].noAppenderDefinedWarning(ch.qos.logback.classic.Logger)"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 195
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.Logger"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.BasicStatusManager].add(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.classic.Logger].getName()"
    - "[ch.qos.logback.core.ContextBase].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    functionUses: 1
    ICount: 14
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.LoggerContext:196"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:201"
        BranchSideFuncs:
        - "add(ch.qos.logback.core.status.Status)"
        - "getStatusManager()"
      - BranchSide: "ch.qos.logback.classic.LoggerContext:200"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:197,1"
      Dst: "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - Src: "ch.qos.logback.classic.LoggerContext:198,1"
      Dst: "[ch.qos.logback.core.ContextBase].getName()"
    - Src: "ch.qos.logback.classic.LoggerContext:198,1"
      Dst: "[ch.qos.logback.classic.Logger].getName()"
    - Src: "ch.qos.logback.classic.LoggerContext:198,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.classic.LoggerContext:198,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.classic.LoggerContext:197,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.LoggerContext].getLoggerList()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 203
    functionDepth: 1
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggerComparator].<init>()"
    - "[java.util.Map].values()"
    - "[java.util.ArrayList].<init>(java.util.Collection)"
    - "[java.util.Collections].sort(java.util.List,java.util.Comparator)"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:204,1"
      Dst: "[java.util.Map].values()"
    - Src: "ch.qos.logback.classic.LoggerContext:205,1"
      Dst: "[java.util.ArrayList].<init>(java.util.Collection)"
    - Src: "ch.qos.logback.classic.LoggerContext:206,1"
      Dst: "[ch.qos.logback.classic.spi.LoggerComparator].<init>()"
    - Src: "ch.qos.logback.classic.LoggerContext:206,1"
      Dst: "[java.util.Collections].sort(java.util.List,java.util.Comparator)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggerComparator].<init>()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggerComparator"
    linkageType: null
    functionLinenumber: 19
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggerComparator:20,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].getLoggerContextRemoteView()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 210
    functionDepth: 0
    returnType: "ch.qos.logback.classic.spi.LoggerContextVO"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].setPackagingDataEnabled(boolean)"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 214
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].isPackagingDataEnabled()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 218
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].cancelScheduledTasks()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 222
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.util.COWArrayList].clear()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.concurrent.Future].cancel(boolean)"
    - "[java.util.List].clear()"
    functionUses: 1
    ICount: 12
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.LoggerContext:223"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:226"
        BranchSideFuncs:
        - "iterator()"
      - BranchSide: "ch.qos.logback.classic.LoggerContext:225"
        BranchSideFuncs:
        - "clear()"
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:223,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.classic.LoggerContext:223,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.classic.LoggerContext:223,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.classic.LoggerContext:224,1"
      Dst: "[java.util.concurrent.Future].cancel(boolean)"
    - Src: "ch.qos.logback.classic.LoggerContext:226,1"
      Dst: "[java.util.List].clear()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.LoggerContext].resetStatusListenersExceptResetResistant()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 229
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - "[ch.qos.logback.core.BasicStatusManager].getCopyOfStatusListenerList()"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.status.OnPrintStreamStatusListenerBase].isResetResistant()"
    - "[ch.qos.logback.core.status.StatusListener].isResetResistant()"
    - "[ch.qos.logback.core.BasicStatusManager].remove(ch.qos.logback.core.status.StatusListener)"
    - "[ch.qos.logback.core.status.StatusManager].getCopyOfStatusListenerList()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[ch.qos.logback.core.status.StatusManager].remove(ch.qos.logback.core.status.StatusListener)"
    functionUses: 1
    ICount: 13
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.LoggerContext:231"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:236"
        BranchSideFuncs:
        - "iterator()"
        - "isResetResistant()"
        - "getCopyOfStatusListenerList()"
      - BranchSide: "ch.qos.logback.classic.LoggerContext:235"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.LoggerContext:232"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:235"
        BranchSideFuncs:
        - "remove(ch.qos.logback.core.status.StatusListener)"
      - BranchSide: "ch.qos.logback.classic.LoggerContext:234"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:230,1"
      Dst: "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - Src: "ch.qos.logback.classic.LoggerContext:231,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].getCopyOfStatusListenerList()"
    - Src: "ch.qos.logback.classic.LoggerContext:231,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.classic.LoggerContext:231,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.classic.LoggerContext:231,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.classic.LoggerContext:232,1"
      Dst: "[ch.qos.logback.core.status.StatusListener].isResetResistant()"
    - Src: "ch.qos.logback.classic.LoggerContext:233,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].remove(ch.qos.logback.core.status.StatusListener)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.LoggerContext].getTurboFilterList()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.classic.spi.TurboFilterList"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].addTurboFilter(ch.qos.logback.classic.turbo.TurboFilter)"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.turbo.TurboFilter"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.CopyOnWriteArrayList].add(java.lang.Object)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:243,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].resetTurboFilterList()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 250
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.turbo.DuplicateMessageFilter].stop()"
    - "[ch.qos.logback.classic.turbo.TurboFilter].stop()"
    - "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.concurrent.CopyOnWriteArrayList].clear()"
    functionUses: 1
    ICount: 12
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.LoggerContext:251"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:254"
        BranchSideFuncs:
        - "stop()"
      - BranchSide: "ch.qos.logback.classic.LoggerContext:253"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:251,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    - Src: "ch.qos.logback.classic.LoggerContext:251,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.classic.LoggerContext:251,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.classic.LoggerContext:252,1"
      Dst: "[ch.qos.logback.classic.turbo.TurboFilter].stop()"
    - Src: "ch.qos.logback.classic.LoggerContext:254,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].clear()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 258
    functionDepth: 1
    returnType: "ch.qos.logback.core.spi.FilterReply"
    argCount: 6
    argTypes:
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Logger"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.TurboFilterList].getTurboFilterChainDecision(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[java.util.concurrent.CopyOnWriteArrayList].size()"
    functionUses: 2
    ICount: 15
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.LoggerContext:259"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:262"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:261"
        BranchSideFuncs:
        - "getTurboFilterChainDecision(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:259,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].size()"
    - Src: "ch.qos.logback.classic.LoggerContext:262,1"
      Dst: "[ch.qos.logback.classic.spi.TurboFilterList].getTurboFilterChainDecision(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_1(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 266
    functionDepth: 1
    returnType: "ch.qos.logback.core.spi.FilterReply"
    argCount: 6
    argTypes:
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Logger"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.TurboFilterList].getTurboFilterChainDecision(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[java.util.concurrent.CopyOnWriteArrayList].size()"
    functionUses: 1
    ICount: 17
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.LoggerContext:267"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:270"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:269"
        BranchSideFuncs:
        - "getTurboFilterChainDecision(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:267,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].size()"
    - Src: "ch.qos.logback.classic.LoggerContext:270,1"
      Dst: "[ch.qos.logback.classic.spi.TurboFilterList].getTurboFilterChainDecision(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.TurboFilterList].getTurboFilterChainDecision(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.spi.TurboFilterList"
    linkageType: null
    functionLinenumber: 41
    functionDepth: 0
    returnType: "ch.qos.logback.core.spi.FilterReply"
    argCount: 6
    argTypes:
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Logger"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.turbo.DynamicThresholdFilter].decide(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].decide(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[ch.qos.logback.classic.turbo.DuplicateMessageFilter].decide(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[ch.qos.logback.classic.turbo.MDCFilter].decide(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[ch.qos.logback.classic.turbo.MarkerFilter].decide(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[java.util.concurrent.CopyOnWriteArrayList].size()"
    - "[java.util.concurrent.CopyOnWriteArrayList].get(int)"
    - "[ch.qos.logback.classic.turbo.TurboFilter].decide(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[java.util.concurrent.CopyOnWriteArrayList].toArray()"
    functionUses: 2
    ICount: 32
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.TurboFilterList:46"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.TurboFilterList:54"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.TurboFilterList:57"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.TurboFilterList:64"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.TurboFilterList:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.TurboFilterList:62"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.TurboFilterList:61"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.TurboFilterList:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.TurboFilterList:55"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.TurboFilterList:54"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.TurboFilterList:42,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].size()"
    - Src: "ch.qos.logback.classic.spi.TurboFilterList:48,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].get(int)"
    - Src: "ch.qos.logback.classic.spi.TurboFilterList:49,1"
      Dst: "[ch.qos.logback.classic.turbo.TurboFilter].decide(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.spi.TurboFilterList:55,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].toArray()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_2(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.spi.FilterReply"
    argCount: 7
    argTypes:
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Logger"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Object"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.CopyOnWriteArrayList].size()"
    - "[ch.qos.logback.classic.spi.TurboFilterList].getTurboFilterChainDecision(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 0
    ICount: 19
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.LoggerContext:275"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:278"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:277"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:275,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].size()"
    - Src: "ch.qos.logback.classic.LoggerContext:278,1"
      Dst: "[ch.qos.logback.classic.spi.TurboFilterList].getTurboFilterChainDecision(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.TurboFilterList].getTurboFilterChainDecision(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.spi.TurboFilterList"
    linkageType: null
    functionLinenumber: 41
    functionDepth: 0
    returnType: "ch.qos.logback.core.spi.FilterReply"
    argCount: 6
    argTypes:
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Logger"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.turbo.DynamicThresholdFilter].decide(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].decide(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[ch.qos.logback.classic.turbo.DuplicateMessageFilter].decide(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[ch.qos.logback.classic.turbo.MDCFilter].decide(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[ch.qos.logback.classic.turbo.MarkerFilter].decide(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[java.util.concurrent.CopyOnWriteArrayList].size()"
    - "[java.util.concurrent.CopyOnWriteArrayList].get(int)"
    - "[ch.qos.logback.classic.turbo.TurboFilter].decide(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[java.util.concurrent.CopyOnWriteArrayList].toArray()"
    functionUses: 2
    ICount: 32
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.TurboFilterList:46"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.TurboFilterList:54"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.TurboFilterList:57"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.TurboFilterList:64"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.TurboFilterList:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.TurboFilterList:62"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.TurboFilterList:61"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.TurboFilterList:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.TurboFilterList:55"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.TurboFilterList:54"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.TurboFilterList:42,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].size()"
    - Src: "ch.qos.logback.classic.spi.TurboFilterList:48,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].get(int)"
    - Src: "ch.qos.logback.classic.spi.TurboFilterList:49,1"
      Dst: "[ch.qos.logback.classic.turbo.TurboFilter].decide(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.spi.TurboFilterList:55,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].toArray()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.LoggerContext].addListener(ch.qos.logback.classic.spi.LoggerContextListener)"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 283
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.LoggerContextListener"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:284,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].removeListener(ch.qos.logback.classic.spi.LoggerContextListener)"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.LoggerContextListener"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.List].remove(java.lang.Object)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:288,1"
      Dst: "[java.util.List].remove(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].resetListenersExceptResetResistant()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 291
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.classic.jul.LevelChangePropagator].isResetResistant()"
    - "[ch.qos.logback.core.util.COWArrayList].retainAll(java.util.Collection)"
    - "[java.util.ArrayList].<init>()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[ch.qos.logback.classic.spi.LoggerContextListener].isResetResistant()"
    - "[java.util.List].add(java.lang.Object)"
    - "[java.util.List].retainAll(java.util.Collection)"
    functionUses: 1
    ICount: 16
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.LoggerContext:294"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:299"
        BranchSideFuncs:
        - "iterator()"
        - "isResetResistant()"
      - BranchSide: "ch.qos.logback.classic.LoggerContext:298"
        BranchSideFuncs:
        - "retainAll(java.util.Collection)"
    - Branch String: "ch.qos.logback.classic.LoggerContext:295"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:298"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:297"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:292,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.classic.LoggerContext:294,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.classic.LoggerContext:294,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.classic.LoggerContext:294,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.classic.LoggerContext:295,1"
      Dst: "[ch.qos.logback.classic.spi.LoggerContextListener].isResetResistant()"
    - Src: "ch.qos.logback.classic.LoggerContext:296,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "ch.qos.logback.classic.LoggerContext:299,1"
      Dst: "[java.util.List].retainAll(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.LoggerContext].resetAllListeners()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 302
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].clear()"
    - "[java.util.List].clear()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:303,1"
      Dst: "[java.util.List].clear()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].getCopyOfListenerList()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>(java.util.Collection)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:307,1"
      Dst: "[java.util.ArrayList].<init>(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].fireOnLevelChange(ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level)"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 310
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.classic.Logger"
    - "ch.qos.logback.classic.Level"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.classic.jul.LevelChangePropagator].onLevelChange(ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[ch.qos.logback.classic.spi.LoggerContextListener].onLevelChange(ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level)"
    functionUses: 1
    ICount: 12
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.LoggerContext:311"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:314"
        BranchSideFuncs:
        - "onLevelChange(ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level)"
        - "iterator()"
      - BranchSide: "ch.qos.logback.classic.LoggerContext:313"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:311,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.classic.LoggerContext:311,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.classic.LoggerContext:311,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.classic.LoggerContext:312,1"
      Dst: "[ch.qos.logback.classic.spi.LoggerContextListener].onLevelChange(ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.LoggerContext].fireOnReset()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 316
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.classic.jul.LevelChangePropagator].onReset(ch.qos.logback.classic.LoggerContext)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[ch.qos.logback.classic.spi.LoggerContextListener].onReset(ch.qos.logback.classic.LoggerContext)"
    functionUses: 1
    ICount: 10
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.LoggerContext:317"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:320"
        BranchSideFuncs:
        - "iterator()"
        - "onReset(ch.qos.logback.classic.LoggerContext)"
      - BranchSide: "ch.qos.logback.classic.LoggerContext:319"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:317,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.classic.LoggerContext:317,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.classic.LoggerContext:317,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.classic.LoggerContext:318,1"
      Dst: "[ch.qos.logback.classic.spi.LoggerContextListener].onReset(ch.qos.logback.classic.LoggerContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.LoggerContext].fireOnStart()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 322
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.classic.jul.LevelChangePropagator].onStart(ch.qos.logback.classic.LoggerContext)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[ch.qos.logback.classic.spi.LoggerContextListener].onStart(ch.qos.logback.classic.LoggerContext)"
    functionUses: 1
    ICount: 10
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.LoggerContext:323"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:326"
        BranchSideFuncs:
        - "iterator()"
        - "onStart(ch.qos.logback.classic.LoggerContext)"
      - BranchSide: "ch.qos.logback.classic.LoggerContext:325"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:323,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.classic.LoggerContext:323,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.classic.LoggerContext:323,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.classic.LoggerContext:324,1"
      Dst: "[ch.qos.logback.classic.spi.LoggerContextListener].onStart(ch.qos.logback.classic.LoggerContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.LoggerContext].fireOnStop()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 328
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.classic.jul.LevelChangePropagator].onStop(ch.qos.logback.classic.LoggerContext)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[ch.qos.logback.classic.spi.LoggerContextListener].onStop(ch.qos.logback.classic.LoggerContext)"
    functionUses: 1
    ICount: 10
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.LoggerContext:329"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:332"
        BranchSideFuncs:
        - "iterator()"
        - "onStop(ch.qos.logback.classic.LoggerContext)"
      - BranchSide: "ch.qos.logback.classic.LoggerContext:331"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:329,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.classic.LoggerContext:329,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.classic.LoggerContext:329,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.classic.LoggerContext:330,1"
      Dst: "[ch.qos.logback.classic.spi.LoggerContextListener].onStop(ch.qos.logback.classic.LoggerContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.LoggerContext].start()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 337
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].start()"
    - "[ch.qos.logback.classic.LoggerContext].fireOnStart()"
    functionUses: 6
    ICount: 4
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:338,1"
      Dst: "[ch.qos.logback.core.ContextBase].start()"
    - Src: "ch.qos.logback.classic.LoggerContext:339,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].fireOnStart()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].start()"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 165
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 6
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].fireOnStart()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 322
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.classic.jul.LevelChangePropagator].onStart(ch.qos.logback.classic.LoggerContext)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[ch.qos.logback.classic.spi.LoggerContextListener].onStart(ch.qos.logback.classic.LoggerContext)"
    functionUses: 1
    ICount: 10
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.LoggerContext:323"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:326"
        BranchSideFuncs:
        - "iterator()"
        - "onStart(ch.qos.logback.classic.LoggerContext)"
      - BranchSide: "ch.qos.logback.classic.LoggerContext:325"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:323,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.classic.LoggerContext:323,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.classic.LoggerContext:323,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.classic.LoggerContext:324,1"
      Dst: "[ch.qos.logback.classic.spi.LoggerContextListener].onStart(ch.qos.logback.classic.LoggerContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.LoggerContext].stop()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 342
    functionDepth: 6
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].reset()"
    - "[ch.qos.logback.classic.LoggerContext].fireOnStop()"
    - "[ch.qos.logback.classic.LoggerContext].resetAllListeners()"
    - "[ch.qos.logback.core.ContextBase].stop()"
    functionUses: 2
    ICount: 6
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:343,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].reset()"
    - Src: "ch.qos.logback.classic.LoggerContext:344,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].fireOnStop()"
    - Src: "ch.qos.logback.classic.LoggerContext:345,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].resetAllListeners()"
    - Src: "ch.qos.logback.classic.LoggerContext:346,1"
      Dst: "[ch.qos.logback.core.ContextBase].stop()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].reset()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 358
    functionDepth: 5
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].reset()"
    - "[ch.qos.logback.classic.LoggerContext].initEvaluatorMap()"
    - "[ch.qos.logback.core.ContextBase].initCollisionMaps()"
    - "[ch.qos.logback.classic.Logger].recursiveReset()"
    - "[ch.qos.logback.classic.LoggerContext].resetTurboFilterList()"
    - "[ch.qos.logback.classic.LoggerContext].cancelScheduledTasks()"
    - "[ch.qos.logback.classic.LoggerContext].fireOnReset()"
    - "[ch.qos.logback.classic.LoggerContext].resetListenersExceptResetResistant()"
    - "[ch.qos.logback.classic.LoggerContext].resetStatusListenersExceptResetResistant()"
    functionUses: 6
    ICount: 15
    EdgeCount: 9
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:360,1"
      Dst: "[ch.qos.logback.core.ContextBase].reset()"
    - Src: "ch.qos.logback.classic.LoggerContext:361,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].initEvaluatorMap()"
    - Src: "ch.qos.logback.classic.LoggerContext:362,1"
      Dst: "[ch.qos.logback.core.ContextBase].initCollisionMaps()"
    - Src: "ch.qos.logback.classic.LoggerContext:363,1"
      Dst: "[ch.qos.logback.classic.Logger].recursiveReset()"
    - Src: "ch.qos.logback.classic.LoggerContext:364,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].resetTurboFilterList()"
    - Src: "ch.qos.logback.classic.LoggerContext:365,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].cancelScheduledTasks()"
    - Src: "ch.qos.logback.classic.LoggerContext:366,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].fireOnReset()"
    - Src: "ch.qos.logback.classic.LoggerContext:367,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].resetListenersExceptResetResistant()"
    - Src: "ch.qos.logback.classic.LoggerContext:368,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].resetStatusListenersExceptResetResistant()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].fireOnStop()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 328
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.classic.jul.LevelChangePropagator].onStop(ch.qos.logback.classic.LoggerContext)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[ch.qos.logback.classic.spi.LoggerContextListener].onStop(ch.qos.logback.classic.LoggerContext)"
    functionUses: 1
    ICount: 10
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.LoggerContext:329"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:332"
        BranchSideFuncs:
        - "iterator()"
        - "onStop(ch.qos.logback.classic.LoggerContext)"
      - BranchSide: "ch.qos.logback.classic.LoggerContext:331"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:329,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.classic.LoggerContext:329,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.classic.LoggerContext:329,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.classic.LoggerContext:330,1"
      Dst: "[ch.qos.logback.classic.spi.LoggerContextListener].onStop(ch.qos.logback.classic.LoggerContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.LoggerContext].resetAllListeners()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 302
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].clear()"
    - "[java.util.List].clear()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:303,1"
      Dst: "[java.util.List].clear()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].stop()"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 171
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].stopExecutorServices()"
    functionUses: 3
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase:172,1"
      Dst: "[ch.qos.logback.core.ContextBase].stopExecutorServices()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].reset()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 358
    functionDepth: 5
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].reset()"
    - "[ch.qos.logback.classic.LoggerContext].initEvaluatorMap()"
    - "[ch.qos.logback.core.ContextBase].initCollisionMaps()"
    - "[ch.qos.logback.classic.Logger].recursiveReset()"
    - "[ch.qos.logback.classic.LoggerContext].resetTurboFilterList()"
    - "[ch.qos.logback.classic.LoggerContext].cancelScheduledTasks()"
    - "[ch.qos.logback.classic.LoggerContext].fireOnReset()"
    - "[ch.qos.logback.classic.LoggerContext].resetListenersExceptResetResistant()"
    - "[ch.qos.logback.classic.LoggerContext].resetStatusListenersExceptResetResistant()"
    functionUses: 6
    ICount: 15
    EdgeCount: 9
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:360,1"
      Dst: "[ch.qos.logback.core.ContextBase].reset()"
    - Src: "ch.qos.logback.classic.LoggerContext:361,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].initEvaluatorMap()"
    - Src: "ch.qos.logback.classic.LoggerContext:362,1"
      Dst: "[ch.qos.logback.core.ContextBase].initCollisionMaps()"
    - Src: "ch.qos.logback.classic.LoggerContext:363,1"
      Dst: "[ch.qos.logback.classic.Logger].recursiveReset()"
    - Src: "ch.qos.logback.classic.LoggerContext:364,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].resetTurboFilterList()"
    - Src: "ch.qos.logback.classic.LoggerContext:365,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].cancelScheduledTasks()"
    - Src: "ch.qos.logback.classic.LoggerContext:366,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].fireOnReset()"
    - Src: "ch.qos.logback.classic.LoggerContext:367,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].resetListenersExceptResetResistant()"
    - Src: "ch.qos.logback.classic.LoggerContext:368,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].resetStatusListenersExceptResetResistant()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].toString()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 372
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getName()"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    functionUses: 3
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:373,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.classic.LoggerContext:373,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.classic.LoggerContext:373,1"
      Dst: "[ch.qos.logback.core.ContextBase].getName()"
    - Src: "ch.qos.logback.classic.LoggerContext:373,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].getName()"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 157
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 12
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].getMaxCallerDataDepth()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 376
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].setMaxCallerDataDepth(int)"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].getFrameworkPackages()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 394
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].setSequenceNumberGenerator(ch.qos.logback.core.spi.SequenceNumberGenerator)"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 400
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.spi.SequenceNumberGenerator"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].getSequenceNumberGenerator()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 405
    functionDepth: 0
    returnType: "ch.qos.logback.core.spi.SequenceNumberGenerator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].getMDCAdapter()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 409
    functionDepth: 0
    returnType: "org.slf4j.spi.MDCAdapter"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].setMDCAdapter(org.slf4j.spi.MDCAdapter)"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 413
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.slf4j.spi.MDCAdapter"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.BasicStatusManager].add(ch.qos.logback.core.status.Status)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    functionUses: 1
    ICount: 13
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.LoggerContext:414"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:417"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:416"
        BranchSideFuncs:
        - "add(ch.qos.logback.core.status.Status)"
        - "<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
        - "getStatusManager()"
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:417,1"
      Dst: "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - Src: "ch.qos.logback.classic.LoggerContext:418,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.classic.LoggerContext:418,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.LoggerContext:418,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.ContextBase].getStatusManager()"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 70
    functionDepth: 0
    returnType: "ch.qos.logback.core.status.StatusManager"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 19
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.status.ErrorStatus"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionUses: 14
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.ErrorStatus:23,1"
      Dst: "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.conditional.PropertyEvalScriptBuilder].<init>(ch.qos.logback.core.spi.PropertyContainer)"
    functionSourceFile: "ch.qos.logback.core.joran.conditional.PropertyEvalScriptBuilder"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.spi.PropertyContainer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - "[java.util.HashMap].<init>()"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.conditional.PropertyEvalScriptBuilder:34,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - Src: "ch.qos.logback.core.joran.conditional.PropertyEvalScriptBuilder:38,1"
      Dst: "[java.util.HashMap].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.conditional.PropertyEvalScriptBuilder].build(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.conditional.PropertyEvalScriptBuilder"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "ch.qos.logback.core.joran.conditional.Condition"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.codehaus.janino.ClassBodyEvaluator].<init>()"
    - "[org.codehaus.janino.ClassBodyEvaluator].setImplementedInterfaces(java.lang.Class[])"
    - "[org.codehaus.janino.ClassBodyEvaluator].setExtendedClass(java.lang.Class)"
    - "[java.lang.Class].getClassLoader()"
    - "[org.codehaus.janino.ClassBodyEvaluator].setParentClassLoader(java.lang.ClassLoader)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,java.lang.String)"
    - "[org.codehaus.janino.ClassBodyEvaluator].cook(java.lang.String)"
    - "[org.codehaus.janino.ClassBodyEvaluator].getClazz()"
    - "[java.lang.Class].getDeclaredConstructor(java.lang.Class[])"
    - "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    - "[java.lang.Class].getMethod(java.lang.String,java.lang.Class[])"
    - "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    functionUses: 1
    ICount: 32
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.conditional.PropertyEvalScriptBuilder:43,1"
      Dst: "[org.codehaus.janino.ClassBodyEvaluator].<init>()"
    - Src: "ch.qos.logback.core.joran.conditional.PropertyEvalScriptBuilder:44,1"
      Dst: "[org.codehaus.janino.ClassBodyEvaluator].setImplementedInterfaces(java.lang.Class[])"
    - Src: "ch.qos.logback.core.joran.conditional.PropertyEvalScriptBuilder:45,1"
      Dst: "[org.codehaus.janino.ClassBodyEvaluator].setExtendedClass(java.lang.Class)"
    - Src: "ch.qos.logback.core.joran.conditional.PropertyEvalScriptBuilder:46,1"
      Dst: "[java.lang.Class].getClassLoader()"
    - Src: "ch.qos.logback.core.joran.conditional.PropertyEvalScriptBuilder:46,1"
      Dst: "[org.codehaus.janino.ClassBodyEvaluator].setParentClassLoader(java.lang.ClassLoader)"
    - Src: "ch.qos.logback.core.joran.conditional.PropertyEvalScriptBuilder:47,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.conditional.PropertyEvalScriptBuilder:47,1"
      Dst: "[org.codehaus.janino.ClassBodyEvaluator].cook(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.conditional.PropertyEvalScriptBuilder:49,1"
      Dst: "[org.codehaus.janino.ClassBodyEvaluator].getClazz()"
    - Src: "ch.qos.logback.core.joran.conditional.PropertyEvalScriptBuilder:50,1"
      Dst: "[java.lang.Class].getDeclaredConstructor(java.lang.Class[])"
    - Src: "ch.qos.logback.core.joran.conditional.PropertyEvalScriptBuilder:50,1"
      Dst: "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    - Src: "ch.qos.logback.core.joran.conditional.PropertyEvalScriptBuilder:51,1"
      Dst: "[java.lang.Class].getMethod(java.lang.String,java.lang.Class[])"
    - Src: "ch.qos.logback.core.joran.conditional.PropertyEvalScriptBuilder:53,1"
      Dst: "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.SiftProcessor].<init>(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.sift.SiftProcessor"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].<init>(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.SiftProcessor:24,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - Src: "ch.qos.logback.core.sift.SiftProcessor:24,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].<init>(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.SiftProcessor].getModelInterpretationContext()"
    functionSourceFile: "ch.qos.logback.core.sift.SiftProcessor"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 0
    returnType: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_2__66].bootstrap$(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_2__66"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_2__66].<init>(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_2__66:-1,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_2__66].<init>(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_2__66].<init>(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_2__66"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_2__66:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_2__66].get()"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_2__66"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker].lambda$link$2()"
    functionUses: 3
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_2__66:-1,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker].lambda$link$2()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker].lambda$link$2()"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker"
    linkageType: null
    functionLinenumber: 80
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser].<init>(ch.qos.logback.core.Context,java.lang.Class)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:81,1"
      Dst: "[ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser].<init>(ch.qos.logback.core.Context,java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser].<init>(ch.qos.logback.core.Context,java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser"
    linkageType: null
    functionLinenumber: 24
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 3
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser:25,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.SiftModelHandler].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.sift.SiftModelHandler"
    linkageType: null
    functionLinenumber: 30
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.SiftModelHandler:31,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.SiftModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.sift.SiftModelHandler"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 1
    returnType: "ch.qos.logback.core.sift.SiftModelHandler"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.sift.SiftModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.SiftModelHandler:35,1"
      Dst: "[ch.qos.logback.core.sift.SiftModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.SiftModelHandler].getSupportedModelClass()"
    functionSourceFile: "ch.qos.logback.core.sift.SiftModelHandler"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 0
    returnType: "java.lang.Class"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.SiftModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.sift.SiftModelHandler"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].markAsSkipped()"
    - "[ch.qos.logback.core.sift.SiftModelHandler].computeAppenderModelCount(ch.qos.logback.core.model.SiftModel)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekObject()"
    - "[ch.qos.logback.core.sift.SiftingAppenderBase].getDiscriminatorKey()"
    - "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel].<init>(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model,java.lang.String)"
    - "[ch.qos.logback.core.sift.SiftingAppenderBase].setAppenderFactory(ch.qos.logback.core.sift.AppenderFactory)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Object)"
    functionUses: 3
    ICount: 27
    EdgeCount: 9
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.sift.SiftModelHandler:53"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.sift.SiftModelHandler:57"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.sift.SiftModelHandler:58"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.sift.SiftModelHandler:64"
        BranchSideFuncs:
        - "peekObject()"
    - Branch String: "ch.qos.logback.core.sift.SiftModelHandler:66"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.sift.SiftModelHandler:76"
        BranchSideFuncs:
        - "addError(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.sift.SiftModelHandler:49,1"
      Dst: "[ch.qos.logback.core.model.Model].markAsSkipped()"
    - Src: "ch.qos.logback.core.sift.SiftModelHandler:51,1"
      Dst: "[ch.qos.logback.core.sift.SiftModelHandler].computeAppenderModelCount(ch.qos.logback.core.model.SiftModel)"
    - Src: "ch.qos.logback.core.sift.SiftModelHandler:55,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.sift.SiftModelHandler:65,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekObject()"
    - Src: "ch.qos.logback.core.sift.SiftModelHandler:70,1"
      Dst: "[ch.qos.logback.core.sift.SiftingAppenderBase].getDiscriminatorKey()"
    - Src: "ch.qos.logback.core.sift.SiftModelHandler:72,1"
      Dst: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel].<init>(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model,java.lang.String)"
    - Src: "ch.qos.logback.core.sift.SiftModelHandler:74,1"
      Dst: "[ch.qos.logback.core.sift.SiftingAppenderBase].setAppenderFactory(ch.qos.logback.core.sift.AppenderFactory)"
    - Src: "ch.qos.logback.core.sift.SiftModelHandler:77,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.model.Model].markAsSkipped()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 63
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 7
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.SiftModelHandler].computeAppenderModelCount(ch.qos.logback.core.model.SiftModel)"
    functionSourceFile: "ch.qos.logback.core.sift.SiftModelHandler"
    linkageType: null
    functionLinenumber: 81
    functionDepth: 2
    returnType: "long"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.SiftModel"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].getSubModels()"
    - "[ch.qos.logback.core.sift.SiftModelHandler$lambda_computeAppenderModelCount_0__93].bootstrap$()"
    - "[java.util.Collection].stream()"
    - "[java.util.stream.Stream].filter(java.util.function.Predicate)"
    - "[java.util.stream.Stream].count()"
    functionUses: 1
    ICount: 8
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.SiftModelHandler:82,1"
      Dst: "[ch.qos.logback.core.model.Model].getSubModels()"
    - Src: "ch.qos.logback.core.sift.SiftModelHandler:82,1"
      Dst: "[java.util.Collection].stream()"
    - Src: "ch.qos.logback.core.sift.SiftModelHandler:83,1"
      Dst: "[ch.qos.logback.core.sift.SiftModelHandler$lambda_computeAppenderModelCount_0__93].bootstrap$()"
    - Src: "ch.qos.logback.core.sift.SiftModelHandler:83,1"
      Dst: "[java.util.stream.Stream].filter(java.util.function.Predicate)"
    - Src: "ch.qos.logback.core.sift.SiftModelHandler:83,1"
      Dst: "[java.util.stream.Stream].count()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].getSubModels()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 120
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 8
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.SiftModelHandler$lambda_computeAppenderModelCount_0__93].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.sift.SiftModelHandler$lambda_computeAppenderModelCount_0__93"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Predicate"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.sift.SiftModelHandler$lambda_computeAppenderModelCount_0__93].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.SiftModelHandler$lambda_computeAppenderModelCount_0__93:-1,1"
      Dst: "[ch.qos.logback.core.sift.SiftModelHandler$lambda_computeAppenderModelCount_0__93].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekObject()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 122
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].peek()"
    functionUses: 16
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:123,1"
      Dst: "[java.util.Stack].peek()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel].<init>(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel"
    linkageType: null
    functionLinenumber: 48
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.Model"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].duplicate(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 12
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel:49,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel:50,1"
      Dst: "[ch.qos.logback.core.model.Model].duplicate(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel:53,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].duplicate(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.Model"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.AppenderModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.NamedComponentModel].makeNewInstance()"
    - "[ch.qos.logback.classic.model.LoggerContextListenerModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.AppenderRefModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.conditional.ThenModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.conditional.ElseModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.ShutdownHookModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.StatusListenerModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.conditional.IfModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.Model].makeNewInstance()"
    - "[ch.qos.logback.core.model.DefineModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.SerializeModelModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.InsertFromJNDIModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.NamedModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.ParamModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.ImportModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.TimestampModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.SiftModel].makeNewInstance()"
    - "[ch.qos.logback.classic.model.RootLoggerModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.SequenceNumberGeneratorModel].makeNewInstance()"
    - "[ch.qos.logback.classic.model.ConfigurationModel].makeNewInstance()"
    - "[ch.qos.logback.classic.model.LevelModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.EventEvaluatorModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.PropertyModel].makeNewInstance()"
    - "[ch.qos.logback.classic.model.LoggerModel].makeNewInstance()"
    - "[ch.qos.logback.classic.model.ReceiverModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.ComponentModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.ImplicitModel].makeNewInstance()"
    - "[ch.qos.logback.classic.model.ContextNameModel].makeNewInstance()"
    - "[ch.qos.logback.core.model.ParamModel].mirror(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.conditional.IfModel].mirror(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.ComponentModel].mirror(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.AppenderRefModel].mirror(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.ImportModel].mirror(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.RootLoggerModel].mirror(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.ConfigurationModel].mirror(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.LoggerModel].mirror(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.TimestampModel].mirror(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.InsertFromJNDIModel].mirror(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.DefineModel].mirror(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.NamedModel].mirror(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.PropertyModel].mirror(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.LevelModel].mirror(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.NamedComponentModel].mirror(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.Model].mirror(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.model.Model].duplicate(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 3
    ICount: 14
    EdgeCount: 48
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.Model:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:49"
        BranchSideFuncs:
        - "add(java.lang.Object)"
        - "iterator()"
        - "duplicate(ch.qos.logback.core.model.Model)"
      - BranchSide: "ch.qos.logback.core.model.Model:48"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:43,1"
      Dst: "[ch.qos.logback.core.model.Model].makeNewInstance()"
    - Src: "ch.qos.logback.core.model.Model:44,1"
      Dst: "[ch.qos.logback.core.model.Model].mirror(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.model.Model:45,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.model.Model:45,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.model.Model:45,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.model.Model:46,1"
      Dst: "[ch.qos.logback.core.model.Model].duplicate(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.model.Model:47,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 0
    returnType: "ch.qos.logback.core.Context"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 35
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.SiftModelHandler].computeAppenderModelCount(ch.qos.logback.core.model.SiftModel)"
    functionSourceFile: "ch.qos.logback.core.sift.SiftModelHandler"
    linkageType: null
    functionLinenumber: 81
    functionDepth: 2
    returnType: "long"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.SiftModel"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].getSubModels()"
    - "[ch.qos.logback.core.sift.SiftModelHandler$lambda_computeAppenderModelCount_0__93].bootstrap$()"
    - "[java.util.Collection].stream()"
    - "[java.util.stream.Stream].filter(java.util.function.Predicate)"
    - "[java.util.stream.Stream].count()"
    functionUses: 1
    ICount: 8
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.SiftModelHandler:82,1"
      Dst: "[ch.qos.logback.core.model.Model].getSubModels()"
    - Src: "ch.qos.logback.core.sift.SiftModelHandler:82,1"
      Dst: "[java.util.Collection].stream()"
    - Src: "ch.qos.logback.core.sift.SiftModelHandler:83,1"
      Dst: "[ch.qos.logback.core.sift.SiftModelHandler$lambda_computeAppenderModelCount_0__93].bootstrap$()"
    - Src: "ch.qos.logback.core.sift.SiftModelHandler:83,1"
      Dst: "[java.util.stream.Stream].filter(java.util.function.Predicate)"
    - Src: "ch.qos.logback.core.sift.SiftModelHandler:83,1"
      Dst: "[java.util.stream.Stream].count()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.SiftModelHandler].lambda$computeAppenderModelCount$0(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.sift.SiftModelHandler"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].<init>()"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: 48
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.NamedLoggerBase].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.NOPLogger:49,1"
      Dst: "[org.slf4j.helpers.NamedLoggerBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].getName()"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: 56
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].isTraceEnabled()"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: 65
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].trace(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].trace(java.lang.String,java.lang.Object)"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].trace(java.lang.String,java.lang.Object,java.lang.Object)"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].trace(java.lang.String,java.lang.Object[])"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].trace(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].isDebugEnabled()"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: 103
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].debug(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: 109
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].debug(java.lang.String,java.lang.Object)"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: 114
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].debug(java.lang.String,java.lang.Object,java.lang.Object)"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].debug(java.lang.String,java.lang.Object[])"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].debug(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].isInfoEnabled()"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: 137
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].info(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: 143
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 6
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].info(java.lang.String,java.lang.Object)"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].info(java.lang.String,java.lang.Object,java.lang.Object)"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].info(java.lang.String,java.lang.Object[])"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].info(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].isWarnEnabled()"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: 170
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].warn(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].warn(java.lang.String,java.lang.Object)"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].warn(java.lang.String,java.lang.Object,java.lang.Object)"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].warn(java.lang.String,java.lang.Object[])"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].warn(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].isErrorEnabled()"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: 200
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].error(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].error(java.lang.String,java.lang.Object)"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].error(java.lang.String,java.lang.Object,java.lang.Object)"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].error(java.lang.String,java.lang.Object[])"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].error(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: 226
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].isTraceEnabled(org.slf4j.Marker)"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "org.slf4j.Marker"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].trace(org.slf4j.Marker,java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].trace(org.slf4j.Marker,java.lang.String,java.lang.Object)"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].trace(org.slf4j.Marker,java.lang.String,java.lang.Object,java.lang.Object)"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 4
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].trace(org.slf4j.Marker,java.lang.String,java.lang.Object[])"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].trace(org.slf4j.Marker,java.lang.String,java.lang.Throwable)"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].isDebugEnabled(org.slf4j.Marker)"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "org.slf4j.Marker"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].debug(org.slf4j.Marker,java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].debug(org.slf4j.Marker,java.lang.String,java.lang.Object)"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].debug(org.slf4j.Marker,java.lang.String,java.lang.Object,java.lang.Object)"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 4
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].debug(org.slf4j.Marker,java.lang.String,java.lang.Object[])"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].debug(org.slf4j.Marker,java.lang.String,java.lang.Throwable)"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].isInfoEnabled(org.slf4j.Marker)"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "org.slf4j.Marker"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].info(org.slf4j.Marker,java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].info(org.slf4j.Marker,java.lang.String,java.lang.Object)"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].info(org.slf4j.Marker,java.lang.String,java.lang.Object,java.lang.Object)"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 4
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].info(org.slf4j.Marker,java.lang.String,java.lang.Object[])"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].info(org.slf4j.Marker,java.lang.String,java.lang.Throwable)"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].isWarnEnabled(org.slf4j.Marker)"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "org.slf4j.Marker"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].warn(org.slf4j.Marker,java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].warn(org.slf4j.Marker,java.lang.String,java.lang.Object)"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].warn(org.slf4j.Marker,java.lang.String,java.lang.Object,java.lang.Object)"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 4
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].warn(org.slf4j.Marker,java.lang.String,java.lang.Object[])"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].warn(org.slf4j.Marker,java.lang.String,java.lang.Throwable)"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].isErrorEnabled(org.slf4j.Marker)"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "org.slf4j.Marker"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].error(org.slf4j.Marker,java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].error(org.slf4j.Marker,java.lang.String,java.lang.Object)"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].error(org.slf4j.Marker,java.lang.String,java.lang.Object,java.lang.Object)"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 4
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].error(org.slf4j.Marker,java.lang.String,java.lang.Object[])"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLogger].error(org.slf4j.Marker,java.lang.String,java.lang.Throwable)"
    functionSourceFile: "org.slf4j.helpers.NOPLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_9__29].bootstrap$()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_9__29"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_9__29].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_9__29:-1,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_9__29].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_9__29].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_9__29"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_9__29:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_9__29].get()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_9__29"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator].lambda$addElementSelectorAndActionAssociations$9()"
    functionUses: 3
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_9__29:-1,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator].lambda$addElementSelectorAndActionAssociations$9()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator].lambda$addElementSelectorAndActionAssociations$9()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator"
    linkageType: null
    functionLinenumber: 61
    functionDepth: 1
    returnType: "ch.qos.logback.core.joran.action.Action"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.AppenderRefAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:62,1"
      Dst: "[ch.qos.logback.core.joran.action.AppenderRefAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.NopStatusListener].<init>()"
    functionSourceFile: "ch.qos.logback.core.status.NopStatusListener"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.NopStatusListener:22,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.NopStatusListener].addStatusEvent(ch.qos.logback.core.status.Status)"
    functionSourceFile: "ch.qos.logback.core.status.NopStatusListener"
    linkageType: null
    functionLinenumber: 25
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.status.Status"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__63].bootstrap$()"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__63"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__63].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__63:-1,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__63].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__63].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__63"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__63:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__63].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__63"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.model.processor.LevelModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__63:-1,1"
      Dst: "[ch.qos.logback.classic.model.processor.LevelModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.LevelModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.classic.model.processor.LevelModelHandler"
    linkageType: null
    functionLinenumber: 24
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.model.processor.LevelModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.LevelModelHandler:25,1"
      Dst: "[ch.qos.logback.classic.model.processor.LevelModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ModelConstants].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.ModelConstants"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.ModelConstants:18,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.color.BoldYellowCompositeConverter].<init>()"
    functionSourceFile: "ch.qos.logback.core.pattern.color.BoldYellowCompositeConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.color.ForegroundCompositeConverterBase].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.color.BoldYellowCompositeConverter:27,1"
      Dst: "[ch.qos.logback.core.pattern.color.ForegroundCompositeConverterBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.color.BoldYellowCompositeConverter].getForegroundColorCode(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.pattern.color.BoldYellowCompositeConverter"
    linkageType: null
    functionLinenumber: 30
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.LoggerNameUtil].<init>()"
    functionSourceFile: "ch.qos.logback.classic.util.LoggerNameUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LoggerNameUtil:24,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.LoggerNameUtil].getFirstSeparatorIndexOf(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.util.LoggerNameUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "int"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.util.LoggerNameUtil].getSeparatorIndexOf(java.lang.String,int)"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LoggerNameUtil:27,1"
      Dst: "[ch.qos.logback.classic.util.LoggerNameUtil].getSeparatorIndexOf(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.LoggerNameUtil].getSeparatorIndexOf(java.lang.String,int)"
    functionSourceFile: "ch.qos.logback.classic.util.LoggerNameUtil"
    linkageType: null
    functionLinenumber: 38
    functionDepth: 0
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].indexOf(int,int)"
    functionUses: 2
    ICount: 21
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.LoggerNameUtil:42"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.LoggerNameUtil:null"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.util.LoggerNameUtil:42"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.LoggerNameUtil:null"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.util.LoggerNameUtil:44"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.LoggerNameUtil:null"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.util.LoggerNameUtil:46"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.LoggerNameUtil:49"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.LoggerNameUtil:48"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.util.LoggerNameUtil:49"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.LoggerNameUtil:48"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LoggerNameUtil:39,1"
      Dst: "[java.lang.String].indexOf(int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 11
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.util.LoggerNameUtil].getSeparatorIndexOf(java.lang.String,int)"
    functionSourceFile: "ch.qos.logback.classic.util.LoggerNameUtil"
    linkageType: null
    functionLinenumber: 38
    functionDepth: 0
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].indexOf(int,int)"
    functionUses: 2
    ICount: 21
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.LoggerNameUtil:42"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.LoggerNameUtil:null"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.util.LoggerNameUtil:42"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.LoggerNameUtil:null"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.util.LoggerNameUtil:44"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.LoggerNameUtil:null"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.util.LoggerNameUtil:46"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.LoggerNameUtil:49"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.LoggerNameUtil:48"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.util.LoggerNameUtil:49"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.LoggerNameUtil:48"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LoggerNameUtil:39,1"
      Dst: "[java.lang.String].indexOf(int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 11
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.util.LoggerNameUtil].computeNameParts(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.util.LoggerNameUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.List"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>()"
    - "[ch.qos.logback.classic.util.LoggerNameUtil].getSeparatorIndexOf(java.lang.String,int)"
    - "[java.lang.String].substring(int)"
    - "[java.util.List].add(java.lang.Object)"
    - "[java.lang.String].substring(int,int)"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.LoggerNameUtil:58"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.LoggerNameUtil:62"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.LoggerNameUtil:61"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LoggerNameUtil:53,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.classic.util.LoggerNameUtil:57,1"
      Dst: "[ch.qos.logback.classic.util.LoggerNameUtil].getSeparatorIndexOf(java.lang.String,int)"
    - Src: "ch.qos.logback.classic.util.LoggerNameUtil:59,1"
      Dst: "[java.lang.String].substring(int)"
    - Src: "ch.qos.logback.classic.util.LoggerNameUtil:59,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "ch.qos.logback.classic.util.LoggerNameUtil:62,1"
      Dst: "[java.lang.String].substring(int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.util.LoggerNameUtil].getSeparatorIndexOf(java.lang.String,int)"
    functionSourceFile: "ch.qos.logback.classic.util.LoggerNameUtil"
    linkageType: null
    functionLinenumber: 38
    functionDepth: 0
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].indexOf(int,int)"
    functionUses: 2
    ICount: 21
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.LoggerNameUtil:42"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.LoggerNameUtil:null"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.util.LoggerNameUtil:42"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.LoggerNameUtil:null"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.util.LoggerNameUtil:44"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.LoggerNameUtil:null"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.util.LoggerNameUtil:46"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.LoggerNameUtil:49"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.LoggerNameUtil:48"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.util.LoggerNameUtil:49"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.LoggerNameUtil:48"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LoggerNameUtil:39,1"
      Dst: "[java.lang.String].indexOf(int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 11
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.sift.MDCBasedDiscriminator].<init>()"
    functionSourceFile: "ch.qos.logback.classic.sift.MDCBasedDiscriminator"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.sift.AbstractDiscriminator].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.sift.MDCBasedDiscriminator:31,1"
      Dst: "[ch.qos.logback.core.sift.AbstractDiscriminator].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.sift.MDCBasedDiscriminator].getDiscriminatingValue(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.sift.MDCBasedDiscriminator"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].getMDCPropertyMap()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getMDCPropertyMap()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getMDCPropertyMap()"
    - "[java.util.Map].get(java.lang.Object)"
    functionUses: 1
    ICount: 13
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.sift.MDCBasedDiscriminator:44"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.sift.MDCBasedDiscriminator:47"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.sift.MDCBasedDiscriminator:46"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.sift.MDCBasedDiscriminator:48"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.sift.MDCBasedDiscriminator:51"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.sift.MDCBasedDiscriminator:50"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.sift.MDCBasedDiscriminator:43,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getMDCPropertyMap()"
    - Src: "ch.qos.logback.classic.sift.MDCBasedDiscriminator:47,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.sift.MDCBasedDiscriminator].start()"
    functionSourceFile: "ch.qos.logback.classic.sift.MDCBasedDiscriminator"
    linkageType: null
    functionLinenumber: 56
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionUses: 5
    ICount: 15
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.sift.MDCBasedDiscriminator:58"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.sift.MDCBasedDiscriminator:62"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.sift.MDCBasedDiscriminator:61"
        BranchSideFuncs:
        - "isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Branch String: "ch.qos.logback.classic.sift.MDCBasedDiscriminator:62"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.sift.MDCBasedDiscriminator:66"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.sift.MDCBasedDiscriminator:65"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.sift.MDCBasedDiscriminator:66"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.sift.MDCBasedDiscriminator:69"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.sift.MDCBasedDiscriminator:68"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.sift.MDCBasedDiscriminator:58,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Src: "ch.qos.logback.classic.sift.MDCBasedDiscriminator:60,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 282
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    - "[java.lang.String].length()"
    functionUses: 62
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].length()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.sift.MDCBasedDiscriminator].getKey()"
    functionSourceFile: "ch.qos.logback.classic.sift.MDCBasedDiscriminator"
    linkageType: null
    functionLinenumber: 71
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.sift.MDCBasedDiscriminator].setKey(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.sift.MDCBasedDiscriminator"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.sift.MDCBasedDiscriminator].getDefaultValue()"
    functionSourceFile: "ch.qos.logback.classic.sift.MDCBasedDiscriminator"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.sift.MDCBasedDiscriminator].setDefaultValue(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.sift.MDCBasedDiscriminator"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.sift.MDCBasedDiscriminator].getDiscriminatingValue(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.sift.MDCBasedDiscriminator"
    linkageType: null
    functionLinenumber: 30
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.sift.MDCBasedDiscriminator].getDiscriminatingValue(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.sift.MDCBasedDiscriminator:31,1"
      Dst: "[ch.qos.logback.classic.sift.MDCBasedDiscriminator].getDiscriminatingValue(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.sift.MDCBasedDiscriminator].getDiscriminatingValue(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.sift.MDCBasedDiscriminator"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].getMDCPropertyMap()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getMDCPropertyMap()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getMDCPropertyMap()"
    - "[java.util.Map].get(java.lang.Object)"
    functionUses: 1
    ICount: 13
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.sift.MDCBasedDiscriminator:44"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.sift.MDCBasedDiscriminator:47"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.sift.MDCBasedDiscriminator:46"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.sift.MDCBasedDiscriminator:48"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.sift.MDCBasedDiscriminator:51"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.sift.MDCBasedDiscriminator:50"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.sift.MDCBasedDiscriminator:43,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getMDCPropertyMap()"
    - Src: "ch.qos.logback.classic.sift.MDCBasedDiscriminator:47,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor].<init>(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor"
    linkageType: null
    functionLinenumber: 49
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ChainedModelFilter].<init>()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[java.util.HashMap].<init>()"
    functionUses: 3
    ICount: 19
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:50,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:44,1"
      Dst: "[java.util.HashMap].<init>()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:47,1"
      Dst: "[ch.qos.logback.core.model.processor.ChainedModelFilter].<init>()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:51,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor].addHandler(java.lang.Class,ch.qos.logback.core.model.ModelHandlerFactoryMethod)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor"
    linkageType: null
    functionLinenumber: 56
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].determineProcessingPhase(java.lang.Class)"
    - "[ch.qos.logback.core.model.processor.ChainedModelFilter].allow(java.lang.Class)"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].getPhaseOneFilter()"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].getPhaseTwoFilter()"
    - "[java.util.HashMap].put(java.lang.Object,java.lang.Object)"
    - "[java.lang.Enum].ordinal()"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.model.processor.ProcessingPhase,java.lang.String)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 45
    ICount: 22
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:57,1"
      Dst: "[java.util.HashMap].put(java.lang.Object,java.lang.Object)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:59,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].determineProcessingPhase(java.lang.Class)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:60,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:62,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].getPhaseOneFilter()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:62,1"
      Dst: "[ch.qos.logback.core.model.processor.ChainedModelFilter].allow(java.lang.Class)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:65,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].getPhaseTwoFilter()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:68,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:68,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.model.processor.ProcessingPhase,java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:68,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor].determineProcessingPhase(java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor"
    linkageType: null
    functionLinenumber: 73
    functionDepth: 0
    returnType: "ch.qos.logback.core.model.processor.ProcessingPhase"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].getAnnotation(java.lang.Class)"
    - "[ch.qos.logback.core.model.processor.PhaseIndicator].phase()"
    functionUses: 1
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:75"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:79"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:78"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:74,1"
      Dst: "[java.lang.Class].getAnnotation(java.lang.Class)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:79,1"
      Dst: "[ch.qos.logback.core.model.processor.PhaseIndicator].phase()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor].addAnalyser(java.lang.Class,java.util.function.Supplier)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor"
    linkageType: null
    functionLinenumber: 83
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "java.util.function.Supplier"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashMap].put(java.lang.Object,java.lang.Object)"
    functionUses: 4
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:84,1"
      Dst: "[java.util.HashMap].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor].traversalLoop(ch.qos.logback.core.model.processor.DefaultProcessor$TraverseMethod,ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelFilter,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor"
    linkageType: null
    functionLinenumber: 88
    functionDepth: 0
    returnType: "void"
    argCount: 4
    argTypes:
    - "ch.qos.logback.core.model.processor.DefaultProcessor$TraverseMethod"
    - "ch.qos.logback.core.model.Model"
    - "ch.qos.logback.core.model.processor.ModelFilter"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.DefaultProcessor$secondPhaseTraverse__19].traverse(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelFilter)"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor$TraverseMethod].traverse(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelFilter)"
    functionUses: 1
    ICount: 13
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:89"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:94"
        BranchSideFuncs:
        - "traverse(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelFilter)"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:93"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:91"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:89"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:88"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:90,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor$TraverseMethod].traverse(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelFilter)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor].process(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor"
    linkageType: null
    functionLinenumber: 97
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].initialObjectPush()"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].getPhaseOneFilter()"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].mainTraverse(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelFilter)"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].analyseDependencies(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor$secondPhaseTraverse__19].bootstrap$(ch.qos.logback.core.model.processor.DefaultProcessor)"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].getPhaseTwoFilter()"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].traversalLoop(ch.qos.logback.core.model.processor.DefaultProcessor$TraverseMethod,ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelFilter,java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].finalObjectPop()"
    functionUses: 3
    ICount: 15
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:98"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:102"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:101"
        BranchSideFuncs:
        - "getPhaseTwoFilter()"
        - "initialObjectPush()"
        - "mainTraverse(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelFilter)"
        - "traversalLoop(ch.qos.logback.core.model.processor.DefaultProcessor$TraverseMethod,ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelFilter,java.lang.String)"
        - "finalObjectPop()"
        - "bootstrap$(ch.qos.logback.core.model.processor.DefaultProcessor)"
        - "getPhaseOneFilter()"
        - "analyseDependencies(ch.qos.logback.core.model.Model)"
        - "addInfo(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:99,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:102,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].initialObjectPush()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:104,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].getPhaseOneFilter()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:104,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].mainTraverse(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelFilter)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:105,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].analyseDependencies(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:106,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor$secondPhaseTraverse__19].bootstrap$(ch.qos.logback.core.model.processor.DefaultProcessor)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:106,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].getPhaseTwoFilter()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:106,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].traversalLoop(ch.qos.logback.core.model.processor.DefaultProcessor$TraverseMethod,ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelFilter,java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:108,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:109,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].finalObjectPop()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor].finalObjectPop()"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor"
    linkageType: null
    functionLinenumber: 112
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].popObject()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:113,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].popObject()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor].initialObjectPush()"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor"
    linkageType: null
    functionLinenumber: 116
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].pushObject(java.lang.Object)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:117,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].pushObject(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor].getPhaseOneFilter()"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor"
    linkageType: null
    functionLinenumber: 120
    functionDepth: 0
    returnType: "ch.qos.logback.core.model.processor.ChainedModelFilter"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor].getPhaseTwoFilter()"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor"
    linkageType: null
    functionLinenumber: 124
    functionDepth: 0
    returnType: "ch.qos.logback.core.model.processor.ChainedModelFilter"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor].analyseDependencies(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor"
    linkageType: null
    functionLinenumber: 129
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__46].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__49].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__48].get()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_1__21].get()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_6__26].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__40].get()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_2__22].get()"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_1__65].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__51].get()"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_3__67].get()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_12__32].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__39].get()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_11__31].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__35].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__53].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__44].get()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_9__29].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__47].get()"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_2__66].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__42].get()"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_0__64].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__52].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__37].get()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_4__24].get()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_8__28].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__34].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__43].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__41].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__33].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__36].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__54].get()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_0__20].get()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_7__27].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__38].get()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_5__25].get()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_3__23].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__50].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__45].get()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_10__30].get()"
    - "[ch.qos.logback.core.model.Model].isSkipped()"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].callAnalyserHandleOnModel(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelHandlerBase)"
    - "[ch.qos.logback.core.model.Model].getSubModels()"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].analyseDependencies(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].callAnalyserPostHandleOnModel(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelHandlerBase)"
    - "[java.lang.Object].getClass()"
    - "[java.util.HashMap].get(java.lang.Object)"
    - "[java.util.function.Supplier].get()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    functionUses: 2
    ICount: 27
    EdgeCount: 46
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:134"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:138"
        BranchSideFuncs:
        - "get()"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:137"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:138"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:142"
        BranchSideFuncs:
        - "callAnalyserHandleOnModel(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelHandlerBase)"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:141"
        BranchSideFuncs:
        - "iterator()"
        - "getSubModels()"
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:138"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:142"
        BranchSideFuncs:
        - "callAnalyserHandleOnModel(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelHandlerBase)"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:141"
        BranchSideFuncs:
        - "iterator()"
        - "getSubModels()"
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:142"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:146"
        BranchSideFuncs:
        - "iterator()"
        - "analyseDependencies(ch.qos.logback.core.model.Model)"
        - "getSubModels()"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:145"
        BranchSideFuncs:
        - "isSkipped()"
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:146"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:149"
        BranchSideFuncs:
        - "callAnalyserPostHandleOnModel(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelHandlerBase)"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:148"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:146"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:149"
        BranchSideFuncs:
        - "callAnalyserPostHandleOnModel(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelHandlerBase)"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:148"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:130,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:130,1"
      Dst: "[java.util.HashMap].get(java.lang.Object)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:135,1"
      Dst: "[java.util.function.Supplier].get()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:138,1"
      Dst: "[ch.qos.logback.core.model.Model].isSkipped()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:139,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].callAnalyserHandleOnModel(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelHandlerBase)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:142,1"
      Dst: "[ch.qos.logback.core.model.Model].getSubModels()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:142,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:142,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:142,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:143,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].analyseDependencies(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:147,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].callAnalyserPostHandleOnModel(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelHandlerBase)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 12
    CyclomaticComplexity: 7
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor].callAnalyserPostHandleOnModel(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelHandlerBase)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor"
    linkageType: null
    functionLinenumber: 152
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.Model"
    - "ch.qos.logback.core.model.processor.ModelHandlerBase"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.EventEvaluatorModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.RootLoggerModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.DefineModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.ShutdownHookModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.StatusListenerModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.conditional.IfModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.ImplicitModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.ReceiverModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.LoggerModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.AppenderModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.model.Model].getTag()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 11
    EdgeCount: 16
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:153,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:155,1"
      Dst: "[ch.qos.logback.core.model.Model].getTag()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:155,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:155,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor].callAnalyserHandleOnModel(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelHandlerBase)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor"
    linkageType: null
    functionLinenumber: 160
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.Model"
    - "ch.qos.logback.core.model.processor.ModelHandlerBase"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.conditional.ElseModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.joran.ParamModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.conditional.IfModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.LevelModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.sift.NOPSiftModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.ImportModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.RootLoggerModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.AppenderModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.AppenderRefDependencyAnalyser].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.ImplicitModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.LoggerModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.SerializeModelModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.PropertyModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.ReceiverModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.ShutdownHookModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.ConfigurationModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.TimestampModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.ContextNameModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.sift.SiftModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.StatusListenerModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.DefineModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.conditional.ThenModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.EventEvaluatorModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.AppenderRefModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.NOPModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.model.Model].getTag()"
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 11
    EdgeCount: 31
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:161,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:163,1"
      Dst: "[ch.qos.logback.core.model.Model].getTag()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:163,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:163,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor].createHandler(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor"
    linkageType: null
    functionLinenumber: 169
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.model.Model].getTag()"
    - "[ch.qos.logback.core.model.Model].getLineNumber()"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__60].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__56].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__12].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__62].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__9].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$makeInstance2__3].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__13].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__16].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__73].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__71].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__72].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__4].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__74].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__11].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__86].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__57].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__80].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__70].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__81].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__6].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__77].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__10].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__5].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__76].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__78].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__79].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__85].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__17].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__7].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__14].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__59].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__15].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__75].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__58].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__8].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__61].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__84].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__82].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__63].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__83].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__18].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser].isSupportedModelType(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].isSupportedModelType(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.model.Model].idString()"
    - "[java.lang.Object].getClass()"
    - "[java.util.HashMap].get(java.lang.Object)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Class,java.lang.String,int)"
    - "[ch.qos.logback.core.model.ModelHandlerFactoryMethod].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Class,java.lang.String)"
    functionUses: 2
    ICount: 26
    EdgeCount: 48
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:172"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:178"
        BranchSideFuncs:
        - "getTag()"
        - "addError(java.lang.String)"
        - "getLineNumber()"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:177"
        BranchSideFuncs:
        - "make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:179"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:181"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:180"
        BranchSideFuncs:
        - "isSupportedModelType(ch.qos.logback.core.model.Model)"
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:181"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:185"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
        - "idString()"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:184"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:170,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:170,1"
      Dst: "[java.util.HashMap].get(java.lang.Object)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:173,1"
      Dst: "[ch.qos.logback.core.model.Model].getTag()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:174,1"
      Dst: "[ch.qos.logback.core.model.Model].getLineNumber()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:174,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Class,java.lang.String,int)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:173,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:178,1"
      Dst: "[ch.qos.logback.core.model.ModelHandlerFactoryMethod].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:181,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].isSupportedModelType(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:182,1"
      Dst: "[ch.qos.logback.core.model.Model].idString()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:182,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Class,java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:182,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor].mainTraverse(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelFilter)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor"
    linkageType: null
    functionLinenumber: 189
    functionDepth: 3
    returnType: "int"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.Model"
    - "ch.qos.logback.core.model.processor.ModelFilter"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ChainedModelFilter].decide(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.DenyModelFilter].decide(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.DenyAllModelFilter].decide(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.AllowModelFilter].decide(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.AllowAllModelFilter].decide(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.Model].isUnhandled()"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].createHandler(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.conditional.ElseModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.joran.ParamModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.conditional.IfModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.LevelModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.ImportModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.RootLoggerModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.AppenderModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.AppenderRefDependencyAnalyser].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.ImplicitModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.LoggerModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.SerializeModelModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.PropertyModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.ReceiverModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.ShutdownHookModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.ConfigurationModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.TimestampModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.ContextNameModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.sift.SiftModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.StatusListenerModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.DefineModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.conditional.ThenModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.EventEvaluatorModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.AppenderRefModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.NOPModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.sift.NOPSiftModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.Model].markAsHandled()"
    - "[ch.qos.logback.core.model.Model].isSkipped()"
    - "[ch.qos.logback.core.model.Model].getSubModels()"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].mainTraverse(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelFilter)"
    - "[ch.qos.logback.classic.model.processor.RootLoggerModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.DefineModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.ShutdownHookModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.StatusListenerModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.conditional.IfModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.ImplicitModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.ReceiverModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.LoggerModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.AppenderModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.EventEvaluatorModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.model.Model].getTag()"
    - "[ch.qos.logback.core.model.processor.ModelFilter].decide(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 2
    ICount: 40
    EdgeCount: 57
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:191"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:194"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:193"
        BranchSideFuncs:
        - "isUnhandled()"
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:200"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:209"
        BranchSideFuncs:
        - "createHandler(ch.qos.logback.core.model.Model)"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:208"
        BranchSideFuncs:
        - "isSkipped()"
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:202"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:209"
        BranchSideFuncs:
        - "handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
        - "markAsHandled()"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:208"
        BranchSideFuncs:
        - "isSkipped()"
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:209"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:215"
        BranchSideFuncs:
        - "iterator()"
        - "getSubModels()"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:214"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:210"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:215"
        BranchSideFuncs:
        - "iterator()"
        - "mainTraverse(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelFilter)"
        - "getSubModels()"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:214"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:215"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:220"
        BranchSideFuncs:
        - "postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:219"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:215"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:220"
        BranchSideFuncs:
        - "postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:219"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:190,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelFilter].decide(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:198,1"
      Dst: "[ch.qos.logback.core.model.Model].isUnhandled()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:201,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].createHandler(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:203,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:204,1"
      Dst: "[ch.qos.logback.core.model.Model].markAsHandled()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:209,1"
      Dst: "[ch.qos.logback.core.model.Model].isSkipped()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:210,1"
      Dst: "[ch.qos.logback.core.model.Model].getSubModels()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:210,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:210,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:210,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:211,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].mainTraverse(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelFilter)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:216,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:219,1"
      Dst: "[ch.qos.logback.core.model.Model].getTag()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:219,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:219,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 15
    CyclomaticComplexity: 7
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor].secondPhaseTraverse(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelFilter)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor"
    linkageType: null
    functionLinenumber: 225
    functionDepth: 3
    returnType: "int"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.Model"
    - "ch.qos.logback.core.model.processor.ModelFilter"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ChainedModelFilter].decide(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.DenyModelFilter].decide(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.DenyAllModelFilter].decide(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.AllowModelFilter].decide(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.AllowAllModelFilter].decide(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].allDependenciesStarted(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.Model].isUnhandled()"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].createHandler(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.conditional.ElseModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.joran.ParamModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.conditional.IfModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.LevelModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.ImportModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.RootLoggerModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.AppenderModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.AppenderRefDependencyAnalyser].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.ImplicitModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.LoggerModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.SerializeModelModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.PropertyModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.ReceiverModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.ShutdownHookModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.ConfigurationModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.TimestampModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.ContextNameModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.sift.SiftModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.StatusListenerModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.DefineModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.conditional.ThenModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.EventEvaluatorModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.AppenderRefModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.NOPModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.sift.NOPSiftModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.Model].markAsHandled()"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].dependencyIsADirectSubmodel(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.Model].isSkipped()"
    - "[ch.qos.logback.core.model.Model].getSubModels()"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].secondPhaseTraverse(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelFilter)"
    - "[ch.qos.logback.classic.model.processor.RootLoggerModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.DefineModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.ShutdownHookModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.StatusListenerModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.LoggerContextListenerModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.conditional.IfModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.ImplicitModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.ReceiverModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.classic.model.processor.LoggerModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.AppenderModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.EventEvaluatorModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.model.Model].getTag()"
    - "[ch.qos.logback.core.model.processor.ModelFilter].decide(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 2
    ICount: 44
    EdgeCount: 59
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:227"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:231"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:230"
        BranchSideFuncs:
        - "isUnhandled()"
        - "allDependenciesStarted(ch.qos.logback.core.model.Model)"
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:238"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:247"
        BranchSideFuncs:
        - "createHandler(ch.qos.logback.core.model.Model)"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:246"
        BranchSideFuncs:
        - "dependencyIsADirectSubmodel(ch.qos.logback.core.model.Model)"
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:238"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:247"
        BranchSideFuncs:
        - "createHandler(ch.qos.logback.core.model.Model)"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:246"
        BranchSideFuncs:
        - "dependencyIsADirectSubmodel(ch.qos.logback.core.model.Model)"
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:240"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:247"
        BranchSideFuncs:
        - "handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
        - "markAsHandled()"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:246"
        BranchSideFuncs:
        - "dependencyIsADirectSubmodel(ch.qos.logback.core.model.Model)"
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:247"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:251"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:250"
        BranchSideFuncs:
        - "isSkipped()"
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:247"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:251"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:250"
        BranchSideFuncs:
        - "isSkipped()"
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:251"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:256"
        BranchSideFuncs:
        - "iterator()"
        - "getSubModels()"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:255"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:252"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:256"
        BranchSideFuncs:
        - "secondPhaseTraverse(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelFilter)"
        - "iterator()"
        - "getSubModels()"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:255"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:256"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:261"
        BranchSideFuncs:
        - "postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:260"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:226,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelFilter].decide(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:235,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].allDependenciesStarted(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:238,1"
      Dst: "[ch.qos.logback.core.model.Model].isUnhandled()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:239,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].createHandler(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:241,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:242,1"
      Dst: "[ch.qos.logback.core.model.Model].markAsHandled()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:247,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].dependencyIsADirectSubmodel(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:251,1"
      Dst: "[ch.qos.logback.core.model.Model].isSkipped()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:252,1"
      Dst: "[ch.qos.logback.core.model.Model].getSubModels()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:252,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:252,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:252,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:253,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].secondPhaseTraverse(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.processor.ModelFilter)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:257,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:260,1"
      Dst: "[ch.qos.logback.core.model.Model].getTag()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:260,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:260,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 18
    CyclomaticComplexity: 8
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor].dependencyIsADirectSubmodel(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor"
    linkageType: null
    functionLinenumber: 265
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getDependeeNamesForModel(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.util.COWArrayList].isEmpty()"
    - "[ch.qos.logback.core.model.Model].getSubModels()"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.model.NamedComponentModel].getName()"
    - "[ch.qos.logback.core.util.COWArrayList].contains(java.lang.Object)"
    - "[java.util.List].isEmpty()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.List].contains(java.lang.Object)"
    functionUses: 1
    ICount: 23
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:267"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:268"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:267"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:267"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:270"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:269"
        BranchSideFuncs:
        - "iterator()"
        - "getSubModels()"
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:270"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:280"
        BranchSideFuncs:
        - "iterator()"
        - "getSubModels()"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:279"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:271"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:278"
        BranchSideFuncs:
        - "contains(java.lang.Object)"
        - "getName()"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:277"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:274"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:278"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:277"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:266,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getDependeeNamesForModel(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:267,1"
      Dst: "[java.util.List].isEmpty()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:270,1"
      Dst: "[ch.qos.logback.core.model.Model].getSubModels()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:270,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:270,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:270,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:273,1"
      Dst: "[ch.qos.logback.core.model.NamedComponentModel].getName()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:274,1"
      Dst: "[java.util.List].contains(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor].allDependenciesStarted(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor"
    linkageType: null
    functionLinenumber: 283
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getDependeeNamesForModel(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.util.COWArrayList].isEmpty()"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].isNamedDependeeStarted(java.lang.String)"
    - "[java.util.List].isEmpty()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    functionUses: 1
    ICount: 19
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:286"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:287"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:286"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:286"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:289"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:288"
        BranchSideFuncs:
        - "iterator()"
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:289"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:295"
        BranchSideFuncs:
        - "iterator()"
        - "isNamedDependeeStarted(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:294"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:291"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:294"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:293"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:284,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getDependeeNamesForModel(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:286,1"
      Dst: "[java.util.List].isEmpty()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:289,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:289,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:289,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:290,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].isNamedDependeeStarted(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor].instantiateHandler(java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].getWithContextConstructor(java.lang.Class)"
    - "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].getWithContextAndBDCConstructor(java.lang.Class)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getBeanDescriptionCache()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Class)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionUses: 0
    ICount: 28
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:301"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:304"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:303"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.DefaultProcessor:305"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:308"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.DefaultProcessor:307"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:300,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].getWithContextConstructor(java.lang.Class)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:302,1"
      Dst: "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:304,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].getWithContextAndBDCConstructor(java.lang.Class)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:306,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getBeanDescriptionCache()"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:308,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Class)"
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:308,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor].getWithContextConstructor(java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.reflect.Constructor"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].getConstructor(java.lang.Class[])"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:320,1"
      Dst: "[java.lang.Class].getConstructor(java.lang.Class[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor].getWithContextAndBDCConstructor(java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.reflect.Constructor"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].getConstructor(java.lang.Class[])"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:330,1"
      Dst: "[java.lang.Class].getConstructor(java.lang.Class[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getBeanDescriptionCache()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 148
    functionDepth: 0
    returnType: "ch.qos.logback.core.joran.util.beans.BeanDescriptionCache"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor].getWithContextConstructor(java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.reflect.Constructor"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].getConstructor(java.lang.Class[])"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:320,1"
      Dst: "[java.lang.Class].getConstructor(java.lang.Class[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DefaultProcessor].getWithContextAndBDCConstructor(java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefaultProcessor"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.reflect.Constructor"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].getConstructor(java.lang.Class[])"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefaultProcessor:330,1"
      Dst: "[java.lang.Class].getConstructor(java.lang.Class[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.RelativeTimeConverter].<init>()"
    functionSourceFile: "ch.qos.logback.classic.pattern.RelativeTimeConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.ClassicConverter].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.RelativeTimeConverter:18,1"
      Dst: "[ch.qos.logback.classic.pattern.ClassicConverter].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.RelativeTimeConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.pattern.RelativeTimeConverter"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].getTimeStamp()"
    - "[ch.qos.logback.classic.spi.LoggerContextVO].getBirthTime()"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getLoggerContextVO()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getTimeStamp()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerContextVO()"
    - "[java.lang.Long].toString(long)"
    functionUses: 1
    ICount: 19
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.RelativeTimeConverter:28"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.RelativeTimeConverter:32"
        BranchSideFuncs:
        - "getLoggerContextVO()"
        - "getBirthTime()"
      - BranchSide: "ch.qos.logback.classic.pattern.RelativeTimeConverter:31"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.RelativeTimeConverter:24,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getTimeStamp()"
    - Src: "ch.qos.logback.classic.pattern.RelativeTimeConverter:30,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerContextVO()"
    - Src: "ch.qos.logback.classic.pattern.RelativeTimeConverter:30,1"
      Dst: "[ch.qos.logback.classic.spi.LoggerContextVO].getBirthTime()"
    - Src: "ch.qos.logback.classic.pattern.RelativeTimeConverter:30,1"
      Dst: "[java.lang.Long].toString(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggerContextVO].getBirthTime()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggerContextVO"
    linkageType: null
    functionLinenumber: 64
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.RelativeTimeConverter].convert(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.pattern.RelativeTimeConverter"
    linkageType: null
    functionLinenumber: 17
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.RelativeTimeConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 11
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.RelativeTimeConverter:18,1"
      Dst: "[ch.qos.logback.classic.pattern.RelativeTimeConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.RelativeTimeConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.pattern.RelativeTimeConverter"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].getTimeStamp()"
    - "[ch.qos.logback.classic.spi.LoggerContextVO].getBirthTime()"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getLoggerContextVO()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getTimeStamp()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerContextVO()"
    - "[java.lang.Long].toString(long)"
    functionUses: 1
    ICount: 19
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.RelativeTimeConverter:28"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.RelativeTimeConverter:32"
        BranchSideFuncs:
        - "getLoggerContextVO()"
        - "getBirthTime()"
      - BranchSide: "ch.qos.logback.classic.pattern.RelativeTimeConverter:31"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.RelativeTimeConverter:24,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getTimeStamp()"
    - Src: "ch.qos.logback.classic.pattern.RelativeTimeConverter:30,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerContextVO()"
    - Src: "ch.qos.logback.classic.pattern.RelativeTimeConverter:30,1"
      Dst: "[ch.qos.logback.classic.spi.LoggerContextVO].getBirthTime()"
    - Src: "ch.qos.logback.classic.pattern.RelativeTimeConverter:30,1"
      Dst: "[java.lang.Long].toString(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__79].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__79"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__79].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__79:-1,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__79].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__79].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__79"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__79:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__79].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__79"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.TimestampModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__79:-1,1"
      Dst: "[ch.qos.logback.core.model.processor.TimestampModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.TimestampModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.TimestampModelHandler"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.TimestampModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.TimestampModelHandler:35,1"
      Dst: "[ch.qos.logback.core.model.processor.TimestampModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.TimestampModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.TimestampModel"
    linkageType: null
    functionLinenumber: 17
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.NamedModel].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.TimestampModel:18,1"
      Dst: "[ch.qos.logback.core.model.NamedModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.TimestampModel].makeNewInstance()"
    functionSourceFile: "ch.qos.logback.core.model.TimestampModel"
    linkageType: null
    functionLinenumber: 29
    functionDepth: 3
    returnType: "ch.qos.logback.core.model.TimestampModel"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.TimestampModel].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.TimestampModel:30,1"
      Dst: "[ch.qos.logback.core.model.TimestampModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.TimestampModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.TimestampModel"
    linkageType: null
    functionLinenumber: 17
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.NamedModel].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.TimestampModel:18,1"
      Dst: "[ch.qos.logback.core.model.NamedModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.NamedModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.NamedModel"
    linkageType: null
    functionLinenumber: 17
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 5
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.NamedModel:18,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.TimestampModel].mirror(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.TimestampModel"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.NamedModel].mirror(ch.qos.logback.core.model.Model)"
    functionUses: 1
    ICount: 11
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.TimestampModel:36,1"
      Dst: "[ch.qos.logback.core.model.NamedModel].mirror(ch.qos.logback.core.model.Model)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.NamedModel].mirror(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.NamedModel"
    linkageType: null
    functionLinenumber: 30
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].mirror(ch.qos.logback.core.model.Model)"
    functionUses: 4
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.NamedModel:32,1"
      Dst: "[ch.qos.logback.core.model.Model].mirror(ch.qos.logback.core.model.Model)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.TimestampModel].getKey()"
    functionSourceFile: "ch.qos.logback.core.model.TimestampModel"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.NamedModel].getName()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.TimestampModel:43,1"
      Dst: "[ch.qos.logback.core.model.NamedModel].getName()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.TimestampModel].setKey(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.TimestampModel"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.NamedModel].setName(java.lang.String)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.TimestampModel:47,1"
      Dst: "[ch.qos.logback.core.model.NamedModel].setName(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.NamedModel].setName(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.NamedModel"
    linkageType: null
    functionLinenumber: 40
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.TimestampModel].getDatePattern()"
    functionSourceFile: "ch.qos.logback.core.model.TimestampModel"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.TimestampModel].setDatePattern(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.TimestampModel"
    linkageType: null
    functionLinenumber: 54
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.TimestampModel].getTimeReference()"
    functionSourceFile: "ch.qos.logback.core.model.TimestampModel"
    linkageType: null
    functionLinenumber: 58
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.TimestampModel].setTimeReference(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.TimestampModel"
    linkageType: null
    functionLinenumber: 62
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.TimestampModel].getScopeStr()"
    functionSourceFile: "ch.qos.logback.core.model.TimestampModel"
    linkageType: null
    functionLinenumber: 66
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.TimestampModel].setScopeStr(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.TimestampModel"
    linkageType: null
    functionLinenumber: 70
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.TimestampModel].hashCode()"
    functionSourceFile: "ch.qos.logback.core.model.TimestampModel"
    linkageType: null
    functionLinenumber: 76
    functionDepth: 2
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.NamedModel].hashCode()"
    - "[java.util.Objects].hash(java.lang.Object[])"
    functionUses: 5
    ICount: 13
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.TimestampModel:77,1"
      Dst: "[ch.qos.logback.core.model.NamedModel].hashCode()"
    - Src: "ch.qos.logback.core.model.TimestampModel:78,1"
      Dst: "[java.util.Objects].hash(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.NamedModel].hashCode()"
    functionSourceFile: "ch.qos.logback.core.model.NamedModel"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 1
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].hashCode()"
    - "[java.util.Objects].hash(java.lang.Object[])"
    functionUses: 8
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.NamedModel:47,1"
      Dst: "[ch.qos.logback.core.model.Model].hashCode()"
    - Src: "ch.qos.logback.core.model.NamedModel:48,1"
      Dst: "[java.util.Objects].hash(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.TimestampModel].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.model.TimestampModel"
    linkageType: null
    functionLinenumber: 83
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.NamedModel].equals(java.lang.Object)"
    - "[java.lang.Object].getClass()"
    - "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    functionUses: 6
    ICount: 28
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.TimestampModel:84"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.TimestampModel:86"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.TimestampModel:85"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "ch.qos.logback.core.model.TimestampModel:86"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.TimestampModel:88"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.TimestampModel:87"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.TimestampModel:88"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.TimestampModel:90"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.TimestampModel:89"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.TimestampModel:91"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.TimestampModel:-1"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.TimestampModel:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.TimestampModel:91"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.TimestampModel:-1"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.TimestampModel:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.TimestampModel:92"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.TimestampModel:-2"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.TimestampModel:86,1"
      Dst: "[ch.qos.logback.core.model.NamedModel].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.model.TimestampModel:88,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.model.TimestampModel:91,1"
      Dst: "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 12
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.model.NamedModel].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.model.NamedModel"
    linkageType: null
    functionLinenumber: 53
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].equals(java.lang.Object)"
    - "[java.lang.Object].getClass()"
    - "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    functionUses: 9
    ICount: 16
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.NamedModel:54"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.NamedModel:56"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.NamedModel:55"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "ch.qos.logback.core.model.NamedModel:56"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.NamedModel:58"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.NamedModel:57"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.NamedModel:58"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.NamedModel:60"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.NamedModel:59"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.NamedModel:56,1"
      Dst: "[ch.qos.logback.core.model.Model].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.model.NamedModel:58,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.model.NamedModel:61,1"
      Dst: "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.conditional.IfModelHandler$Branch].values()"
    functionSourceFile: "ch.qos.logback.core.model.processor.conditional.IfModelHandler$Branch"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.core.model.processor.conditional.IfModelHandler$Branch[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].clone()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.conditional.IfModelHandler$Branch:36,1"
      Dst: "[java.lang.Object].clone()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.conditional.IfModelHandler$Branch].valueOf(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.processor.conditional.IfModelHandler$Branch"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.core.model.processor.conditional.IfModelHandler$Branch"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.conditional.IfModelHandler$Branch:36,1"
      Dst: "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.conditional.IfModelHandler$Branch].<init>(java.lang.String,int)"
    functionSourceFile: "ch.qos.logback.core.model.processor.conditional.IfModelHandler$Branch"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].<init>(java.lang.String,int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.conditional.IfModelHandler$Branch:36,1"
      Dst: "[java.lang.Enum].<init>(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.conditional.IfModelHandler$Branch].$values()"
    functionSourceFile: "ch.qos.logback.core.model.processor.conditional.IfModelHandler$Branch"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.core.model.processor.conditional.IfModelHandler$Branch[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].<init>(ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 1
    returnType: "void"
    argCount: 4
    argTypes:
    - "ch.qos.logback.core.spi.ContextAware"
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>(ch.qos.logback.core.spi.ContextAware)"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].getContext()"
    - "[ch.qos.logback.core.pattern.DynamicConverter].getContext()"
    - "[ch.qos.logback.core.LayoutBase:ch.qos.logback.core.spi.ContextAwareBase:ch.qos.logback.core.spi.ContextAwareImpl].getContext()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAware].getContext()"
    functionUses: 16
    ICount: 13
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:33,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>(ch.qos.logback.core.spi.ContextAware)"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:34,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].getContext()"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:34,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].validateZeroAttributes()"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 40
    functionDepth: 2
    returnType: "ch.qos.logback.core.joran.action.PreconditionValidator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.xml.sax.helpers.AttributesImpl].getLength()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.joran.action.Action].getLineNumber(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext)"
    - "[org.xml.sax.Attributes].getLength()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int)"
    functionUses: 3
    ICount: 14
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.action.PreconditionValidator:41"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.PreconditionValidator:44"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.action.PreconditionValidator:43"
        BranchSideFuncs:
        - "getLength()"
    - Branch String: "ch.qos.logback.core.joran.action.PreconditionValidator:44"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.PreconditionValidator:48"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:44,1"
      Dst: "[org.xml.sax.Attributes].getLength()"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:46,1"
      Dst: "[ch.qos.logback.core.joran.action.Action].getLineNumber(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext)"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:46,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int)"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:45,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].validateClassAttribute()"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 53
    functionDepth: 3
    returnType: "ch.qos.logback.core.joran.action.PreconditionValidator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].generic(java.lang.String)"
    functionUses: 6
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:54,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].generic(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].validateNameAttribute()"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 57
    functionDepth: 3
    returnType: "ch.qos.logback.core.joran.action.PreconditionValidator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].generic(java.lang.String)"
    functionUses: 5
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:58,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].generic(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].validateValueAttribute()"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 61
    functionDepth: 3
    returnType: "ch.qos.logback.core.joran.action.PreconditionValidator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].generic(java.lang.String)"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:62,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].generic(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].validateRefAttribute()"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 65
    functionDepth: 3
    returnType: "ch.qos.logback.core.joran.action.PreconditionValidator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].generic(java.lang.String)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:66,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].generic(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].generic(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 69
    functionDepth: 2
    returnType: "ch.qos.logback.core.joran.action.PreconditionValidator"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.xml.sax.helpers.AttributesImpl].getValue(java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.joran.action.Action].getLineNumber(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext)"
    - "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,int)"
    functionUses: 7
    ICount: 13
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.action.PreconditionValidator:71"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.PreconditionValidator:75"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:70,1"
      Dst: "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:71,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:73,1"
      Dst: "[ch.qos.logback.core.joran.action.Action].getLineNumber(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext)"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:73,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,int)"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:72,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].generic(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 69
    functionDepth: 2
    returnType: "ch.qos.logback.core.joran.action.PreconditionValidator"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.xml.sax.helpers.AttributesImpl].getValue(java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.joran.action.Action].getLineNumber(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext)"
    - "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,int)"
    functionUses: 7
    ICount: 13
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.action.PreconditionValidator:71"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.PreconditionValidator:75"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:70,1"
      Dst: "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:71,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:73,1"
      Dst: "[ch.qos.logback.core.joran.action.Action].getLineNumber(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext)"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:73,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,int)"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:72,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].isValid()"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 79
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 16
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.status.InfoStatus"
    linkageType: null
    functionLinenumber: 17
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    functionUses: 15
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.InfoStatus:18,1"
      Dst: "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.status.InfoStatus"
    linkageType: null
    functionLinenumber: 21
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.InfoStatus:22,1"
      Dst: "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.QueueFactory].<init>()"
    functionSourceFile: "ch.qos.logback.core.net.QueueFactory"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.QueueFactory:24,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.QueueFactory].newLinkedBlockingDeque(int)"
    functionSourceFile: "ch.qos.logback.core.net.QueueFactory"
    linkageType: null
    functionLinenumber: 35
    functionDepth: 0
    returnType: "java.util.concurrent.LinkedBlockingDeque"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.LinkedBlockingDeque].<init>(int)"
    functionUses: 1
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.QueueFactory:36"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.QueueFactory:36"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.QueueFactory:35"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.QueueFactory:37,1"
      Dst: "[java.util.concurrent.LinkedBlockingDeque].<init>(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.layout.EchoLayout].<init>()"
    functionSourceFile: "ch.qos.logback.core.layout.EchoLayout"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.LayoutBase].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.layout.EchoLayout:24,1"
      Dst: "[ch.qos.logback.core.LayoutBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.layout.EchoLayout].doLayout(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.layout.EchoLayout"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Object,java.lang.String)"
    functionUses: 5
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.layout.EchoLayout:27,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Object,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].<init>()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean"
    linkageType: null
    functionLinenumber: 40
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:41,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].createContext(ch.qos.logback.core.spi.ContextAware)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean"
    linkageType: null
    functionLinenumber: 79
    functionDepth: 6
    returnType: "javax.net.ssl.SSLContext"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.spi.ContextAware"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].getProtocol()"
    - "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].getProvider()"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].createKeyManagers(ch.qos.logback.core.spi.ContextAware)"
    - "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].createTrustManagers(ch.qos.logback.core.spi.ContextAware)"
    - "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].createSecureRandom(ch.qos.logback.core.spi.ContextAware)"
    - "[javax.net.ssl.SSLContext].getInstance(java.lang.String,java.lang.String)"
    - "[javax.net.ssl.SSLContext].getInstance(java.lang.String)"
    - "[javax.net.ssl.SSLContext].getProtocol()"
    - "[javax.net.ssl.SSLContext].getProvider()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.security.Provider)"
    - "[ch.qos.logback.core.spi.ContextAware].addInfo(java.lang.String)"
    - "[javax.net.ssl.SSLContext].init(javax.net.ssl.KeyManager[],javax.net.ssl.TrustManager[],java.security.SecureRandom)"
    functionUses: 4
    ICount: 19
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:80"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:81"
        BranchSideFuncs:
        - "getProtocol()"
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:80"
        BranchSideFuncs:
        - "getProtocol()"
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:80,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].getProvider()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:80,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].getProtocol()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:80,1"
      Dst: "[javax.net.ssl.SSLContext].getInstance(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:81,1"
      Dst: "[javax.net.ssl.SSLContext].getInstance(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:83,1"
      Dst: "[javax.net.ssl.SSLContext].getProtocol()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:83,1"
      Dst: "[javax.net.ssl.SSLContext].getProvider()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:83,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.security.Provider)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:83,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:85,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].createKeyManagers(ch.qos.logback.core.spi.ContextAware)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:86,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].createTrustManagers(ch.qos.logback.core.spi.ContextAware)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:87,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].createSecureRandom(ch.qos.logback.core.spi.ContextAware)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:88,1"
      Dst: "[javax.net.ssl.SSLContext].init(javax.net.ssl.KeyManager[],javax.net.ssl.TrustManager[],java.security.SecureRandom)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].getProvider()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean"
    linkageType: null
    functionLinenumber: 339
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].getProtocol()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean"
    linkageType: null
    functionLinenumber: 316
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 6
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:317"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:320"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:319"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].createKeyManagers(ch.qos.logback.core.spi.ContextAware)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean"
    linkageType: null
    functionLinenumber: 108
    functionDepth: 5
    returnType: "javax.net.ssl.KeyManager[]"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.spi.ContextAware"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].getKeyStore()"
    - "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].createKeyStore()"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].getLocation()"
    - "[ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean].createKeyManagerFactory()"
    - "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].getKeyManagerFactory()"
    - "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].getPassword()"
    - "[java.security.KeyStore].getType()"
    - "[java.security.KeyStore].getProvider()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.security.Provider,java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAware].addInfo(java.lang.String)"
    - "[javax.net.ssl.KeyManagerFactory].getAlgorithm()"
    - "[javax.net.ssl.KeyManagerFactory].getProvider()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.security.Provider)"
    - "[java.lang.String].toCharArray()"
    - "[javax.net.ssl.KeyManagerFactory].init(java.security.KeyStore,char[])"
    - "[javax.net.ssl.KeyManagerFactory].getKeyManagers()"
    functionUses: 1
    ICount: 25
    EdgeCount: 17
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:109"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:112"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:111"
        BranchSideFuncs:
        - "getKeyStore()"
        - "getPassword()"
        - "getKeyManagerFactory()"
        - "createKeyStore()"
        - "getLocation()"
        - "createKeyManagerFactory()"
        - "addInfo(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:109,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].getKeyStore()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:112,1"
      Dst: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].createKeyStore()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:113,1"
      Dst: "[java.security.KeyStore].getType()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:113,1"
      Dst: "[java.security.KeyStore].getProvider()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:114,1"
      Dst: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].getLocation()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:114,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.security.Provider,java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:113,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:116,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].getKeyManagerFactory()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:116,1"
      Dst: "[ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean].createKeyManagerFactory()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:117,1"
      Dst: "[javax.net.ssl.KeyManagerFactory].getAlgorithm()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:117,1"
      Dst: "[javax.net.ssl.KeyManagerFactory].getProvider()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:117,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.security.Provider)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:119,1"
      Dst: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].getPassword()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:119,1"
      Dst: "[java.lang.String].toCharArray()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:120,1"
      Dst: "[javax.net.ssl.KeyManagerFactory].init(java.security.KeyStore,char[])"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:121,1"
      Dst: "[javax.net.ssl.KeyManagerFactory].getKeyManagers()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].getKeyStore()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean"
    linkageType: null
    functionLinenumber: 172
    functionDepth: 2
    returnType: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].keyStoreFromSystemProperties(java.lang.String)"
    functionUses: 4
    ICount: 7
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:173"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:176"
        BranchSideFuncs:
        - "keyStoreFromSystemProperties(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:175"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:174,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].keyStoreFromSystemProperties(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].keyStoreFromSystemProperties(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean"
    linkageType: null
    functionLinenumber: 217
    functionDepth: 1
    returnType: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].<init>()"
    - "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].locationFromSystemProperty(java.lang.String)"
    - "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].setLocation(java.lang.String)"
    - "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].setProvider(java.lang.String)"
    - "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].setPassword(java.lang.String)"
    - "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].setType(java.lang.String)"
    - "[java.lang.System].getProperty(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 2
    ICount: 19
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:218"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:220"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:219"
        BranchSideFuncs:
        - "setPassword(java.lang.String)"
        - "locationFromSystemProperty(java.lang.String)"
        - "<init>()"
        - "setType(java.lang.String)"
        - "setProvider(java.lang.String)"
        - "setLocation(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:218,1"
      Dst: "[java.lang.System].getProperty(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:220,1"
      Dst: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].<init>()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:221,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].locationFromSystemProperty(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:221,1"
      Dst: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].setLocation(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:222,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:222,1"
      Dst: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].setProvider(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:223,1"
      Dst: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].setPassword(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:224,1"
      Dst: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].setType(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].<init>()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:35,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].locationFromSystemProperty(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean"
    linkageType: null
    functionLinenumber: 235
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].getProperty(java.lang.String)"
    - "[java.lang.String].startsWith(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:237"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:240"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:239"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:237"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:240"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:239"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:236,1"
      Dst: "[java.lang.System].getProperty(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:237,1"
      Dst: "[java.lang.String].startsWith(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:238,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].setLocation(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean"
    linkageType: null
    functionLinenumber: 115
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].setProvider(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean"
    linkageType: null
    functionLinenumber: 159
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].setPassword(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean"
    linkageType: null
    functionLinenumber: 181
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].setType(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean"
    linkageType: null
    functionLinenumber: 141
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].createKeyStore()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean"
    linkageType: null
    functionLinenumber: 59
    functionDepth: 4
    returnType: "java.security.KeyStore"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].getLocation()"
    - "[ch.qos.logback.core.util.LocationUtil].urlForResource(java.lang.String)"
    - "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].newKeyStore()"
    - "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].getPassword()"
    - "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].getProvider()"
    - "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].getType()"
    - "[ch.qos.logback.core.encoder.NonClosableInputStream:ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:org.xml.sax.SAXException].getLocation()"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.net.URL].openStream()"
    - "[java.lang.String].toCharArray()"
    - "[java.security.KeyStore].load(java.io.InputStream,char[])"
    - "[java.io.InputStream].close()"
    - "[java.lang.Throwable].printStackTrace(java.io.PrintStream)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.security.NoSuchProviderException].<init>(java.lang.String)"
    - "[java.security.NoSuchAlgorithmException].<init>(java.lang.String)"
    - "[java.security.KeyStoreException].<init>(java.lang.String)"
    - "[java.lang.Throwable].getMessage()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - "[java.security.KeyStoreException].<init>(java.lang.String,java.lang.Throwable)"
    functionUses: 2
    ICount: 57
    EdgeCount: 9
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:60"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:64"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:63"
        BranchSideFuncs:
        - "getProvider()"
        - "urlForResource(java.lang.String)"
        - "getPassword()"
        - "getType()"
        - "getLocation()"
        - "newKeyStore()"
    - Branch String: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:81"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:86"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:85"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:81"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:86"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:85"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:60,1"
      Dst: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].getLocation()"
    - Src: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:61,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:66,1"
      Dst: "[ch.qos.logback.core.util.LocationUtil].urlForResource(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:67,1"
      Dst: "[java.net.URL].openStream()"
    - Src: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:68,1"
      Dst: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].newKeyStore()"
    - Src: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:69,1"
      Dst: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].getPassword()"
    - Src: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:69,1"
      Dst: "[java.lang.String].toCharArray()"
    - Src: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:69,1"
      Dst: "[java.security.KeyStore].load(java.io.InputStream,char[])"
    - Src: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:82,1"
      Dst: "[java.io.InputStream].close()"
    - Src: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:85,1"
      Dst: "[java.lang.Throwable].printStackTrace(java.io.PrintStream)"
    - Src: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:72,1"
      Dst: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].getProvider()"
    - Src: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:72,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:72,1"
      Dst: "[java.security.NoSuchProviderException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:74,1"
      Dst: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].getType()"
    - Src: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:74,1"
      Dst: "[java.security.NoSuchAlgorithmException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:76,1"
      Dst: "[java.security.KeyStoreException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:78,1"
      Dst: "[java.lang.Throwable].getMessage()"
    - Src: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:78,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:78,1"
      Dst: "[java.security.KeyStoreException].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 16
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].getLocation()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 6
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].getKeyManagerFactory()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean"
    linkageType: null
    functionLinenumber: 271
    functionDepth: 1
    returnType: "ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean].<init>()"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:272"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:275"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:274"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:273,1"
      Dst: "[ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean].<init>()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean:29,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean].createKeyManagerFactory()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean"
    linkageType: null
    functionLinenumber: 48
    functionDepth: 1
    returnType: "javax.net.ssl.KeyManagerFactory"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean].getAlgorithm()"
    - "[ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean].getProvider()"
    - "[javax.net.ssl.KeyManagerFactory].getInstance(java.lang.String,java.lang.String)"
    - "[javax.net.ssl.KeyManagerFactory].getInstance(java.lang.String)"
    functionUses: 1
    ICount: 10
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean:49"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean:50"
        BranchSideFuncs:
        - "getAlgorithm()"
      - BranchSide: "ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean:49"
        BranchSideFuncs:
        - "getAlgorithm()"
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean:49,1"
      Dst: "[ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean].getProvider()"
    - Src: "ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean:49,1"
      Dst: "[ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean].getAlgorithm()"
    - Src: "ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean:49,1"
      Dst: "[javax.net.ssl.KeyManagerFactory].getInstance(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean:50,1"
      Dst: "[javax.net.ssl.KeyManagerFactory].getInstance(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].getPassword()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean"
    linkageType: null
    functionLinenumber: 169
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 6
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:170"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:173"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean:172"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].createTrustManagers(ch.qos.logback.core.spi.ContextAware)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean"
    linkageType: null
    functionLinenumber: 141
    functionDepth: 5
    returnType: "javax.net.ssl.TrustManager[]"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.spi.ContextAware"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].getTrustStore()"
    - "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].createKeyStore()"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].getLocation()"
    - "[ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean].createTrustManagerFactory()"
    - "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].getTrustManagerFactory()"
    - "[java.security.KeyStore].getType()"
    - "[java.security.KeyStore].getProvider()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.security.Provider,java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAware].addInfo(java.lang.String)"
    - "[javax.net.ssl.TrustManagerFactory].getAlgorithm()"
    - "[javax.net.ssl.TrustManagerFactory].getProvider()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.security.Provider)"
    - "[javax.net.ssl.TrustManagerFactory].init(java.security.KeyStore)"
    - "[javax.net.ssl.TrustManagerFactory].getTrustManagers()"
    functionUses: 1
    ICount: 22
    EdgeCount: 15
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:142"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:145"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:144"
        BranchSideFuncs:
        - "createKeyStore()"
        - "getTrustStore()"
        - "getLocation()"
        - "createTrustManagerFactory()"
        - "addInfo(java.lang.String)"
        - "getTrustManagerFactory()"
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:142,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].getTrustStore()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:145,1"
      Dst: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].createKeyStore()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:146,1"
      Dst: "[java.security.KeyStore].getType()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:146,1"
      Dst: "[java.security.KeyStore].getProvider()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:147,1"
      Dst: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].getLocation()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:147,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.security.Provider,java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:146,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:149,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].getTrustManagerFactory()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:149,1"
      Dst: "[ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean].createTrustManagerFactory()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:150,1"
      Dst: "[javax.net.ssl.TrustManagerFactory].getAlgorithm()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:150,1"
      Dst: "[javax.net.ssl.TrustManagerFactory].getProvider()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:150,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.security.Provider)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:152,1"
      Dst: "[javax.net.ssl.TrustManagerFactory].init(java.security.KeyStore)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:153,1"
      Dst: "[javax.net.ssl.TrustManagerFactory].getTrustManagers()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].getTrustStore()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean"
    linkageType: null
    functionLinenumber: 194
    functionDepth: 2
    returnType: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].keyStoreFromSystemProperties(java.lang.String)"
    functionUses: 3
    ICount: 7
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:195"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:198"
        BranchSideFuncs:
        - "keyStoreFromSystemProperties(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:197"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:196,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].keyStoreFromSystemProperties(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].getTrustManagerFactory()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean"
    linkageType: null
    functionLinenumber: 293
    functionDepth: 1
    returnType: "ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean].<init>()"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:294"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:297"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:296"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:295,1"
      Dst: "[ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean].<init>()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean:29,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean].createTrustManagerFactory()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean"
    linkageType: null
    functionLinenumber: 48
    functionDepth: 1
    returnType: "javax.net.ssl.TrustManagerFactory"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean].getAlgorithm()"
    - "[ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean].getProvider()"
    - "[javax.net.ssl.TrustManagerFactory].getInstance(java.lang.String,java.lang.String)"
    - "[javax.net.ssl.TrustManagerFactory].getInstance(java.lang.String)"
    functionUses: 1
    ICount: 10
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean:49"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean:50"
        BranchSideFuncs:
        - "getAlgorithm()"
      - BranchSide: "ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean:49"
        BranchSideFuncs:
        - "getAlgorithm()"
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean:49,1"
      Dst: "[ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean].getProvider()"
    - Src: "ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean:49,1"
      Dst: "[ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean].getAlgorithm()"
    - Src: "ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean:49,1"
      Dst: "[javax.net.ssl.TrustManagerFactory].getInstance(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean:50,1"
      Dst: "[javax.net.ssl.TrustManagerFactory].getInstance(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean].getProvider()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean"
    linkageType: null
    functionLinenumber: 83
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean].getAlgorithm()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean"
    linkageType: null
    functionLinenumber: 60
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.net.ssl.TrustManagerFactory].getDefaultAlgorithm()"
    functionUses: 2
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean:64"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean:63"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean:62,1"
      Dst: "[javax.net.ssl.TrustManagerFactory].getDefaultAlgorithm()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].createSecureRandom(ch.qos.logback.core.spi.ContextAware)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean"
    linkageType: null
    functionLinenumber: 158
    functionDepth: 2
    returnType: "java.security.SecureRandom"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.spi.ContextAware"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.SecureRandomFactoryBean].createSecureRandom()"
    - "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].getSecureRandom()"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[java.security.SecureRandom].getAlgorithm()"
    - "[java.security.SecureRandom].getProvider()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.security.Provider)"
    - "[ch.qos.logback.core.spi.ContextAware].addInfo(java.lang.String)"
    functionUses: 1
    ICount: 9
    EdgeCount: 6
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:159,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].getSecureRandom()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:159,1"
      Dst: "[ch.qos.logback.core.net.ssl.SecureRandomFactoryBean].createSecureRandom()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:160,1"
      Dst: "[java.security.SecureRandom].getAlgorithm()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:161,1"
      Dst: "[java.security.SecureRandom].getProvider()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:161,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.security.Provider)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:160,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].addInfo(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].getSecureRandom()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean"
    linkageType: null
    functionLinenumber: 249
    functionDepth: 1
    returnType: "ch.qos.logback.core.net.ssl.SecureRandomFactoryBean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.SecureRandomFactoryBean].<init>()"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:250"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:253"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:252"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:251,1"
      Dst: "[ch.qos.logback.core.net.ssl.SecureRandomFactoryBean].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SecureRandomFactoryBean].<init>()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SecureRandomFactoryBean"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SecureRandomFactoryBean:28,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SecureRandomFactoryBean].createSecureRandom()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SecureRandomFactoryBean"
    linkageType: null
    functionLinenumber: 48
    functionDepth: 1
    returnType: "java.security.SecureRandom"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.SecureRandomFactoryBean].getAlgorithm()"
    - "[ch.qos.logback.core.net.ssl.SecureRandomFactoryBean].getProvider()"
    - "[java.security.SecureRandom].getInstance(java.lang.String,java.lang.String)"
    - "[java.security.SecureRandom].getInstance(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.security.NoSuchProviderException].<init>(java.lang.String)"
    - "[java.security.NoSuchAlgorithmException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 22
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.SecureRandomFactoryBean:49"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SecureRandomFactoryBean:50"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.ssl.SecureRandomFactoryBean:49"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SecureRandomFactoryBean:49,1"
      Dst: "[ch.qos.logback.core.net.ssl.SecureRandomFactoryBean].getProvider()"
    - Src: "ch.qos.logback.core.net.ssl.SecureRandomFactoryBean:49,1"
      Dst: "[ch.qos.logback.core.net.ssl.SecureRandomFactoryBean].getAlgorithm()"
    - Src: "ch.qos.logback.core.net.ssl.SecureRandomFactoryBean:49,1"
      Dst: "[java.security.SecureRandom].getInstance(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SecureRandomFactoryBean:50,1"
      Dst: "[java.security.SecureRandom].getInstance(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SecureRandomFactoryBean:52,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SecureRandomFactoryBean:52,1"
      Dst: "[java.security.NoSuchProviderException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SecureRandomFactoryBean:54,1"
      Dst: "[java.security.NoSuchAlgorithmException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].createKeyManagers(ch.qos.logback.core.spi.ContextAware)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean"
    linkageType: null
    functionLinenumber: 108
    functionDepth: 5
    returnType: "javax.net.ssl.KeyManager[]"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.spi.ContextAware"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].getKeyStore()"
    - "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].createKeyStore()"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].getLocation()"
    - "[ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean].createKeyManagerFactory()"
    - "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].getKeyManagerFactory()"
    - "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].getPassword()"
    - "[java.security.KeyStore].getType()"
    - "[java.security.KeyStore].getProvider()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.security.Provider,java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAware].addInfo(java.lang.String)"
    - "[javax.net.ssl.KeyManagerFactory].getAlgorithm()"
    - "[javax.net.ssl.KeyManagerFactory].getProvider()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.security.Provider)"
    - "[java.lang.String].toCharArray()"
    - "[javax.net.ssl.KeyManagerFactory].init(java.security.KeyStore,char[])"
    - "[javax.net.ssl.KeyManagerFactory].getKeyManagers()"
    functionUses: 1
    ICount: 25
    EdgeCount: 17
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:109"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:112"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:111"
        BranchSideFuncs:
        - "getKeyStore()"
        - "getPassword()"
        - "getKeyManagerFactory()"
        - "createKeyStore()"
        - "getLocation()"
        - "createKeyManagerFactory()"
        - "addInfo(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:109,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].getKeyStore()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:112,1"
      Dst: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].createKeyStore()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:113,1"
      Dst: "[java.security.KeyStore].getType()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:113,1"
      Dst: "[java.security.KeyStore].getProvider()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:114,1"
      Dst: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].getLocation()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:114,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.security.Provider,java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:113,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:116,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].getKeyManagerFactory()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:116,1"
      Dst: "[ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean].createKeyManagerFactory()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:117,1"
      Dst: "[javax.net.ssl.KeyManagerFactory].getAlgorithm()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:117,1"
      Dst: "[javax.net.ssl.KeyManagerFactory].getProvider()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:117,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.security.Provider)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:119,1"
      Dst: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].getPassword()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:119,1"
      Dst: "[java.lang.String].toCharArray()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:120,1"
      Dst: "[javax.net.ssl.KeyManagerFactory].init(java.security.KeyStore,char[])"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:121,1"
      Dst: "[javax.net.ssl.KeyManagerFactory].getKeyManagers()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].createTrustManagers(ch.qos.logback.core.spi.ContextAware)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean"
    linkageType: null
    functionLinenumber: 141
    functionDepth: 5
    returnType: "javax.net.ssl.TrustManager[]"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.spi.ContextAware"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].getTrustStore()"
    - "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].createKeyStore()"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].getLocation()"
    - "[ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean].createTrustManagerFactory()"
    - "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].getTrustManagerFactory()"
    - "[java.security.KeyStore].getType()"
    - "[java.security.KeyStore].getProvider()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.security.Provider,java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAware].addInfo(java.lang.String)"
    - "[javax.net.ssl.TrustManagerFactory].getAlgorithm()"
    - "[javax.net.ssl.TrustManagerFactory].getProvider()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.security.Provider)"
    - "[javax.net.ssl.TrustManagerFactory].init(java.security.KeyStore)"
    - "[javax.net.ssl.TrustManagerFactory].getTrustManagers()"
    functionUses: 1
    ICount: 22
    EdgeCount: 15
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:142"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:145"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:144"
        BranchSideFuncs:
        - "createKeyStore()"
        - "getTrustStore()"
        - "getLocation()"
        - "createTrustManagerFactory()"
        - "addInfo(java.lang.String)"
        - "getTrustManagerFactory()"
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:142,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].getTrustStore()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:145,1"
      Dst: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].createKeyStore()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:146,1"
      Dst: "[java.security.KeyStore].getType()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:146,1"
      Dst: "[java.security.KeyStore].getProvider()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:147,1"
      Dst: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].getLocation()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:147,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.security.Provider,java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:146,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:149,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].getTrustManagerFactory()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:149,1"
      Dst: "[ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean].createTrustManagerFactory()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:150,1"
      Dst: "[javax.net.ssl.TrustManagerFactory].getAlgorithm()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:150,1"
      Dst: "[javax.net.ssl.TrustManagerFactory].getProvider()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:150,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.security.Provider)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:152,1"
      Dst: "[javax.net.ssl.TrustManagerFactory].init(java.security.KeyStore)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:153,1"
      Dst: "[javax.net.ssl.TrustManagerFactory].getTrustManagers()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].createSecureRandom(ch.qos.logback.core.spi.ContextAware)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean"
    linkageType: null
    functionLinenumber: 158
    functionDepth: 2
    returnType: "java.security.SecureRandom"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.spi.ContextAware"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.SecureRandomFactoryBean].createSecureRandom()"
    - "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].getSecureRandom()"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[java.security.SecureRandom].getAlgorithm()"
    - "[java.security.SecureRandom].getProvider()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.security.Provider)"
    - "[ch.qos.logback.core.spi.ContextAware].addInfo(java.lang.String)"
    functionUses: 1
    ICount: 9
    EdgeCount: 6
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:159,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].getSecureRandom()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:159,1"
      Dst: "[ch.qos.logback.core.net.ssl.SecureRandomFactoryBean].createSecureRandom()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:160,1"
      Dst: "[java.security.SecureRandom].getAlgorithm()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:161,1"
      Dst: "[java.security.SecureRandom].getProvider()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:161,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.security.Provider)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:160,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].addInfo(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].getKeyStore()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean"
    linkageType: null
    functionLinenumber: 172
    functionDepth: 2
    returnType: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].keyStoreFromSystemProperties(java.lang.String)"
    functionUses: 4
    ICount: 7
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:173"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:176"
        BranchSideFuncs:
        - "keyStoreFromSystemProperties(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:175"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:174,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].keyStoreFromSystemProperties(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].setKeyStore(ch.qos.logback.core.net.ssl.KeyStoreFactoryBean)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].getTrustStore()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean"
    linkageType: null
    functionLinenumber: 194
    functionDepth: 2
    returnType: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].keyStoreFromSystemProperties(java.lang.String)"
    functionUses: 3
    ICount: 7
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:195"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:198"
        BranchSideFuncs:
        - "keyStoreFromSystemProperties(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:197"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:196,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].keyStoreFromSystemProperties(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].setTrustStore(ch.qos.logback.core.net.ssl.KeyStoreFactoryBean)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].keyStoreFromSystemProperties(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean"
    linkageType: null
    functionLinenumber: 217
    functionDepth: 1
    returnType: "ch.qos.logback.core.net.ssl.KeyStoreFactoryBean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].<init>()"
    - "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].locationFromSystemProperty(java.lang.String)"
    - "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].setLocation(java.lang.String)"
    - "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].setProvider(java.lang.String)"
    - "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].setPassword(java.lang.String)"
    - "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].setType(java.lang.String)"
    - "[java.lang.System].getProperty(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 2
    ICount: 19
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:218"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:220"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:219"
        BranchSideFuncs:
        - "setPassword(java.lang.String)"
        - "locationFromSystemProperty(java.lang.String)"
        - "<init>()"
        - "setType(java.lang.String)"
        - "setProvider(java.lang.String)"
        - "setLocation(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:218,1"
      Dst: "[java.lang.System].getProperty(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:220,1"
      Dst: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].<init>()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:221,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].locationFromSystemProperty(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:221,1"
      Dst: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].setLocation(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:222,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:222,1"
      Dst: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].setProvider(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:223,1"
      Dst: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].setPassword(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:224,1"
      Dst: "[ch.qos.logback.core.net.ssl.KeyStoreFactoryBean].setType(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].locationFromSystemProperty(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean"
    linkageType: null
    functionLinenumber: 235
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].getProperty(java.lang.String)"
    - "[java.lang.String].startsWith(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:237"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:240"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:239"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:237"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:240"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:239"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:236,1"
      Dst: "[java.lang.System].getProperty(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:237,1"
      Dst: "[java.lang.String].startsWith(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:238,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].getSecureRandom()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean"
    linkageType: null
    functionLinenumber: 249
    functionDepth: 1
    returnType: "ch.qos.logback.core.net.ssl.SecureRandomFactoryBean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.SecureRandomFactoryBean].<init>()"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:250"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:253"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:252"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:251,1"
      Dst: "[ch.qos.logback.core.net.ssl.SecureRandomFactoryBean].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].setSecureRandom(ch.qos.logback.core.net.ssl.SecureRandomFactoryBean)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.net.ssl.SecureRandomFactoryBean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].getKeyManagerFactory()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean"
    linkageType: null
    functionLinenumber: 271
    functionDepth: 1
    returnType: "ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean].<init>()"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:272"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:275"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:274"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:273,1"
      Dst: "[ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].setKeyManagerFactory(ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].getTrustManagerFactory()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean"
    linkageType: null
    functionLinenumber: 293
    functionDepth: 1
    returnType: "ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean].<init>()"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:294"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:297"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:296"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:295,1"
      Dst: "[ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].setTrustManagerFactory(ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].getProtocol()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean"
    linkageType: null
    functionLinenumber: 316
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 6
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:317"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:320"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:319"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].setProtocol(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].getProvider()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean"
    linkageType: null
    functionLinenumber: 339
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].setProvider(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.DefaultDiscriminator].<init>()"
    functionSourceFile: "ch.qos.logback.core.sift.DefaultDiscriminator"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.sift.AbstractDiscriminator].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.DefaultDiscriminator:19,1"
      Dst: "[ch.qos.logback.core.sift.AbstractDiscriminator].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.DefaultDiscriminator].getDiscriminatingValue(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.sift.DefaultDiscriminator"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.DefaultDiscriminator].getKey()"
    functionSourceFile: "ch.qos.logback.core.sift.DefaultDiscriminator"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.conditional.ThenAction].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.conditional.ThenAction"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.conditional.ThenAction:24,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.conditional.ThenAction].validPreconditions(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.conditional.ThenAction"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 3
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].<init>(ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].validateZeroAttributes()"
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].isValid()"
    functionUses: 1
    ICount: 9
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.conditional.ThenAction:28,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].<init>(ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    - Src: "ch.qos.logback.core.joran.conditional.ThenAction:29,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].validateZeroAttributes()"
    - Src: "ch.qos.logback.core.joran.conditional.ThenAction:30,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].isValid()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].<init>(ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 1
    returnType: "void"
    argCount: 4
    argTypes:
    - "ch.qos.logback.core.spi.ContextAware"
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>(ch.qos.logback.core.spi.ContextAware)"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].getContext()"
    - "[ch.qos.logback.core.pattern.DynamicConverter].getContext()"
    - "[ch.qos.logback.core.LayoutBase:ch.qos.logback.core.spi.ContextAwareBase:ch.qos.logback.core.spi.ContextAwareImpl].getContext()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAware].getContext()"
    functionUses: 16
    ICount: 13
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:33,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>(ch.qos.logback.core.spi.ContextAware)"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:34,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].getContext()"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:34,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].validateZeroAttributes()"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 40
    functionDepth: 2
    returnType: "ch.qos.logback.core.joran.action.PreconditionValidator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.xml.sax.helpers.AttributesImpl].getLength()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.joran.action.Action].getLineNumber(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext)"
    - "[org.xml.sax.Attributes].getLength()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int)"
    functionUses: 3
    ICount: 14
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.action.PreconditionValidator:41"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.PreconditionValidator:44"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.action.PreconditionValidator:43"
        BranchSideFuncs:
        - "getLength()"
    - Branch String: "ch.qos.logback.core.joran.action.PreconditionValidator:44"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.PreconditionValidator:48"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:44,1"
      Dst: "[org.xml.sax.Attributes].getLength()"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:46,1"
      Dst: "[ch.qos.logback.core.joran.action.Action].getLineNumber(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext)"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:46,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int)"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:45,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].isValid()"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 79
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 16
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.conditional.ThenAction].buildCurrentModel(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.conditional.ThenAction"
    linkageType: null
    functionLinenumber: 36
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.Model"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.conditional.ThenModel].<init>()"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.conditional.ThenAction:37,1"
      Dst: "[ch.qos.logback.core.model.conditional.ThenModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.conditional.ThenModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.conditional.ThenModel"
    linkageType: null
    functionLinenumber: 4
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.conditional.ThenModel:5,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__100].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__100"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__100].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__100:-1,1"
      Dst: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__100].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__100].<init>()"
    functionSourceFile: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__100"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__100:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__100].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__100"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.AppenderModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__100:-1,1"
      Dst: "[ch.qos.logback.core.model.processor.AppenderModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.AppenderModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.AppenderModelHandler"
    linkageType: null
    functionLinenumber: 38
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.AppenderModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.AppenderModelHandler:39,1"
      Dst: "[ch.qos.logback.core.model.processor.AppenderModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.FixedWindowRollingPolicy].<init>()"
    functionSourceFile: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.RollingPolicyBase].<init>()"
    - "[ch.qos.logback.core.rolling.helper.RenameUtil].<init>()"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:49,1"
      Dst: "[ch.qos.logback.core.rolling.RollingPolicyBase].<init>()"
    - Src: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:39,1"
      Dst: "[ch.qos.logback.core.rolling.helper.RenameUtil].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.FixedWindowRollingPolicy].start()"
    functionSourceFile: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy"
    linkageType: null
    functionLinenumber: 54
    functionDepth: 11
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].<init>(java.lang.String,ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.rolling.RollingPolicyBase].determineCompressionMode()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.rolling.RollingPolicyBase].isParentPrudent()"
    - "[ch.qos.logback.core.rolling.RollingPolicyBase].getParentsRawFileProperty()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.rolling.FixedWindowRollingPolicy].getMaxWindowSize()"
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].getIntegerTokenConverter()"
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].getPattern()"
    - "[ch.qos.logback.core.rolling.FixedWindowRollingPolicy].transformFileNamePatternFromInt2Date(java.lang.String)"
    - "[ch.qos.logback.core.rolling.helper.Compressor].<init>(ch.qos.logback.core.rolling.helper.CompressionMode)"
    - "[ch.qos.logback.core.rolling.RollingPolicyBase].start()"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 5
    ICount: 81
    EdgeCount: 23
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:57"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:61"
        BranchSideFuncs:
        - "determineCompressionMode()"
      - BranchSide: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:60"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:66"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:72"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:71"
        BranchSideFuncs:
        - "getParentsRawFileProperty()"
    - Branch String: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:78"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:77"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:78"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:84"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:83"
        BranchSideFuncs:
        - "getMaxWindowSize()"
    - Branch String: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:85"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:91"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:90"
        BranchSideFuncs:
        - "getIntegerTokenConverter()"
    - Branch String: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:93"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:98"
        BranchSideFuncs:
        - "getPattern()"
      - BranchSide: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:97"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:98"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:102"
        BranchSideFuncs:
        - "<init>(java.lang.String,ch.qos.logback.core.Context)"
        - "transformFileNamePatternFromInt2Date(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:101"
        BranchSideFuncs:
        - "start()"
        - "<init>(ch.qos.logback.core.rolling.helper.CompressionMode)"
        - "setContext(ch.qos.logback.core.Context)"
    Callsites:
    - Src: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:55,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:58,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileNamePattern].<init>(java.lang.String,ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:59,1"
      Dst: "[ch.qos.logback.core.rolling.RollingPolicyBase].determineCompressionMode()"
    - Src: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:61,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:63,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:66,1"
      Dst: "[ch.qos.logback.core.rolling.RollingPolicyBase].isParentPrudent()"
    - Src: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:72,1"
      Dst: "[ch.qos.logback.core.rolling.RollingPolicyBase].getParentsRawFileProperty()"
    - Src: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:79,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int)"
    - Src: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:79,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:84,1"
      Dst: "[ch.qos.logback.core.rolling.FixedWindowRollingPolicy].getMaxWindowSize()"
    - Src: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:88,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - Src: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:91,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileNamePattern].getIntegerTokenConverter()"
    - Src: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:95,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileNamePattern].getPattern()"
    - Src: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:95,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:99,1"
      Dst: "[ch.qos.logback.core.rolling.FixedWindowRollingPolicy].transformFileNamePatternFromInt2Date(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:102,1"
      Dst: "[ch.qos.logback.core.rolling.helper.Compressor].<init>(ch.qos.logback.core.rolling.helper.CompressionMode)"
    - Src: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:104,1"
      Dst: "[ch.qos.logback.core.rolling.RollingPolicyBase].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 16
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 67
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:45"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:44"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:47"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:46,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.rolling.helper.FileNamePattern].<init>(java.lang.String,ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileNamePattern"
    linkageType: null
    functionLinenumber: 49
    functionDepth: 10
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].setPattern(java.lang.String)"
    - "[ch.qos.logback.core.rolling.helper.FileFilterUtil].slashify(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].parse()"
    - "[ch.qos.logback.core.pattern.ConverterUtil].startConverters(ch.qos.logback.core.pattern.Converter)"
    functionUses: 5
    ICount: 11
    EdgeCount: 6
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:50,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:52,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].slashify(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:52,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileNamePattern].setPattern(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:53,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:54,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileNamePattern].parse()"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:55,1"
      Dst: "[ch.qos.logback.core.pattern.ConverterUtil].startConverters(ch.qos.logback.core.pattern.Converter)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 96
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.FixedWindowRollingPolicy].getMaxWindowSize()"
    functionSourceFile: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy"
    linkageType: null
    functionLinenumber: 113
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.FileNamePattern].getIntegerTokenConverter()"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileNamePattern"
    linkageType: null
    functionLinenumber: 127
    functionDepth: 0
    returnType: "ch.qos.logback.core.rolling.helper.IntegerTokenConverter"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.Converter].getNext()"
    functionUses: 3
    ICount: 10
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:130"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:137"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:136"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:131"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:135"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:134"
        BranchSideFuncs:
        - "getNext()"
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:135,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].getNext()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.rolling.helper.FileNamePattern].getPattern()"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileNamePattern"
    linkageType: null
    functionLinenumber: 185
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.FixedWindowRollingPolicy].transformFileNamePatternFromInt2Date(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy"
    linkageType: null
    functionLinenumber: 117
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.FileFilterUtil].slashify(java.lang.String)"
    - "[ch.qos.logback.core.rolling.helper.FileFilterUtil].afterLastSlash(java.lang.String)"
    - "[java.lang.String].replace(java.lang.CharSequence,java.lang.CharSequence)"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:118,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].slashify(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:119,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].afterLastSlash(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:120,1"
      Dst: "[java.lang.String].replace(java.lang.CharSequence,java.lang.CharSequence)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].slashify(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileFilterUtil"
    linkageType: null
    functionLinenumber: 110
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].replace(char,char)"
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:111,1"
      Dst: "[java.lang.String].replace(char,char)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].afterLastSlash(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileFilterUtil"
    linkageType: null
    functionLinenumber: 45
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].lastIndexOf(int)"
    - "[java.lang.String].substring(int)"
    functionUses: 5
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.FileFilterUtil:47"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:50"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:49"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:46,1"
      Dst: "[java.lang.String].lastIndexOf(int)"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:50,1"
      Dst: "[java.lang.String].substring(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.Compressor].<init>(ch.qos.logback.core.rolling.helper.CompressionMode)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.Compressor"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.rolling.helper.CompressionMode"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:44,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.FixedWindowRollingPolicy].getMaxWindowSize()"
    functionSourceFile: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy"
    linkageType: null
    functionLinenumber: 113
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.FixedWindowRollingPolicy].transformFileNamePatternFromInt2Date(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy"
    linkageType: null
    functionLinenumber: 117
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.FileFilterUtil].slashify(java.lang.String)"
    - "[ch.qos.logback.core.rolling.helper.FileFilterUtil].afterLastSlash(java.lang.String)"
    - "[java.lang.String].replace(java.lang.CharSequence,java.lang.CharSequence)"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:118,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].slashify(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:119,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].afterLastSlash(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:120,1"
      Dst: "[java.lang.String].replace(java.lang.CharSequence,java.lang.CharSequence)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.FixedWindowRollingPolicy].rollover()"
    functionSourceFile: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy"
    linkageType: null
    functionLinenumber: 127
    functionDepth: 5
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].convertInt(int)"
    - "[ch.qos.logback.core.rolling.helper.RenameUtil].rename(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.rolling.FixedWindowRollingPolicy].getActiveFileName()"
    - "[ch.qos.logback.core.rolling.helper.Compressor].compress(java.lang.String,java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].convert(java.lang.Object)"
    - "[java.io.File].<init>(java.lang.String)"
    - "[java.io.File].exists()"
    - "[java.io.File].delete()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.lang.Enum].ordinal()"
    - "[java.util.Date].<init>()"
    functionUses: 1
    ICount: 62
    EdgeCount: 15
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:128"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:161"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:132"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:137"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:136"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:137"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:149"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:148"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:141"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:144"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:143"
        BranchSideFuncs:
        - "addInfo(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:130,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileNamePattern].convertInt(int)"
    - Src: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:130,1"
      Dst: "[java.io.File].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:132,1"
      Dst: "[java.io.File].exists()"
    - Src: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:133,1"
      Dst: "[java.io.File].delete()"
    - Src: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:142,1"
      Dst: "[ch.qos.logback.core.rolling.helper.RenameUtil].rename(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:144,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:144,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:149,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:151,1"
      Dst: "[ch.qos.logback.core.rolling.FixedWindowRollingPolicy].getActiveFileName()"
    - Src: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:154,1"
      Dst: "[ch.qos.logback.core.rolling.helper.Compressor].compress(java.lang.String,java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:157,1"
      Dst: "[java.util.Date].<init>()"
    - Src: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:158,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileNamePattern].convert(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 14
    CyclomaticComplexity: 8
  - functionName: "[ch.qos.logback.core.rolling.helper.FileNamePattern].convertInt(int)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileNamePattern"
    linkageType: null
    functionLinenumber: 174
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].convert(java.lang.Object)"
    - "[java.lang.Integer].valueOf(int)"
    functionUses: 6
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:175,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:175,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileNamePattern].convert(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.RenameUtil].rename(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.RenameUtil"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.rolling.helper.RenameUtil].createMissingTargetDirsIfNecessary(java.io.File)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.rolling.helper.RenameUtil].areOnDifferentVolumes(java.io.File,java.io.File)"
    - "[ch.qos.logback.core.rolling.helper.RenameUtil].renameByCopying(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.rolling.RolloverFailure].<init>(java.lang.String)"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.io.File].<init>(java.lang.String)"
    - "[java.io.File].exists()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File,java.io.File)"
    - "[java.io.File].renameTo(java.io.File)"
    - "[java.lang.Boolean].equals(java.lang.Object)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - "[java.lang.Class].getSimpleName()"
    functionUses: 4
    ICount: 42
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.RenameUtil:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.RenameUtil:47"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.RenameUtil:46"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.RenameUtil:49"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.RenameUtil:72"
        BranchSideFuncs:
        - "createMissingTargetDirsIfNecessary(java.io.File)"
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.RenameUtil:71"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
    - Branch String: "ch.qos.logback.core.rolling.helper.RenameUtil:57"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.RenameUtil:71"
        BranchSideFuncs:
        - "areOnDifferentVolumes(java.io.File,java.io.File)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.RenameUtil:70"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.RenameUtil:60"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.RenameUtil:66"
        BranchSideFuncs:
        - "renameByCopying(java.lang.String,java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.RenameUtil:65"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:43,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:44,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:44,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:47,1"
      Dst: "[java.io.File].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:49,1"
      Dst: "[java.io.File].exists()"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:51,1"
      Dst: "[ch.qos.logback.core.rolling.helper.RenameUtil].createMissingTargetDirsIfNecessary(java.io.File)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:53,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File,java.io.File)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:53,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:55,1"
      Dst: "[java.io.File].renameTo(java.io.File)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:59,1"
      Dst: "[ch.qos.logback.core.rolling.helper.RenameUtil].areOnDifferentVolumes(java.io.File,java.io.File)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:60,1"
      Dst: "[java.lang.Boolean].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:61,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:63,1"
      Dst: "[ch.qos.logback.core.rolling.helper.RenameUtil].renameByCopying(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:66,1"
      Dst: "[java.lang.Class].getSimpleName()"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:72,1"
      Dst: "[ch.qos.logback.core.rolling.RolloverFailure].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.FixedWindowRollingPolicy].getActiveFileName()"
    functionSourceFile: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy"
    linkageType: null
    functionLinenumber: 167
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.RollingPolicyBase].getParentsRawFileProperty()"
    functionUses: 6
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:168,1"
      Dst: "[ch.qos.logback.core.rolling.RollingPolicyBase].getParentsRawFileProperty()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.Compressor].compress(java.lang.String,java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.Compressor"
    linkageType: null
    functionLinenumber: 54
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.Compressor].gzCompress(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.rolling.helper.Compressor].zipCompress(java.lang.String,java.lang.String,java.lang.String)"
    - "[java.lang.Enum].ordinal()"
    - "[java.lang.UnsupportedOperationException].<init>(java.lang.String)"
    functionUses: 3
    ICount: 17
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:55,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:57,1"
      Dst: "[ch.qos.logback.core.rolling.helper.Compressor].gzCompress(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:60,1"
      Dst: "[ch.qos.logback.core.rolling.helper.Compressor].zipCompress(java.lang.String,java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:63,1"
      Dst: "[java.lang.UnsupportedOperationException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.rolling.helper.FileNamePattern].convert(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileNamePattern"
    linkageType: null
    functionLinenumber: 164
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.FileOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LocalSequenceNumberConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.SyslogStartConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.DateTokenConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.NopThrowableInformationConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.PrefixCompositeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.DateConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.RelativeTimeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.IntegerTokenConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.KeyValuePairConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LineSeparatorConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LineOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.PropertyConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LevelConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MDCConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MessageConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ThreadConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.NamedConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MethodOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MicrosecondConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ContextNameConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MarkerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.CompositeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.SequenceNumberConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.CallerDataConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.LiteralConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.Converter].getNext()"
    - "[java.lang.StringBuilder].<init>()"
    - "[ch.qos.logback.core.pattern.Converter].convert(java.lang.Object)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 5
    ICount: 12
    EdgeCount: 28
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:167"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:171"
        BranchSideFuncs:
        - "getNext()"
        - "convert(java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:170"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:165,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:168,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].convert(java.lang.Object)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:168,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:169,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].getNext()"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:171,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.rolling.FixedWindowRollingPolicy].getActiveFileName()"
    functionSourceFile: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy"
    linkageType: null
    functionLinenumber: 167
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.RollingPolicyBase].getParentsRawFileProperty()"
    functionUses: 6
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy:168,1"
      Dst: "[ch.qos.logback.core.rolling.RollingPolicyBase].getParentsRawFileProperty()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.FixedWindowRollingPolicy].getMaxIndex()"
    functionSourceFile: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.FixedWindowRollingPolicy].getMinIndex()"
    functionSourceFile: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.FixedWindowRollingPolicy].setMaxIndex(int)"
    functionSourceFile: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.FixedWindowRollingPolicy].setMinIndex(int)"
    functionSourceFile: "ch.qos.logback.core.rolling.FixedWindowRollingPolicy"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__8].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__8"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__8].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__8:-1,1"
      Dst: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__8].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__8].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__8"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__8:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__8].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__8"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__8:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__8].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__8"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.DefineModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__8:-1,1"
      Dst: "[ch.qos.logback.core.model.processor.DefineModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DefineModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefineModelHandler"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.DefineModelHandler"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.DefineModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefineModelHandler:44,1"
      Dst: "[ch.qos.logback.core.model.processor.DefineModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.ContextInitializer$1].<init>(ch.qos.logback.classic.util.ContextInitializer)"
    functionSourceFile: "ch.qos.logback.classic.util.ContextInitializer$1"
    linkageType: null
    functionLinenumber: 165
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.util.ContextInitializer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.ContextInitializer$1:166,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.ContextInitializer$1].compare(ch.qos.logback.classic.spi.Configurator,ch.qos.logback.classic.spi.Configurator)"
    functionSourceFile: "ch.qos.logback.classic.util.ContextInitializer$1"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "int"
    argCount: 2
    argTypes:
    - "ch.qos.logback.classic.spi.Configurator"
    - "ch.qos.logback.classic.spi.Configurator"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getAnnotation(java.lang.Class)"
    - "[ch.qos.logback.classic.spi.ConfiguratorRank].value()"
    - "[ch.qos.logback.classic.util.ContextInitializer].compareRankValue(int,int)"
    functionUses: 0
    ICount: 22
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.ContextInitializer$1:173"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.ContextInitializer$1:170"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.ContextInitializer$1:169"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.util.ContextInitializer$1:174"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.ContextInitializer$1:172"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.ContextInitializer$1:170,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.classic.util.ContextInitializer$1:170,1"
      Dst: "[java.lang.Class].getAnnotation(java.lang.Class)"
    - Src: "ch.qos.logback.classic.util.ContextInitializer$1:173,1"
      Dst: "[ch.qos.logback.classic.spi.ConfiguratorRank].value()"
    - Src: "ch.qos.logback.classic.util.ContextInitializer$1:176,1"
      Dst: "[ch.qos.logback.classic.util.ContextInitializer].compareRankValue(int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.util.ContextInitializer].compareRankValue(int,int)"
    functionSourceFile: "ch.qos.logback.classic.util.ContextInitializer"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "int"
    argCount: 2
    argTypes:
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.ContextInitializer:183"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.ContextInitializer:185"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.ContextInitializer:184"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.util.ContextInitializer:185"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.ContextInitializer:null"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.ContextInitializer$1].compare(java.lang.Object,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.util.ContextInitializer$1"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.util.ContextInitializer$1].compare(ch.qos.logback.classic.spi.Configurator,ch.qos.logback.classic.spi.Configurator)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.ContextInitializer$1:166,1"
      Dst: "[ch.qos.logback.classic.util.ContextInitializer$1].compare(ch.qos.logback.classic.spi.Configurator,ch.qos.logback.classic.spi.Configurator)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.ContextInitializer$1].compare(ch.qos.logback.classic.spi.Configurator,ch.qos.logback.classic.spi.Configurator)"
    functionSourceFile: "ch.qos.logback.classic.util.ContextInitializer$1"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "int"
    argCount: 2
    argTypes:
    - "ch.qos.logback.classic.spi.Configurator"
    - "ch.qos.logback.classic.spi.Configurator"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getAnnotation(java.lang.Class)"
    - "[ch.qos.logback.classic.spi.ConfiguratorRank].value()"
    - "[ch.qos.logback.classic.util.ContextInitializer].compareRankValue(int,int)"
    functionUses: 0
    ICount: 22
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.ContextInitializer$1:173"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.ContextInitializer$1:170"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.ContextInitializer$1:169"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.util.ContextInitializer$1:174"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.ContextInitializer$1:172"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.ContextInitializer$1:170,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.classic.util.ContextInitializer$1:170,1"
      Dst: "[java.lang.Class].getAnnotation(java.lang.Class)"
    - Src: "ch.qos.logback.classic.util.ContextInitializer$1:173,1"
      Dst: "[ch.qos.logback.classic.spi.ConfiguratorRank].value()"
    - Src: "ch.qos.logback.classic.util.ContextInitializer$1:176,1"
      Dst: "[ch.qos.logback.classic.util.ContextInitializer].compareRankValue(int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.util.CachingDateFormatter$CacheTuple].<init>(long,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.CachingDateFormatter$CacheTuple"
    linkageType: null
    functionLinenumber: 40
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "long"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 2
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.CachingDateFormatter$CacheTuple:41,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.ConfigurationModelHandler].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:47,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.ConfigurationModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.model.processor.ConfigurationModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:51,1"
      Dst: "[ch.qos.logback.classic.model.processor.ConfigurationModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.ConfigurationModelHandler].getSupportedModelClass()"
    functionSourceFile: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler"
    linkageType: null
    functionLinenumber: 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: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.ConfigurationModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler"
    linkageType: null
    functionLinenumber: 60
    functionDepth: 14
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.OptionHelper].getSystemProperty(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.classic.model.ConfigurationModel].getDebugStr()"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - "[ch.qos.logback.core.status.OnConsoleStatusListener].<init>()"
    - "[ch.qos.logback.core.util.StatusListenerConfigHelper].addOnConsoleListenerInstance(ch.qos.logback.core.Context,ch.qos.logback.core.status.OnConsoleStatusListener)"
    - "[ch.qos.logback.classic.model.processor.ConfigurationModelHandler].processScanAttrib(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.classic.model.ConfigurationModel)"
    - "[ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull].processScanAttrib(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.classic.model.ConfigurationModel)"
    - "[ch.qos.logback.classic.model.ConfigurationModel].getPackagingDataStr()"
    - "[ch.qos.logback.core.util.OptionHelper].toBoolean(java.lang.String,boolean)"
    - "[ch.qos.logback.classic.LoggerContext].setPackagingDataEnabled(boolean)"
    - "[ch.qos.logback.core.util.ContextUtil].<init>(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.util.ContextUtil].addGroovyPackages(java.util.List)"
    - "[ch.qos.logback.classic.LoggerContext].getFrameworkPackages()"
    - "[java.lang.Boolean].toString()"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    functionUses: 3
    ICount: 34
    EdgeCount: 15
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:67"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:72"
        BranchSideFuncs:
        - "getDebugStr()"
      - BranchSide: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:71"
        BranchSideFuncs:
        - "isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Branch String: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:77"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:76"
        BranchSideFuncs:
        - "getPackagingDataStr()"
        - "setPackagingDataEnabled(boolean)"
        - "addGroovyPackages(java.util.List)"
        - "getFrameworkPackages()"
        - "subst(java.lang.String)"
        - "toBoolean(java.lang.String,boolean)"
        - "processScanAttrib(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.classic.model.ConfigurationModel)"
        - "<init>(ch.qos.logback.core.Context)"
    - Branch String: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:77"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:76"
        BranchSideFuncs:
        - "getPackagingDataStr()"
        - "setPackagingDataEnabled(boolean)"
        - "addGroovyPackages(java.util.List)"
        - "getFrameworkPackages()"
        - "subst(java.lang.String)"
        - "toBoolean(java.lang.String,boolean)"
        - "processScanAttrib(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.classic.model.ConfigurationModel)"
        - "<init>(ch.qos.logback.core.Context)"
    - Branch String: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:73"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:77"
        BranchSideFuncs:
        - "<init>()"
        - "addOnConsoleListenerInstance(ch.qos.logback.core.Context,ch.qos.logback.core.status.OnConsoleStatusListener)"
      - BranchSide: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:76"
        BranchSideFuncs:
        - "getPackagingDataStr()"
        - "setPackagingDataEnabled(boolean)"
        - "addGroovyPackages(java.util.List)"
        - "getFrameworkPackages()"
        - "subst(java.lang.String)"
        - "toBoolean(java.lang.String,boolean)"
        - "processScanAttrib(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.classic.model.ConfigurationModel)"
        - "<init>(ch.qos.logback.core.Context)"
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:66,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].getSystemProperty(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:68,1"
      Dst: "[ch.qos.logback.classic.model.ConfigurationModel].getDebugStr()"
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:68,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:72,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:72,1"
      Dst: "[java.lang.Boolean].toString()"
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:72,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:74,1"
      Dst: "[ch.qos.logback.core.status.OnConsoleStatusListener].<init>()"
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:74,1"
      Dst: "[ch.qos.logback.core.util.StatusListenerConfigHelper].addOnConsoleListenerInstance(ch.qos.logback.core.Context,ch.qos.logback.core.status.OnConsoleStatusListener)"
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:77,1"
      Dst: "[ch.qos.logback.classic.model.processor.ConfigurationModelHandler].processScanAttrib(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.classic.model.ConfigurationModel)"
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:80,1"
      Dst: "[ch.qos.logback.classic.model.ConfigurationModel].getPackagingDataStr()"
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:80,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].toBoolean(java.lang.String,boolean)"
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:82,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].setPackagingDataEnabled(boolean)"
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:84,1"
      Dst: "[ch.qos.logback.core.util.ContextUtil].<init>(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:85,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getFrameworkPackages()"
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:85,1"
      Dst: "[ch.qos.logback.core.util.ContextUtil].addGroovyPackages(java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.util.OptionHelper].getSystemProperty(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 145
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].getProperty(java.lang.String,java.lang.String)"
    functionUses: 3
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:146,1"
      Dst: "[java.lang.System].getProperty(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.ConfigurationModel].getDebugStr()"
    functionSourceFile: "ch.qos.logback.classic.model.ConfigurationModel"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 152
    functionDepth: 12
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.OptionHelper].substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 26
    ICount: 11
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:153"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:158"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:157"
        BranchSideFuncs:
        - "substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:158,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:160,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:160,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 282
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    - "[java.lang.String].length()"
    functionUses: 62
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].length()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.status.OnConsoleStatusListener].<init>()"
    functionSourceFile: "ch.qos.logback.core.status.OnConsoleStatusListener"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.OnPrintStreamStatusListenerBase].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.OnConsoleStatusListener:23,1"
      Dst: "[ch.qos.logback.core.status.OnPrintStreamStatusListenerBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.StatusListenerConfigHelper].addOnConsoleListenerInstance(ch.qos.logback.core.Context,ch.qos.logback.core.status.OnConsoleStatusListener)"
    functionSourceFile: "ch.qos.logback.core.util.StatusListenerConfigHelper"
    linkageType: null
    functionLinenumber: 75
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.status.OnConsoleStatusListener"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.BasicStatusManager].add(ch.qos.logback.core.status.StatusListener)"
    - "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - "[ch.qos.logback.core.status.OnPrintStreamStatusListenerBase].start()"
    - "[ch.qos.logback.core.Context].getStatusManager()"
    - "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.StatusListener)"
    functionUses: 1
    ICount: 8
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.StatusListenerConfigHelper:78"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StatusListenerConfigHelper:81"
        BranchSideFuncs:
        - "start()"
      - BranchSide: "ch.qos.logback.core.util.StatusListenerConfigHelper:80"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.StatusListenerConfigHelper:76,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.util.StatusListenerConfigHelper:77,1"
      Dst: "[ch.qos.logback.core.Context].getStatusManager()"
    - Src: "ch.qos.logback.core.util.StatusListenerConfigHelper:77,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.StatusListener)"
    - Src: "ch.qos.logback.core.util.StatusListenerConfigHelper:79,1"
      Dst: "[ch.qos.logback.core.status.OnPrintStreamStatusListenerBase].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 67
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:45"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:44"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:47"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:46,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.model.processor.ConfigurationModelHandler].processScanAttrib(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.classic.model.ConfigurationModel)"
    functionSourceFile: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler"
    linkageType: null
    functionLinenumber: 88
    functionDepth: 13
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.classic.model.ConfigurationModel"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.model.ConfigurationModel].getScanStr()"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    functionUses: 1
    ICount: 12
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:90"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:93"
        BranchSideFuncs:
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:92"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:90"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:93"
        BranchSideFuncs:
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:92"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:89,1"
      Dst: "[ch.qos.logback.classic.model.ConfigurationModel].getScanStr()"
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:89,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:90,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:90,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:91,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.model.ConfigurationModel].getScanStr()"
    functionSourceFile: "ch.qos.logback.classic.model.ConfigurationModel"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.ConfigurationModel].getPackagingDataStr()"
    functionSourceFile: "ch.qos.logback.classic.model.ConfigurationModel"
    linkageType: null
    functionLinenumber: 55
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].toBoolean(java.lang.String,boolean)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 240
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    functionUses: 5
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.OptionHelper:241"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:245"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:244"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:247"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:251"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:250"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:251"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:255"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:254"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:245,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.util.OptionHelper:247,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].setPackagingDataEnabled(boolean)"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 214
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.ContextUtil].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.util.ContextUtil"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.ContextUtil:33,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - Src: "ch.qos.logback.core.util.ContextUtil:34,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].getFrameworkPackages()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 394
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.ContextUtil].addGroovyPackages(java.util.List)"
    functionSourceFile: "ch.qos.logback.core.util.ContextUtil"
    linkageType: null
    functionLinenumber: 66
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.ContextUtil].addFrameworkPackage(java.util.List,java.lang.String)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.ContextUtil:67,1"
      Dst: "[ch.qos.logback.core.util.ContextUtil].addFrameworkPackage(java.util.List,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.ConfigurationModelHandler].processScanAttrib(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.classic.model.ConfigurationModel)"
    functionSourceFile: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler"
    linkageType: null
    functionLinenumber: 88
    functionDepth: 13
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.classic.model.ConfigurationModel"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.model.ConfigurationModel].getScanStr()"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    functionUses: 1
    ICount: 12
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:90"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:93"
        BranchSideFuncs:
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:92"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:90"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:93"
        BranchSideFuncs:
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:92"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:89,1"
      Dst: "[ch.qos.logback.classic.model.ConfigurationModel].getScanStr()"
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:89,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:90,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:90,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.ConfigurationModelHandler:91,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.model.NamedComponentModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.NamedComponentModel"
    linkageType: null
    functionLinenumber: 17
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.ComponentModel].<init>()"
    functionUses: 4
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.NamedComponentModel:18,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.NamedComponentModel].makeNewInstance()"
    functionSourceFile: "ch.qos.logback.core.model.NamedComponentModel"
    linkageType: null
    functionLinenumber: 24
    functionDepth: 3
    returnType: "ch.qos.logback.core.model.NamedComponentModel"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.NamedComponentModel].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.NamedComponentModel:25,1"
      Dst: "[ch.qos.logback.core.model.NamedComponentModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.NamedComponentModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.NamedComponentModel"
    linkageType: null
    functionLinenumber: 17
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.ComponentModel].<init>()"
    functionUses: 4
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.NamedComponentModel:18,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.NamedComponentModel].mirror(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.NamedComponentModel"
    linkageType: null
    functionLinenumber: 29
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.ComponentModel].mirror(ch.qos.logback.core.model.Model)"
    functionUses: 2
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.NamedComponentModel:31,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].mirror(ch.qos.logback.core.model.Model)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.NamedComponentModel].getName()"
    functionSourceFile: "ch.qos.logback.core.model.NamedComponentModel"
    linkageType: null
    functionLinenumber: 35
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.NamedComponentModel].setName(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.NamedComponentModel"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.NamedComponentModel].toString()"
    functionSourceFile: "ch.qos.logback.core.model.NamedComponentModel"
    linkageType: null
    functionLinenumber: 44
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,java.lang.String,java.lang.String)"
    functionUses: 3
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.NamedComponentModel:45,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.NamedComponentModel].hashCode()"
    functionSourceFile: "ch.qos.logback.core.model.NamedComponentModel"
    linkageType: null
    functionLinenumber: 51
    functionDepth: 2
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.ComponentModel].hashCode()"
    - "[java.util.Objects].hash(java.lang.Object[])"
    functionUses: 6
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.NamedComponentModel:52,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].hashCode()"
    - Src: "ch.qos.logback.core.model.NamedComponentModel:53,1"
      Dst: "[java.util.Objects].hash(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.NamedComponentModel].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.model.NamedComponentModel"
    linkageType: null
    functionLinenumber: 58
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.ComponentModel].equals(java.lang.Object)"
    - "[java.lang.Object].getClass()"
    - "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    functionUses: 7
    ICount: 16
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.NamedComponentModel:59"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.NamedComponentModel:61"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.NamedComponentModel:60"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "ch.qos.logback.core.model.NamedComponentModel:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.NamedComponentModel:63"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.NamedComponentModel:62"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.NamedComponentModel:63"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.NamedComponentModel:65"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.NamedComponentModel:64"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.NamedComponentModel:61,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.model.NamedComponentModel:63,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.model.NamedComponentModel:66,1"
      Dst: "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SimpleRuleStore].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SimpleRuleStore"
    linkageType: null
    functionLinenumber: 41
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[java.util.HashMap].<init>()"
    - "[java.util.ArrayList].<init>(int)"
    functionUses: 1
    ICount: 11
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:42,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:38,1"
      Dst: "[java.util.HashMap].<init>()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:40,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:43,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SimpleRuleStore].addTransparentPathPart(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SimpleRuleStore"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.String].trim()"
    - "[java.lang.String].isEmpty()"
    - "[java.lang.String].contains(java.lang.CharSequence)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 4
    ICount: 20
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:47"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:50"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:49"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:52"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:55"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:54"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:55"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:58"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:57"
        BranchSideFuncs:
        - "add(java.lang.Object)"
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:48,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:50,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:52,1"
      Dst: "[java.lang.String].isEmpty()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:55,1"
      Dst: "[java.lang.String].contains(java.lang.CharSequence)"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:58,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SimpleRuleStore].addRule(ch.qos.logback.core.joran.spi.ElementSelector,java.util.function.Supplier)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SimpleRuleStore"
    linkageType: null
    functionLinenumber: 68
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.joran.spi.ElementSelector"
    - "java.util.function.Supplier"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ElementPath].toString()"
    - "[java.util.HashMap].get(java.lang.Object)"
    - "[java.util.HashMap].put(java.lang.Object,java.lang.Object)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 34
    ICount: 16
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:71"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:74"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:73"
        BranchSideFuncs:
        - "toString()"
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:69,1"
      Dst: "[java.util.HashMap].get(java.lang.Object)"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:72,1"
      Dst: "[java.util.HashMap].put(java.lang.Object,java.lang.Object)"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:74,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].toString()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:74,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:74,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ElementPath].toString()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementPath"
    linkageType: null
    functionLinenumber: 132
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ElementPath].toStableString()"
    functionUses: 4
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:133,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].toStableString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SimpleRuleStore].addRule(ch.qos.logback.core.joran.spi.ElementSelector,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SimpleRuleStore"
    linkageType: null
    functionLinenumber: 78
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.joran.spi.ElementSelector"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 13
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:86"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:88"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:82,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:84,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:84,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 3
    returnType: "java.lang.Object"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Class"
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].getClassLoaderOfObject(java.lang.Object)"
    - "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,java.lang.ClassLoader)"
    functionUses: 12
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:32,1"
      Dst: "[ch.qos.logback.core.util.Loader].getClassLoaderOfObject(java.lang.Object)"
    - Src: "ch.qos.logback.core.util.OptionHelper:33,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,java.lang.ClassLoader)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 74
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SimpleRuleStore].matchActions(ch.qos.logback.core.joran.spi.ElementPath)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SimpleRuleStore"
    linkageType: null
    functionLinenumber: 99
    functionDepth: 4
    returnType: "java.util.function.Supplier"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.joran.spi.ElementPath"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.SimpleRuleStore].internalMatchAction(ch.qos.logback.core.joran.spi.ElementPath)"
    - "[ch.qos.logback.core.joran.spi.SimpleRuleStore].removeTransparentPathParts(ch.qos.logback.core.joran.spi.ElementPath)"
    functionUses: 1
    ICount: 8
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:101"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:104"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:103"
        BranchSideFuncs:
        - "internalMatchAction(ch.qos.logback.core.joran.spi.ElementPath)"
        - "removeTransparentPathParts(ch.qos.logback.core.joran.spi.ElementPath)"
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:100,1"
      Dst: "[ch.qos.logback.core.joran.spi.SimpleRuleStore].internalMatchAction(ch.qos.logback.core.joran.spi.ElementPath)"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:104,1"
      Dst: "[ch.qos.logback.core.joran.spi.SimpleRuleStore].removeTransparentPathParts(ch.qos.logback.core.joran.spi.ElementPath)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SimpleRuleStore].internalMatchAction(ch.qos.logback.core.joran.spi.ElementPath)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SimpleRuleStore"
    linkageType: null
    functionLinenumber: 111
    functionDepth: 3
    returnType: "java.util.function.Supplier"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.joran.spi.ElementPath"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.SimpleRuleStore].fullPathMatch(ch.qos.logback.core.joran.spi.ElementPath)"
    - "[ch.qos.logback.core.joran.spi.SimpleRuleStore].suffixMatch(ch.qos.logback.core.joran.spi.ElementPath)"
    - "[ch.qos.logback.core.joran.spi.SimpleRuleStore].prefixMatch(ch.qos.logback.core.joran.spi.ElementPath)"
    - "[ch.qos.logback.core.joran.spi.SimpleRuleStore].middleMatch(ch.qos.logback.core.joran.spi.ElementPath)"
    functionUses: 2
    ICount: 15
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:112"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:114"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:113"
        BranchSideFuncs:
        - "suffixMatch(ch.qos.logback.core.joran.spi.ElementPath)"
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:114"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:116"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:115"
        BranchSideFuncs:
        - "prefixMatch(ch.qos.logback.core.joran.spi.ElementPath)"
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:116"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:118"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:117"
        BranchSideFuncs:
        - "middleMatch(ch.qos.logback.core.joran.spi.ElementPath)"
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:118"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:121"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:120"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:112,1"
      Dst: "[ch.qos.logback.core.joran.spi.SimpleRuleStore].fullPathMatch(ch.qos.logback.core.joran.spi.ElementPath)"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:114,1"
      Dst: "[ch.qos.logback.core.joran.spi.SimpleRuleStore].suffixMatch(ch.qos.logback.core.joran.spi.ElementPath)"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:116,1"
      Dst: "[ch.qos.logback.core.joran.spi.SimpleRuleStore].prefixMatch(ch.qos.logback.core.joran.spi.ElementPath)"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:118,1"
      Dst: "[ch.qos.logback.core.joran.spi.SimpleRuleStore].middleMatch(ch.qos.logback.core.joran.spi.ElementPath)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SimpleRuleStore].fullPathMatch(ch.qos.logback.core.joran.spi.ElementPath)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SimpleRuleStore"
    linkageType: null
    functionLinenumber: 139
    functionDepth: 2
    returnType: "java.util.function.Supplier"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.joran.spi.ElementPath"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ElementSelector].fullPathMatch(ch.qos.logback.core.joran.spi.ElementPath)"
    - "[java.util.HashMap].keySet()"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.HashMap].get(java.lang.Object)"
    functionUses: 1
    ICount: 17
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:140"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:144"
        BranchSideFuncs:
        - "fullPathMatch(ch.qos.logback.core.joran.spi.ElementPath)"
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:143"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:141"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:143"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:142"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:140,1"
      Dst: "[java.util.HashMap].keySet()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:140,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:140,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:140,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:141,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementSelector].fullPathMatch(ch.qos.logback.core.joran.spi.ElementPath)"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:142,1"
      Dst: "[java.util.HashMap].get(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.spi.ElementSelector].fullPathMatch(ch.qos.logback.core.joran.spi.ElementPath)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementSelector"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.joran.spi.ElementPath"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ElementPath].size()"
    - "[ch.qos.logback.core.joran.spi.ElementSelector].equalityCheck(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.joran.spi.ElementPath].get(int)"
    functionUses: 1
    ICount: 17
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.ElementSelector:51"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:55"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:54"
        BranchSideFuncs:
        - "size()"
    - Branch String: "ch.qos.logback.core.joran.spi.ElementSelector:56"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:62"
        BranchSideFuncs:
        - "equalityCheck(java.lang.String,java.lang.String)"
        - "get(int)"
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:61"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.ElementSelector:57"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:55"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:54"
        BranchSideFuncs:
        - "size()"
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementSelector:51,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].size()"
    - Src: "ch.qos.logback.core.joran.spi.ElementSelector:57,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].get(int)"
    - Src: "ch.qos.logback.core.joran.spi.ElementSelector:57,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementSelector].equalityCheck(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.spi.SimpleRuleStore].suffixMatch(ch.qos.logback.core.joran.spi.ElementPath)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SimpleRuleStore"
    linkageType: null
    functionLinenumber: 148
    functionDepth: 2
    returnType: "java.util.function.Supplier"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.joran.spi.ElementPath"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.SimpleRuleStore].isSuffixPattern(ch.qos.logback.core.joran.spi.ElementSelector)"
    - "[ch.qos.logback.core.joran.spi.ElementSelector].getTailMatchLength(ch.qos.logback.core.joran.spi.ElementPath)"
    - "[java.util.HashMap].keySet()"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.HashMap].get(java.lang.Object)"
    functionUses: 1
    ICount: 24
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:152"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:162"
        BranchSideFuncs:
        - "isSuffixPattern(ch.qos.logback.core.joran.spi.ElementSelector)"
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:161"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:153"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:160"
        BranchSideFuncs:
        - "getTailMatchLength(ch.qos.logback.core.joran.spi.ElementPath)"
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:159"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:155"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:160"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:159"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:162"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:165"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:164"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:152,1"
      Dst: "[java.util.HashMap].keySet()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:152,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:152,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:152,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:153,1"
      Dst: "[ch.qos.logback.core.joran.spi.SimpleRuleStore].isSuffixPattern(ch.qos.logback.core.joran.spi.ElementSelector)"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:154,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementSelector].getTailMatchLength(ch.qos.logback.core.joran.spi.ElementPath)"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:163,1"
      Dst: "[java.util.HashMap].get(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.joran.spi.SimpleRuleStore].isSuffixPattern(ch.qos.logback.core.joran.spi.ElementSelector)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SimpleRuleStore"
    linkageType: null
    functionLinenumber: 169
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.joran.spi.ElementSelector"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ElementPath].get(int)"
    - "[ch.qos.logback.core.joran.spi.ElementPath].size()"
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 1
    ICount: 12
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:170"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:169"
        BranchSideFuncs:
        - "get(int)"
        - "size()"
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:170"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:169"
        BranchSideFuncs:
        - "get(int)"
        - "size()"
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:170,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].size()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:170,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].get(int)"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:170,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.joran.spi.ElementPath].size()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementPath"
    linkageType: null
    functionLinenumber: 119
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].size()"
    functionUses: 14
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:120,1"
      Dst: "[java.util.ArrayList].size()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ElementPath].get(int)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementPath"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].get(int)"
    functionUses: 9
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:101,1"
      Dst: "[java.util.ArrayList].get(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ElementSelector].getTailMatchLength(ch.qos.logback.core.joran.spi.ElementPath)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementSelector"
    linkageType: null
    functionLinenumber: 70
    functionDepth: 1
    returnType: "int"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.joran.spi.ElementPath"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ElementSelector].equalityCheck(java.lang.String,java.lang.String)"
    - "[java.util.ArrayList].size()"
    - "[java.util.ArrayList].get(int)"
    functionUses: 1
    ICount: 33
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.ElementSelector:71"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:75"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:74"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.ElementSelector:79"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:80"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:79"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.ElementSelector:79"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:83"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:82"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.ElementSelector:83"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:83"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:82"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.ElementSelector:87"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:97"
        BranchSideFuncs:
        - "equalityCheck(java.lang.String,java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:96"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.ElementSelector:91"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:96"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementSelector:75,1"
      Dst: "[java.util.ArrayList].size()"
    - Src: "ch.qos.logback.core.joran.spi.ElementSelector:88,1"
      Dst: "[java.util.ArrayList].get(int)"
    - Src: "ch.qos.logback.core.joran.spi.ElementSelector:91,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementSelector].equalityCheck(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 13
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.joran.spi.SimpleRuleStore].prefixMatch(ch.qos.logback.core.joran.spi.ElementPath)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SimpleRuleStore"
    linkageType: null
    functionLinenumber: 173
    functionDepth: 2
    returnType: "java.util.function.Supplier"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.joran.spi.ElementPath"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ElementPath].peekLast()"
    - "[ch.qos.logback.core.joran.spi.SimpleRuleStore].isKleeneStar(java.lang.String)"
    - "[ch.qos.logback.core.joran.spi.ElementSelector].getPrefixMatchLength(ch.qos.logback.core.joran.spi.ElementPath)"
    - "[ch.qos.logback.core.joran.spi.ElementPath].size()"
    - "[java.util.HashMap].keySet()"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.HashMap].get(java.lang.Object)"
    functionUses: 1
    ICount: 28
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:177"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:189"
        BranchSideFuncs:
        - "peekLast()"
        - "isKleeneStar(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:188"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:179"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:187"
        BranchSideFuncs:
        - "getPrefixMatchLength(ch.qos.logback.core.joran.spi.ElementPath)"
        - "size()"
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:186"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:182"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:187"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:186"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:182"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:187"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:186"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:189"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:192"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:191"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:177,1"
      Dst: "[java.util.HashMap].keySet()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:177,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:177,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:177,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:178,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].peekLast()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:179,1"
      Dst: "[ch.qos.logback.core.joran.spi.SimpleRuleStore].isKleeneStar(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:180,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementSelector].getPrefixMatchLength(ch.qos.logback.core.joran.spi.ElementPath)"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:182,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].size()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:190,1"
      Dst: "[java.util.HashMap].get(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.joran.spi.ElementPath].peekLast()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementPath"
    linkageType: null
    functionLinenumber: 110
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].isEmpty()"
    - "[java.util.ArrayList].size()"
    - "[java.util.ArrayList].get(int)"
    functionUses: 2
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.ElementPath:111"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:115"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:114"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:111,1"
      Dst: "[java.util.ArrayList].isEmpty()"
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:112,1"
      Dst: "[java.util.ArrayList].size()"
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:113,1"
      Dst: "[java.util.ArrayList].get(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SimpleRuleStore].isKleeneStar(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SimpleRuleStore"
    linkageType: null
    functionLinenumber: 196
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 3
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:197,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ElementSelector].getPrefixMatchLength(ch.qos.logback.core.joran.spi.ElementPath)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementSelector"
    linkageType: null
    functionLinenumber: 112
    functionDepth: 1
    returnType: "int"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.joran.spi.ElementPath"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ElementSelector].equalityCheck(java.lang.String,java.lang.String)"
    - "[java.util.ArrayList].size()"
    - "[java.util.ArrayList].get(int)"
    functionUses: 1
    ICount: 31
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.ElementSelector:113"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:117"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:116"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.ElementSelector:121"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:122"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:121"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.ElementSelector:121"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:125"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:124"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.ElementSelector:125"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:125"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:124"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.ElementSelector:128"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:139"
        BranchSideFuncs:
        - "equalityCheck(java.lang.String,java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:138"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.ElementSelector:132"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:138"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementSelector:117,1"
      Dst: "[java.util.ArrayList].size()"
    - Src: "ch.qos.logback.core.joran.spi.ElementSelector:129,1"
      Dst: "[java.util.ArrayList].get(int)"
    - Src: "ch.qos.logback.core.joran.spi.ElementSelector:132,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementSelector].equalityCheck(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 13
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.joran.spi.SimpleRuleStore].middleMatch(ch.qos.logback.core.joran.spi.ElementPath)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SimpleRuleStore"
    linkageType: null
    functionLinenumber: 201
    functionDepth: 2
    returnType: "java.util.function.Supplier"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.joran.spi.ElementPath"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ElementPath].peekLast()"
    - "[ch.qos.logback.core.joran.spi.ElementPath].size()"
    - "[ch.qos.logback.core.joran.spi.ElementPath].get(int)"
    - "[ch.qos.logback.core.joran.spi.SimpleRuleStore].isKleeneStar(java.lang.String)"
    - "[ch.qos.logback.core.joran.spi.ElementPath].getCopyOfPartList()"
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.util.COWArrayList].remove(int)"
    - "[ch.qos.logback.core.joran.spi.ElementSelector].<init>(java.util.List)"
    - "[ch.qos.logback.core.joran.spi.ElementSelector].isContainedIn(ch.qos.logback.core.joran.spi.ElementPath)"
    - "[java.util.HashMap].keySet()"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.List].size()"
    - "[java.util.List].remove(int)"
    - "[java.util.HashMap].get(java.lang.Object)"
    functionUses: 1
    ICount: 43
    EdgeCount: 13
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:205"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:230"
        BranchSideFuncs:
        - "peekLast()"
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:229"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:208"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:211"
        BranchSideFuncs:
        - "get(int)"
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:210"
        BranchSideFuncs:
        - "isKleeneStar(java.lang.String)"
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:211"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:228"
        BranchSideFuncs:
        - "getCopyOfPartList()"
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:227"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:211"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:228"
        BranchSideFuncs:
        - "getCopyOfPartList()"
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:227"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:213"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:218"
        BranchSideFuncs:
        - "remove(int)"
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:217"
        BranchSideFuncs:
        - "isContainedIn(ch.qos.logback.core.joran.spi.ElementPath)"
        - "<init>(java.util.List)"
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:220"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:223"
        BranchSideFuncs:
        - "size()"
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:222"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:223"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:228"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:227"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:230"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:233"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:232"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:205,1"
      Dst: "[java.util.HashMap].keySet()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:205,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:205,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:205,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:206,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].peekLast()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:208,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].size()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:209,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].get(int)"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:211,1"
      Dst: "[ch.qos.logback.core.joran.spi.SimpleRuleStore].isKleeneStar(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:212,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].getCopyOfPartList()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:213,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:214,1"
      Dst: "[java.util.List].remove(int)"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:219,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementSelector].<init>(java.util.List)"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:220,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementSelector].isContainedIn(ch.qos.logback.core.joran.spi.ElementPath)"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:231,1"
      Dst: "[java.util.HashMap].get(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 16
    CyclomaticComplexity: 8
  - functionName: "[ch.qos.logback.core.joran.spi.ElementPath].getCopyOfPartList()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementPath"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>(java.util.Collection)"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:93,1"
      Dst: "[java.util.ArrayList].<init>(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ElementSelector].<init>(java.util.List)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementSelector"
    linkageType: null
    functionLinenumber: 36
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ElementPath].<init>(java.util.List)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementSelector:37,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].<init>(java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ElementPath].<init>(java.util.List)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementPath"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.ArrayList].<init>()"
    - "[java.util.ArrayList].addAll(java.util.Collection)"
    functionUses: 2
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:32,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:27,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:33,1"
      Dst: "[java.util.ArrayList].addAll(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ElementSelector].isContainedIn(ch.qos.logback.core.joran.spi.ElementPath)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementSelector"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.joran.spi.ElementPath"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ElementPath].toStableString()"
    - "[java.lang.String].contains(java.lang.CharSequence)"
    functionUses: 1
    ICount: 8
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.ElementSelector:101"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:104"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementSelector:103"
        BranchSideFuncs:
        - "toStableString()"
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementSelector:104,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].toStableString()"
    - Src: "ch.qos.logback.core.joran.spi.ElementSelector:104,1"
      Dst: "[java.lang.String].contains(java.lang.CharSequence)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SimpleRuleStore].removeTransparentPathParts(ch.qos.logback.core.joran.spi.ElementPath)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SimpleRuleStore"
    linkageType: null
    functionLinenumber: 126
    functionDepth: 2
    returnType: "ch.qos.logback.core.joran.spi.ElementPath"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.joran.spi.ElementPath"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.SimpleRuleStore$lambda_removeTransparentPathParts_0__94].bootstrap$(java.lang.String)"
    - "[ch.qos.logback.core.joran.spi.ElementPath].<init>(java.util.List)"
    - "[java.util.ArrayList].size()"
    - "[java.util.ArrayList].<init>(int)"
    - "[java.util.ArrayList].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.Collection].stream()"
    - "[java.util.stream.Stream].noneMatch(java.util.function.Predicate)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 22
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:129"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:135"
        BranchSideFuncs:
        - "bootstrap$(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:134"
        BranchSideFuncs:
        - "<init>(java.util.List)"
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:131"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:133"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:132"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:127,1"
      Dst: "[java.util.ArrayList].size()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:127,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:129,1"
      Dst: "[java.util.ArrayList].iterator()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:129,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:129,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:130,1"
      Dst: "[java.util.Collection].stream()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:130,1"
      Dst: "[ch.qos.logback.core.joran.spi.SimpleRuleStore$lambda_removeTransparentPathParts_0__94].bootstrap$(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:130,1"
      Dst: "[java.util.stream.Stream].noneMatch(java.util.function.Predicate)"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:132,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:135,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].<init>(java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.joran.spi.SimpleRuleStore$lambda_removeTransparentPathParts_0__94].bootstrap$(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SimpleRuleStore$lambda_removeTransparentPathParts_0__94"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Predicate"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.SimpleRuleStore$lambda_removeTransparentPathParts_0__94].<init>(java.lang.String)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore$lambda_removeTransparentPathParts_0__94:-1,1"
      Dst: "[ch.qos.logback.core.joran.spi.SimpleRuleStore$lambda_removeTransparentPathParts_0__94].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SimpleRuleStore].internalMatchAction(ch.qos.logback.core.joran.spi.ElementPath)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SimpleRuleStore"
    linkageType: null
    functionLinenumber: 111
    functionDepth: 3
    returnType: "java.util.function.Supplier"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.joran.spi.ElementPath"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.SimpleRuleStore].fullPathMatch(ch.qos.logback.core.joran.spi.ElementPath)"
    - "[ch.qos.logback.core.joran.spi.SimpleRuleStore].suffixMatch(ch.qos.logback.core.joran.spi.ElementPath)"
    - "[ch.qos.logback.core.joran.spi.SimpleRuleStore].prefixMatch(ch.qos.logback.core.joran.spi.ElementPath)"
    - "[ch.qos.logback.core.joran.spi.SimpleRuleStore].middleMatch(ch.qos.logback.core.joran.spi.ElementPath)"
    functionUses: 2
    ICount: 15
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:112"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:114"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:113"
        BranchSideFuncs:
        - "suffixMatch(ch.qos.logback.core.joran.spi.ElementPath)"
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:114"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:116"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:115"
        BranchSideFuncs:
        - "prefixMatch(ch.qos.logback.core.joran.spi.ElementPath)"
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:116"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:118"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:117"
        BranchSideFuncs:
        - "middleMatch(ch.qos.logback.core.joran.spi.ElementPath)"
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:118"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:121"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:120"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:112,1"
      Dst: "[ch.qos.logback.core.joran.spi.SimpleRuleStore].fullPathMatch(ch.qos.logback.core.joran.spi.ElementPath)"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:114,1"
      Dst: "[ch.qos.logback.core.joran.spi.SimpleRuleStore].suffixMatch(ch.qos.logback.core.joran.spi.ElementPath)"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:116,1"
      Dst: "[ch.qos.logback.core.joran.spi.SimpleRuleStore].prefixMatch(ch.qos.logback.core.joran.spi.ElementPath)"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:118,1"
      Dst: "[ch.qos.logback.core.joran.spi.SimpleRuleStore].middleMatch(ch.qos.logback.core.joran.spi.ElementPath)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SimpleRuleStore].removeTransparentPathParts(ch.qos.logback.core.joran.spi.ElementPath)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SimpleRuleStore"
    linkageType: null
    functionLinenumber: 126
    functionDepth: 2
    returnType: "ch.qos.logback.core.joran.spi.ElementPath"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.joran.spi.ElementPath"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.SimpleRuleStore$lambda_removeTransparentPathParts_0__94].bootstrap$(java.lang.String)"
    - "[ch.qos.logback.core.joran.spi.ElementPath].<init>(java.util.List)"
    - "[java.util.ArrayList].size()"
    - "[java.util.ArrayList].<init>(int)"
    - "[java.util.ArrayList].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.Collection].stream()"
    - "[java.util.stream.Stream].noneMatch(java.util.function.Predicate)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 22
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:129"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:135"
        BranchSideFuncs:
        - "bootstrap$(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:134"
        BranchSideFuncs:
        - "<init>(java.util.List)"
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:131"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:133"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:132"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:127,1"
      Dst: "[java.util.ArrayList].size()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:127,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:129,1"
      Dst: "[java.util.ArrayList].iterator()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:129,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:129,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:130,1"
      Dst: "[java.util.Collection].stream()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:130,1"
      Dst: "[ch.qos.logback.core.joran.spi.SimpleRuleStore$lambda_removeTransparentPathParts_0__94].bootstrap$(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:130,1"
      Dst: "[java.util.stream.Stream].noneMatch(java.util.function.Predicate)"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:132,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:135,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].<init>(java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.joran.spi.SimpleRuleStore].fullPathMatch(ch.qos.logback.core.joran.spi.ElementPath)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SimpleRuleStore"
    linkageType: null
    functionLinenumber: 139
    functionDepth: 2
    returnType: "java.util.function.Supplier"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.joran.spi.ElementPath"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ElementSelector].fullPathMatch(ch.qos.logback.core.joran.spi.ElementPath)"
    - "[java.util.HashMap].keySet()"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.HashMap].get(java.lang.Object)"
    functionUses: 1
    ICount: 17
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:140"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:144"
        BranchSideFuncs:
        - "fullPathMatch(ch.qos.logback.core.joran.spi.ElementPath)"
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:143"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:141"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:143"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:142"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:140,1"
      Dst: "[java.util.HashMap].keySet()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:140,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:140,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:140,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:141,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementSelector].fullPathMatch(ch.qos.logback.core.joran.spi.ElementPath)"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:142,1"
      Dst: "[java.util.HashMap].get(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.spi.SimpleRuleStore].suffixMatch(ch.qos.logback.core.joran.spi.ElementPath)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SimpleRuleStore"
    linkageType: null
    functionLinenumber: 148
    functionDepth: 2
    returnType: "java.util.function.Supplier"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.joran.spi.ElementPath"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.SimpleRuleStore].isSuffixPattern(ch.qos.logback.core.joran.spi.ElementSelector)"
    - "[ch.qos.logback.core.joran.spi.ElementSelector].getTailMatchLength(ch.qos.logback.core.joran.spi.ElementPath)"
    - "[java.util.HashMap].keySet()"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.HashMap].get(java.lang.Object)"
    functionUses: 1
    ICount: 24
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:152"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:162"
        BranchSideFuncs:
        - "isSuffixPattern(ch.qos.logback.core.joran.spi.ElementSelector)"
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:161"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:153"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:160"
        BranchSideFuncs:
        - "getTailMatchLength(ch.qos.logback.core.joran.spi.ElementPath)"
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:159"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:155"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:160"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:159"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:162"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:165"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:164"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:152,1"
      Dst: "[java.util.HashMap].keySet()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:152,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:152,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:152,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:153,1"
      Dst: "[ch.qos.logback.core.joran.spi.SimpleRuleStore].isSuffixPattern(ch.qos.logback.core.joran.spi.ElementSelector)"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:154,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementSelector].getTailMatchLength(ch.qos.logback.core.joran.spi.ElementPath)"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:163,1"
      Dst: "[java.util.HashMap].get(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.joran.spi.SimpleRuleStore].isSuffixPattern(ch.qos.logback.core.joran.spi.ElementSelector)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SimpleRuleStore"
    linkageType: null
    functionLinenumber: 169
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.joran.spi.ElementSelector"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ElementPath].get(int)"
    - "[ch.qos.logback.core.joran.spi.ElementPath].size()"
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 1
    ICount: 12
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:170"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:169"
        BranchSideFuncs:
        - "get(int)"
        - "size()"
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:170"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:169"
        BranchSideFuncs:
        - "get(int)"
        - "size()"
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:170,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].size()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:170,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].get(int)"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:170,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.joran.spi.SimpleRuleStore].prefixMatch(ch.qos.logback.core.joran.spi.ElementPath)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SimpleRuleStore"
    linkageType: null
    functionLinenumber: 173
    functionDepth: 2
    returnType: "java.util.function.Supplier"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.joran.spi.ElementPath"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ElementPath].peekLast()"
    - "[ch.qos.logback.core.joran.spi.SimpleRuleStore].isKleeneStar(java.lang.String)"
    - "[ch.qos.logback.core.joran.spi.ElementSelector].getPrefixMatchLength(ch.qos.logback.core.joran.spi.ElementPath)"
    - "[ch.qos.logback.core.joran.spi.ElementPath].size()"
    - "[java.util.HashMap].keySet()"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.HashMap].get(java.lang.Object)"
    functionUses: 1
    ICount: 28
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:177"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:189"
        BranchSideFuncs:
        - "peekLast()"
        - "isKleeneStar(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:188"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:179"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:187"
        BranchSideFuncs:
        - "getPrefixMatchLength(ch.qos.logback.core.joran.spi.ElementPath)"
        - "size()"
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:186"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:182"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:187"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:186"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:182"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:187"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:186"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:189"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:192"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:191"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:177,1"
      Dst: "[java.util.HashMap].keySet()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:177,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:177,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:177,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:178,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].peekLast()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:179,1"
      Dst: "[ch.qos.logback.core.joran.spi.SimpleRuleStore].isKleeneStar(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:180,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementSelector].getPrefixMatchLength(ch.qos.logback.core.joran.spi.ElementPath)"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:182,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].size()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:190,1"
      Dst: "[java.util.HashMap].get(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.joran.spi.SimpleRuleStore].isKleeneStar(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SimpleRuleStore"
    linkageType: null
    functionLinenumber: 196
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 3
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:197,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SimpleRuleStore].middleMatch(ch.qos.logback.core.joran.spi.ElementPath)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SimpleRuleStore"
    linkageType: null
    functionLinenumber: 201
    functionDepth: 2
    returnType: "java.util.function.Supplier"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.joran.spi.ElementPath"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ElementPath].peekLast()"
    - "[ch.qos.logback.core.joran.spi.ElementPath].size()"
    - "[ch.qos.logback.core.joran.spi.ElementPath].get(int)"
    - "[ch.qos.logback.core.joran.spi.SimpleRuleStore].isKleeneStar(java.lang.String)"
    - "[ch.qos.logback.core.joran.spi.ElementPath].getCopyOfPartList()"
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.util.COWArrayList].remove(int)"
    - "[ch.qos.logback.core.joran.spi.ElementSelector].<init>(java.util.List)"
    - "[ch.qos.logback.core.joran.spi.ElementSelector].isContainedIn(ch.qos.logback.core.joran.spi.ElementPath)"
    - "[java.util.HashMap].keySet()"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.List].size()"
    - "[java.util.List].remove(int)"
    - "[java.util.HashMap].get(java.lang.Object)"
    functionUses: 1
    ICount: 43
    EdgeCount: 13
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:205"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:230"
        BranchSideFuncs:
        - "peekLast()"
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:229"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:208"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:211"
        BranchSideFuncs:
        - "get(int)"
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:210"
        BranchSideFuncs:
        - "isKleeneStar(java.lang.String)"
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:211"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:228"
        BranchSideFuncs:
        - "getCopyOfPartList()"
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:227"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:211"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:228"
        BranchSideFuncs:
        - "getCopyOfPartList()"
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:227"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:213"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:218"
        BranchSideFuncs:
        - "remove(int)"
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:217"
        BranchSideFuncs:
        - "isContainedIn(ch.qos.logback.core.joran.spi.ElementPath)"
        - "<init>(java.util.List)"
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:220"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:223"
        BranchSideFuncs:
        - "size()"
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:222"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:223"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:228"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:227"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.SimpleRuleStore:230"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:233"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SimpleRuleStore:232"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:205,1"
      Dst: "[java.util.HashMap].keySet()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:205,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:205,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:205,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:206,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].peekLast()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:208,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].size()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:209,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].get(int)"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:211,1"
      Dst: "[ch.qos.logback.core.joran.spi.SimpleRuleStore].isKleeneStar(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:212,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].getCopyOfPartList()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:213,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:214,1"
      Dst: "[java.util.List].remove(int)"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:219,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementSelector].<init>(java.util.List)"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:220,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementSelector].isContainedIn(ch.qos.logback.core.joran.spi.ElementPath)"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:231,1"
      Dst: "[java.util.HashMap].get(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 16
    CyclomaticComplexity: 8
  - functionName: "[ch.qos.logback.core.joran.spi.SimpleRuleStore].toString()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SimpleRuleStore"
    linkageType: null
    functionLinenumber: 239
    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].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 3
    ICount: 11
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:240,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:242,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:242,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:244,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SimpleRuleStore].lambda$removeTransparentPathParts$0(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SimpleRuleStore"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SimpleRuleStore:130,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.CloseUtil].<init>()"
    functionSourceFile: "ch.qos.logback.core.util.CloseUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.CloseUtil:26,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.CloseUtil].closeQuietly(java.io.Closeable)"
    functionSourceFile: "ch.qos.logback.core.util.CloseUtil"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.Closeable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.MDC$MDCCloseable].close()"
    - "[ch.qos.logback.core.recovery.ResilientOutputStreamBase].close()"
    - "[ch.qos.logback.core.net.server.ServerSocketListener].close()"
    - "[ch.qos.logback.core.net.server.ConcurrentServerRunner$ClientWrapper].close()"
    - "[ch.qos.logback.classic.net.server.RemoteAppenderStreamClient].close()"
    - "[ch.qos.logback.core.net.server.RemoteReceiverStreamClient].close()"
    - "[ch.qos.logback.core.testUtil.XTeeOutputStream].close()"
    - "[ch.qos.logback.core.encoder.NonClosableInputStream:ch.qos.logback.core.net.SyslogOutputStream].close()"
    - "[java.io.Closeable].close()"
    functionUses: 14
    ICount: 7
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.CloseUtil:34"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.CloseUtil:37"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.CloseUtil:36"
        BranchSideFuncs:
        - "close()"
    Callsites:
    - Src: "ch.qos.logback.core.util.CloseUtil:37,1"
      Dst: "[java.io.Closeable].close()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.CloseUtil].closeQuietly(java.net.Socket)"
    functionSourceFile: "ch.qos.logback.core.util.CloseUtil"
    linkageType: null
    functionLinenumber: 48
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.net.Socket"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.net.Socket].close()"
    functionUses: 12
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.CloseUtil:49"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.CloseUtil:52"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.CloseUtil:51"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.CloseUtil:52,1"
      Dst: "[java.net.Socket].close()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.CloseUtil].closeQuietly(java.net.ServerSocket)"
    functionSourceFile: "ch.qos.logback.core.util.CloseUtil"
    linkageType: null
    functionLinenumber: 63
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.net.ServerSocket"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.net.ServerSocket].close()"
    functionUses: 2
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.CloseUtil:64"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.CloseUtil:67"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.CloseUtil:66"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.CloseUtil:67,1"
      Dst: "[java.net.ServerSocket].close()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.spi.NOPLoggingEventBuilder].<init>()"
    functionSourceFile: "org.slf4j.spi.NOPLoggingEventBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.spi.NOPLoggingEventBuilder:23,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.spi.NOPLoggingEventBuilder].singleton()"
    functionSourceFile: "org.slf4j.spi.NOPLoggingEventBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "org.slf4j.spi.LoggingEventBuilder"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.spi.NOPLoggingEventBuilder].addMarker(org.slf4j.Marker)"
    functionSourceFile: "org.slf4j.spi.NOPLoggingEventBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "org.slf4j.spi.LoggingEventBuilder"
    argCount: 1
    argTypes:
    - "org.slf4j.Marker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.spi.NOPLoggingEventBuilder].singleton()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.spi.NOPLoggingEventBuilder:38,1"
      Dst: "[org.slf4j.spi.NOPLoggingEventBuilder].singleton()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.spi.NOPLoggingEventBuilder].singleton()"
    functionSourceFile: "org.slf4j.spi.NOPLoggingEventBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "org.slf4j.spi.LoggingEventBuilder"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.spi.NOPLoggingEventBuilder].addArgument(java.lang.Object)"
    functionSourceFile: "org.slf4j.spi.NOPLoggingEventBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "org.slf4j.spi.LoggingEventBuilder"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.spi.NOPLoggingEventBuilder].singleton()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.spi.NOPLoggingEventBuilder:43,1"
      Dst: "[org.slf4j.spi.NOPLoggingEventBuilder].singleton()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.spi.NOPLoggingEventBuilder].singleton()"
    functionSourceFile: "org.slf4j.spi.NOPLoggingEventBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "org.slf4j.spi.LoggingEventBuilder"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.spi.NOPLoggingEventBuilder].addArgument(java.util.function.Supplier)"
    functionSourceFile: "org.slf4j.spi.NOPLoggingEventBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "org.slf4j.spi.LoggingEventBuilder"
    argCount: 1
    argTypes:
    - "java.util.function.Supplier"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.spi.NOPLoggingEventBuilder].singleton()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.spi.NOPLoggingEventBuilder:48,1"
      Dst: "[org.slf4j.spi.NOPLoggingEventBuilder].singleton()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.spi.NOPLoggingEventBuilder].singleton()"
    functionSourceFile: "org.slf4j.spi.NOPLoggingEventBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "org.slf4j.spi.LoggingEventBuilder"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.spi.NOPLoggingEventBuilder].addKeyValue(java.lang.String,java.lang.Object)"
    functionSourceFile: "org.slf4j.spi.NOPLoggingEventBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "org.slf4j.spi.LoggingEventBuilder"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.spi.NOPLoggingEventBuilder].singleton()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.spi.NOPLoggingEventBuilder:53,1"
      Dst: "[org.slf4j.spi.NOPLoggingEventBuilder].singleton()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.spi.NOPLoggingEventBuilder].singleton()"
    functionSourceFile: "org.slf4j.spi.NOPLoggingEventBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "org.slf4j.spi.LoggingEventBuilder"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.spi.NOPLoggingEventBuilder].addKeyValue(java.lang.String,java.util.function.Supplier)"
    functionSourceFile: "org.slf4j.spi.NOPLoggingEventBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "org.slf4j.spi.LoggingEventBuilder"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.util.function.Supplier"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.spi.NOPLoggingEventBuilder].singleton()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.spi.NOPLoggingEventBuilder:58,1"
      Dst: "[org.slf4j.spi.NOPLoggingEventBuilder].singleton()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.spi.NOPLoggingEventBuilder].singleton()"
    functionSourceFile: "org.slf4j.spi.NOPLoggingEventBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "org.slf4j.spi.LoggingEventBuilder"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.spi.NOPLoggingEventBuilder].setCause(java.lang.Throwable)"
    functionSourceFile: "org.slf4j.spi.NOPLoggingEventBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "org.slf4j.spi.LoggingEventBuilder"
    argCount: 1
    argTypes:
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.spi.NOPLoggingEventBuilder].singleton()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.spi.NOPLoggingEventBuilder:63,1"
      Dst: "[org.slf4j.spi.NOPLoggingEventBuilder].singleton()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.spi.NOPLoggingEventBuilder].singleton()"
    functionSourceFile: "org.slf4j.spi.NOPLoggingEventBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "org.slf4j.spi.LoggingEventBuilder"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.spi.NOPLoggingEventBuilder].log()"
    functionSourceFile: "org.slf4j.spi.NOPLoggingEventBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.spi.NOPLoggingEventBuilder].setMessage(java.lang.String)"
    functionSourceFile: "org.slf4j.spi.NOPLoggingEventBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "org.slf4j.spi.LoggingEventBuilder"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.spi.NOPLoggingEventBuilder].setMessage(java.util.function.Supplier)"
    functionSourceFile: "org.slf4j.spi.NOPLoggingEventBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "org.slf4j.spi.LoggingEventBuilder"
    argCount: 1
    argTypes:
    - "java.util.function.Supplier"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.spi.NOPLoggingEventBuilder].log(java.lang.String)"
    functionSourceFile: "org.slf4j.spi.NOPLoggingEventBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.spi.NOPLoggingEventBuilder].log(java.util.function.Supplier)"
    functionSourceFile: "org.slf4j.spi.NOPLoggingEventBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.function.Supplier"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.spi.NOPLoggingEventBuilder].log(java.lang.String,java.lang.Object)"
    functionSourceFile: "org.slf4j.spi.NOPLoggingEventBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.spi.NOPLoggingEventBuilder].log(java.lang.String,java.lang.Object,java.lang.Object)"
    functionSourceFile: "org.slf4j.spi.NOPLoggingEventBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.spi.NOPLoggingEventBuilder].log(java.lang.String,java.lang.Object[])"
    functionSourceFile: "org.slf4j.spi.NOPLoggingEventBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.LoggerConverter].<init>()"
    functionSourceFile: "ch.qos.logback.classic.pattern.LoggerConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.NamedConverter].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.LoggerConverter:18,1"
      Dst: "[ch.qos.logback.classic.pattern.NamedConverter].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.LoggerConverter].getFullyQualifiedName(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.pattern.LoggerConverter"
    linkageType: null
    functionLinenumber: 20
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getLoggerName()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerName()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.LoggerConverter:21,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerName()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker:24,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker].check(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker"
    linkageType: null
    functionLinenumber: 29
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.sanity.SanityChecker].deepFindAllModelsOfType(java.lang.Class,java.util.List,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.joran.sanity.SanityChecker].deepFindNestedSubModelsOfType(java.lang.Class,java.util.List)"
    - "[ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker$lambda_check_0__55].bootstrap$(ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker)"
    - "[ch.qos.logback.core.util.COWArrayList].isEmpty()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.model.Model].getLineNumber()"
    - "[java.util.ArrayList].<init>()"
    - "[java.util.Collection].stream()"
    - "[java.util.stream.Stream].filter(java.util.function.Predicate)"
    - "[java.util.stream.Collectors].toList()"
    - "[java.util.stream.Stream].collect(java.util.stream.Collector)"
    - "[java.util.List].isEmpty()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int)"
    functionUses: 1
    ICount: 34
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker:30"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker:33"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker:32"
        BranchSideFuncs:
        - "isEmpty()"
        - "deepFindNestedSubModelsOfType(java.lang.Class,java.util.List)"
        - "bootstrap$(ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker)"
        - "deepFindAllModelsOfType(java.lang.Class,java.util.List,ch.qos.logback.core.model.Model)"
    - Branch String: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker:40"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker:43"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker:42"
        BranchSideFuncs:
        - "iterator()"
    - Branch String: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker:44"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker:47"
        BranchSideFuncs:
        - "iterator()"
        - "addWarn(java.lang.String)"
        - "getLineNumber()"
      - BranchSide: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker:46"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker:33,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker:34,1"
      Dst: "[ch.qos.logback.core.joran.sanity.SanityChecker].deepFindAllModelsOfType(java.lang.Class,java.util.List,ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker:36,1"
      Dst: "[ch.qos.logback.core.joran.sanity.SanityChecker].deepFindNestedSubModelsOfType(java.lang.Class,java.util.List)"
    - Src: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker:38,1"
      Dst: "[java.util.Collection].stream()"
    - Src: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker:38,1"
      Dst: "[ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker$lambda_check_0__55].bootstrap$(ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker)"
    - Src: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker:38,1"
      Dst: "[java.util.stream.Stream].filter(java.util.function.Predicate)"
    - Src: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker:38,1"
      Dst: "[java.util.stream.Collectors].toList()"
    - Src: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker:38,1"
      Dst: "[java.util.stream.Stream].collect(java.util.stream.Collector)"
    - Src: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker:40,1"
      Dst: "[java.util.List].isEmpty()"
    - Src: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker:43,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker:44,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker:44,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker:44,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker:45,1"
      Dst: "[ch.qos.logback.core.model.Model].getLineNumber()"
    - Src: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker:45,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker$lambda_check_0__55].bootstrap$(ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker)"
    functionSourceFile: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker$lambda_check_0__55"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Predicate"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker$lambda_check_0__55].<init>(ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker$lambda_check_0__55:-1,1"
      Dst: "[ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker$lambda_check_0__55].<init>(ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 96
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].getLineNumber()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 112
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 8
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker].isSiftingAppender(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.ComponentModel].getClassName()"
    - "[java.lang.String].contains(java.lang.CharSequence)"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker:50"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker:57"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker:56"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker:53"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker:55"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker:54"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker:52,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].getClassName()"
    - Src: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker:55,1"
      Dst: "[java.lang.String].contains(java.lang.CharSequence)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker].lambda$check$0(ch.qos.logback.core.joran.sanity.Pair)"
    functionSourceFile: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.joran.sanity.Pair"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker].isSiftingAppender(ch.qos.logback.core.model.Model)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker:38"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker:37"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker:38,1"
      Dst: "[ch.qos.logback.core.joran.sanity.AppenderWithinAppenderSanityChecker].isSiftingAppender(ch.qos.logback.core.model.Model)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.pattern.parser.OptionTokenizer].<init>(ch.qos.logback.core.pattern.parser.TokenStream)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.OptionTokenizer"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.pattern.parser.TokenStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.OptionTokenizer].<init>(ch.qos.logback.core.pattern.parser.TokenStream,ch.qos.logback.core.pattern.util.IEscapeUtil)"
    - "[ch.qos.logback.core.pattern.util.AsIsEscapeUtil].<init>()"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.OptionTokenizer:47,1"
      Dst: "[ch.qos.logback.core.pattern.util.AsIsEscapeUtil].<init>()"
    - Src: "ch.qos.logback.core.pattern.parser.OptionTokenizer:47,1"
      Dst: "[ch.qos.logback.core.pattern.parser.OptionTokenizer].<init>(ch.qos.logback.core.pattern.parser.TokenStream,ch.qos.logback.core.pattern.util.IEscapeUtil)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.OptionTokenizer].<init>(ch.qos.logback.core.pattern.parser.TokenStream,ch.qos.logback.core.pattern.util.IEscapeUtil)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.OptionTokenizer"
    linkageType: null
    functionLinenumber: 49
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.pattern.parser.TokenStream"
    - "ch.qos.logback.core.pattern.util.IEscapeUtil"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 12
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.OptionTokenizer:50,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.OptionTokenizer].tokenize(char,java.util.List)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.OptionTokenizer"
    linkageType: null
    functionLinenumber: 57
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "char"
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.OptionTokenizer].emitOptionToken(java.util.List,java.util.List)"
    - "[ch.qos.logback.core.pattern.parser.OptionTokenizer].escape(java.lang.String,java.lang.StringBuffer)"
    - "[ch.qos.logback.core.spi.ScanException].<init>(java.lang.String)"
    - "[java.lang.StringBuffer].<init>()"
    - "[java.util.ArrayList].<init>()"
    - "[java.lang.StringBuffer].append(char)"
    - "[java.lang.StringBuffer].toString()"
    - "[java.lang.String].trim()"
    - "[java.util.List].add(java.lang.Object)"
    - "[java.lang.StringBuffer].setLength(int)"
    - "[java.lang.String].valueOf(char)"
    - "[java.lang.String].charAt(int)"
    functionUses: 1
    ICount: 85
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.OptionTokenizer:62"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.OptionTokenizer:null"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.OptionTokenizer:101"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.OptionTokenizer:null"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.OptionTokenizer:105"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.OptionTokenizer:108"
        BranchSideFuncs:
        - "escape(java.lang.String,java.lang.StringBuffer)"
      - BranchSide: "ch.qos.logback.core.pattern.parser.OptionTokenizer:107"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.OptionTokenizer:119"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.OptionTokenizer:129"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.OptionTokenizer:128"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
    - Branch String: "ch.qos.logback.core.pattern.parser.OptionTokenizer:120"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.OptionTokenizer:122"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.OptionTokenizer:121"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.OptionTokenizer:122"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.OptionTokenizer:126"
        BranchSideFuncs:
        - "emitOptionToken(java.util.List,java.util.List)"
      - BranchSide: "ch.qos.logback.core.pattern.parser.OptionTokenizer:125"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.OptionTokenizer:58,1"
      Dst: "[java.lang.StringBuffer].<init>()"
    - Src: "ch.qos.logback.core.pattern.parser.OptionTokenizer:59,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.core.pattern.parser.OptionTokenizer:78,1"
      Dst: "[ch.qos.logback.core.pattern.parser.OptionTokenizer].emitOptionToken(java.util.List,java.util.List)"
    - Src: "ch.qos.logback.core.pattern.parser.OptionTokenizer:81,1"
      Dst: "[java.lang.StringBuffer].append(char)"
    - Src: "ch.qos.logback.core.pattern.parser.OptionTokenizer:88,1"
      Dst: "[java.lang.StringBuffer].toString()"
    - Src: "ch.qos.logback.core.pattern.parser.OptionTokenizer:88,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.pattern.parser.OptionTokenizer:88,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "ch.qos.logback.core.pattern.parser.OptionTokenizer:89,1"
      Dst: "[java.lang.StringBuffer].setLength(int)"
    - Src: "ch.qos.logback.core.pattern.parser.OptionTokenizer:106,1"
      Dst: "[java.lang.String].valueOf(char)"
    - Src: "ch.qos.logback.core.pattern.parser.OptionTokenizer:106,1"
      Dst: "[ch.qos.logback.core.pattern.parser.OptionTokenizer].escape(java.lang.String,java.lang.StringBuffer)"
    - Src: "ch.qos.logback.core.pattern.parser.OptionTokenizer:114,1"
      Dst: "[java.lang.String].charAt(int)"
    - Src: "ch.qos.logback.core.pattern.parser.OptionTokenizer:126,1"
      Dst: "[ch.qos.logback.core.spi.ScanException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 26
    CyclomaticComplexity: 11
  - functionName: "[ch.qos.logback.core.pattern.parser.OptionTokenizer].emitOptionToken(java.util.List,java.util.List)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.OptionTokenizer"
    linkageType: null
    functionLinenumber: 133
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.util.List"
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.Token].<init>(int,java.util.List)"
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 4
    ICount: 10
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.OptionTokenizer:134,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Token].<init>(int,java.util.List)"
    - Src: "ch.qos.logback.core.pattern.parser.OptionTokenizer:134,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.OptionTokenizer].escape(java.lang.String,java.lang.StringBuffer)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.OptionTokenizer"
    linkageType: null
    functionLinenumber: 138
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.StringBuffer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.util.AsIsEscapeUtil].escape(java.lang.String,java.lang.StringBuffer,char,int)"
    - "[ch.qos.logback.core.pattern.util.AlmostAsIsEscapeUtil].escape(java.lang.String,java.lang.StringBuffer,char,int)"
    - "[ch.qos.logback.core.pattern.util.RegularEscapeUtil].escape(java.lang.String,java.lang.StringBuffer,char,int)"
    - "[ch.qos.logback.core.pattern.util.RestrictedEscapeUtil].escape(java.lang.String,java.lang.StringBuffer,char,int)"
    - "[java.lang.String].charAt(int)"
    - "[ch.qos.logback.core.pattern.util.IEscapeUtil].escape(java.lang.String,java.lang.StringBuffer,char,int)"
    functionUses: 1
    ICount: 18
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.OptionTokenizer:139"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.OptionTokenizer:143"
        BranchSideFuncs:
        - "escape(java.lang.String,java.lang.StringBuffer,char,int)"
      - BranchSide: "ch.qos.logback.core.pattern.parser.OptionTokenizer:142"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.OptionTokenizer:140,1"
      Dst: "[java.lang.String].charAt(int)"
    - Src: "ch.qos.logback.core.pattern.parser.OptionTokenizer:141,1"
      Dst: "[ch.qos.logback.core.pattern.util.IEscapeUtil].escape(java.lang.String,java.lang.StringBuffer,char,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.joran.action.ClassicEvaluatorAction].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.action.ClassicEvaluatorAction"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.EventEvaluatorAction].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.action.ClassicEvaluatorAction:19,1"
      Dst: "[ch.qos.logback.core.joran.action.EventEvaluatorAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.action.ClassicEvaluatorAction].defaultClassName()"
    functionSourceFile: "ch.qos.logback.classic.joran.action.ClassicEvaluatorAction"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].getName()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.action.ClassicEvaluatorAction:21,1"
      Dst: "[java.lang.Class].getName()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.IncludeModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.IncludeModel"
    linkageType: null
    functionLinenumber: 4
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.IncludeModel:5,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.IncludeModel].getOptional()"
    functionSourceFile: "ch.qos.logback.core.model.IncludeModel"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.IncludeModel].setOptional(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.IncludeModel"
    linkageType: null
    functionLinenumber: 18
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.IncludeModel].getFile()"
    functionSourceFile: "ch.qos.logback.core.model.IncludeModel"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.IncludeModel].setFile(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.IncludeModel"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.IncludeModel].getUrl()"
    functionSourceFile: "ch.qos.logback.core.model.IncludeModel"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.IncludeModel].setUrl(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.IncludeModel"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.IncludeModel].getResource()"
    functionSourceFile: "ch.qos.logback.core.model.IncludeModel"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.IncludeModel].setResource(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.IncludeModel"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LogbackServiceProvider].<init>()"
    functionSourceFile: "ch.qos.logback.classic.spi.LogbackServiceProvider"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LogbackServiceProvider:18,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LogbackServiceProvider].initialize()"
    functionSourceFile: "ch.qos.logback.classic.spi.LogbackServiceProvider"
    linkageType: null
    functionLinenumber: 38
    functionDepth: 10
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].<init>()"
    - "[ch.qos.logback.classic.LoggerContext].setName(java.lang.String)"
    - "[ch.qos.logback.classic.spi.LogbackServiceProvider].initializeLoggerContext()"
    - "[ch.qos.logback.classic.LoggerContext].start()"
    - "[org.slf4j.helpers.BasicMarkerFactory].<init>()"
    - "[ch.qos.logback.classic.util.LogbackMDCAdapter].<init>()"
    - "[ch.qos.logback.classic.LoggerContext].setMDCAdapter(org.slf4j.spi.MDCAdapter)"
    functionUses: 1
    ICount: 19
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LogbackServiceProvider:39,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].<init>()"
    - Src: "ch.qos.logback.classic.spi.LogbackServiceProvider:40,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].setName(java.lang.String)"
    - Src: "ch.qos.logback.classic.spi.LogbackServiceProvider:41,1"
      Dst: "[ch.qos.logback.classic.spi.LogbackServiceProvider].initializeLoggerContext()"
    - Src: "ch.qos.logback.classic.spi.LogbackServiceProvider:42,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].start()"
    - Src: "ch.qos.logback.classic.spi.LogbackServiceProvider:43,1"
      Dst: "[org.slf4j.helpers.BasicMarkerFactory].<init>()"
    - Src: "ch.qos.logback.classic.spi.LogbackServiceProvider:44,1"
      Dst: "[ch.qos.logback.classic.util.LogbackMDCAdapter].<init>()"
    - Src: "ch.qos.logback.classic.spi.LogbackServiceProvider:46,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].setMDCAdapter(org.slf4j.spi.MDCAdapter)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].<init>()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 83
    functionDepth: 4
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.TurboFilterList].<init>()"
    - "[ch.qos.logback.core.ContextBase].<init>()"
    - "[ch.qos.logback.classic.spi.LoggerContextVO].<init>(ch.qos.logback.classic.LoggerContext)"
    - "[ch.qos.logback.classic.Logger].<init>(java.lang.String,ch.qos.logback.classic.Logger,ch.qos.logback.classic.LoggerContext)"
    - "[ch.qos.logback.classic.Logger].setLevel(ch.qos.logback.classic.Level)"
    - "[ch.qos.logback.classic.LoggerContext].initEvaluatorMap()"
    - "[java.util.ArrayList].<init>()"
    - "[java.util.concurrent.ConcurrentHashMap].<init>()"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 2
    ICount: 34
    EdgeCount: 6
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:84,1"
      Dst: "[ch.qos.logback.core.ContextBase].<init>()"
    - Src: "ch.qos.logback.classic.LoggerContext:66,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.classic.LoggerContext:71,1"
      Dst: "[ch.qos.logback.classic.spi.TurboFilterList].<init>()"
    - Src: "ch.qos.logback.classic.LoggerContext:85,1"
      Dst: "[java.util.concurrent.ConcurrentHashMap].<init>()"
    - Src: "ch.qos.logback.classic.LoggerContext:87,1"
      Dst: "[ch.qos.logback.classic.spi.LoggerContextVO].<init>(ch.qos.logback.classic.LoggerContext)"
    - Src: "ch.qos.logback.classic.LoggerContext:88,1"
      Dst: "[ch.qos.logback.classic.Logger].<init>(java.lang.String,ch.qos.logback.classic.Logger,ch.qos.logback.classic.LoggerContext)"
    - Src: "ch.qos.logback.classic.LoggerContext:89,1"
      Dst: "[ch.qos.logback.classic.Logger].setLevel(ch.qos.logback.classic.Level)"
    - Src: "ch.qos.logback.classic.LoggerContext:90,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - Src: "ch.qos.logback.classic.LoggerContext:91,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].initEvaluatorMap()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].<init>()"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 65
    functionDepth: 3
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.BasicStatusManager].<init>()"
    - "[ch.qos.logback.core.spi.LogbackLock].<init>()"
    - "[ch.qos.logback.core.ContextBase].initCollisionMaps()"
    - "[java.lang.Object].<init>()"
    - "[java.lang.System].currentTimeMillis()"
    - "[java.util.HashMap].<init>()"
    - "[java.util.concurrent.ConcurrentHashMap].<init>()"
    - "[java.util.concurrent.CopyOnWriteArrayList].<init>()"
    - "[java.util.ArrayList].<init>(int)"
    functionUses: 1
    ICount: 24
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase:66,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.ContextBase:40,1"
      Dst: "[java.lang.System].currentTimeMillis()"
    - Src: "ch.qos.logback.core.ContextBase:43,1"
      Dst: "[ch.qos.logback.core.BasicStatusManager].<init>()"
    - Src: "ch.qos.logback.core.ContextBase:47,1"
      Dst: "[java.util.HashMap].<init>()"
    - Src: "ch.qos.logback.core.ContextBase:48,1"
      Dst: "[java.util.concurrent.ConcurrentHashMap].<init>()"
    - Src: "ch.qos.logback.core.ContextBase:50,1"
      Dst: "[ch.qos.logback.core.spi.LogbackLock].<init>()"
    - Src: "ch.qos.logback.core.ContextBase:52,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].<init>()"
    - Src: "ch.qos.logback.core.ContextBase:60,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    - Src: "ch.qos.logback.core.ContextBase:67,1"
      Dst: "[ch.qos.logback.core.ContextBase].initCollisionMaps()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.BasicStatusManager].<init>()"
    functionSourceFile: "ch.qos.logback.core.BasicStatusManager"
    linkageType: null
    functionLinenumber: 25
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.helpers.CyclicBuffer].<init>(int)"
    - "[ch.qos.logback.core.spi.LogbackLock].<init>()"
    - "[java.lang.Object].<init>()"
    - "[java.util.ArrayList].<init>()"
    functionUses: 1
    ICount: 20
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.BasicStatusManager:26,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.BasicStatusManager:34,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.core.BasicStatusManager:35,1"
      Dst: "[ch.qos.logback.core.helpers.CyclicBuffer].<init>(int)"
    - Src: "ch.qos.logback.core.BasicStatusManager:36,1"
      Dst: "[ch.qos.logback.core.spi.LogbackLock].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.helpers.CyclicBuffer].<init>(int)"
    functionSourceFile: "ch.qos.logback.core.helpers.CyclicBuffer"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.helpers.CyclicBuffer].init(int)"
    - "[java.lang.Object].<init>()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 3
    ICount: 10
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.helpers.CyclicBuffer:44"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:47"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:46"
        BranchSideFuncs:
        - "init(int)"
    Callsites:
    - Src: "ch.qos.logback.core.helpers.CyclicBuffer:43,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.helpers.CyclicBuffer:45,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - Src: "ch.qos.logback.core.helpers.CyclicBuffer:45,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.helpers.CyclicBuffer:47,1"
      Dst: "[ch.qos.logback.core.helpers.CyclicBuffer].init(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.LogbackLock].<init>()"
    functionSourceFile: "ch.qos.logback.core.spi.LogbackLock"
    linkageType: null
    functionLinenumber: 21
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.LogbackLock:22,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].initCollisionMaps()"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 105
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].putObject(java.lang.String,java.lang.Object)"
    - "[java.util.HashMap].<init>()"
    functionUses: 2
    ICount: 8
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ContextBase:106,1"
      Dst: "[java.util.HashMap].<init>()"
    - Src: "ch.qos.logback.core.ContextBase:106,1"
      Dst: "[ch.qos.logback.core.ContextBase].putObject(java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.TurboFilterList].<init>()"
    functionSourceFile: "ch.qos.logback.classic.spi.TurboFilterList"
    linkageType: null
    functionLinenumber: 29
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.CopyOnWriteArrayList].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.TurboFilterList:30,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggerContextVO].<init>(ch.qos.logback.classic.LoggerContext)"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggerContextVO"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.LoggerContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getName()"
    - "[ch.qos.logback.core.ContextBase].getCopyOfPropertyMap()"
    - "[ch.qos.logback.core.ContextBase].getBirthTime()"
    - "[java.lang.Object].<init>()"
    functionUses: 2
    ICount: 10
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggerContextVO:44,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.classic.spi.LoggerContextVO:45,1"
      Dst: "[ch.qos.logback.core.ContextBase].getName()"
    - Src: "ch.qos.logback.classic.spi.LoggerContextVO:46,1"
      Dst: "[ch.qos.logback.core.ContextBase].getCopyOfPropertyMap()"
    - Src: "ch.qos.logback.classic.spi.LoggerContextVO:47,1"
      Dst: "[ch.qos.logback.core.ContextBase].getBirthTime()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].<init>(java.lang.String,ch.qos.logback.classic.Logger,ch.qos.logback.classic.LoggerContext)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "ch.qos.logback.classic.Logger"
    - "ch.qos.logback.classic.LoggerContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 2
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:105,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].setLevel(ch.qos.logback.classic.Level)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 150
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.Level"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].isRootLogger()"
    - "[ch.qos.logback.classic.Logger].getEffectiveLevel()"
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.util.COWArrayList].get(int)"
    - "[ch.qos.logback.classic.Logger].handleParentLevelChange(int)"
    - "[ch.qos.logback.classic.LoggerContext].fireOnLevelChange(ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    functionUses: 6
    ICount: 37
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:151"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:154"
        BranchSideFuncs:
        - "isRootLogger()"
    - Branch String: "ch.qos.logback.classic.Logger:155"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:159"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:158"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:155"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:159"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:158"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:160"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:164"
        BranchSideFuncs:
        - "getEffectiveLevel()"
      - BranchSide: "ch.qos.logback.classic.Logger:163"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:167"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:176"
        BranchSideFuncs:
        - "size()"
      - BranchSide: "ch.qos.logback.classic.Logger:175"
        BranchSideFuncs:
        - "fireOnLevelChange(ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level)"
    - Branch String: "ch.qos.logback.classic.Logger:169"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:175"
        BranchSideFuncs:
        - "fireOnLevelChange(ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level)"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:155,1"
      Dst: "[ch.qos.logback.classic.Logger].isRootLogger()"
    - Src: "ch.qos.logback.classic.Logger:156,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.classic.Logger:162,1"
      Dst: "[ch.qos.logback.classic.Logger].getEffectiveLevel()"
    - Src: "ch.qos.logback.classic.Logger:168,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.classic.Logger:170,1"
      Dst: "[java.util.List].get(int)"
    - Src: "ch.qos.logback.classic.Logger:172,1"
      Dst: "[ch.qos.logback.classic.Logger].handleParentLevelChange(int)"
    - Src: "ch.qos.logback.classic.Logger:176,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].fireOnLevelChange(ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 13
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.classic.LoggerContext].initEvaluatorMap()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 96
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].putObject(java.lang.String,java.lang.Object)"
    - "[java.util.HashMap].<init>()"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:97,1"
      Dst: "[java.util.HashMap].<init>()"
    - Src: "ch.qos.logback.classic.LoggerContext:97,1"
      Dst: "[ch.qos.logback.core.ContextBase].putObject(java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].setName(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 115
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].setName(java.lang.String)"
    - "[ch.qos.logback.classic.LoggerContext].updateLoggerContextVO()"
    functionUses: 3
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:116,1"
      Dst: "[ch.qos.logback.core.ContextBase].setName(java.lang.String)"
    - Src: "ch.qos.logback.classic.LoggerContext:117,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].updateLoggerContextVO()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LogbackServiceProvider].initializeLoggerContext()"
    functionSourceFile: "ch.qos.logback.classic.spi.LogbackServiceProvider"
    linkageType: null
    functionLinenumber: 51
    functionDepth: 9
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.util.ContextInitializer].<init>(ch.qos.logback.classic.LoggerContext)"
    - "[ch.qos.logback.classic.util.ContextInitializer].autoConfig()"
    - "[org.slf4j.helpers.Util].report(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.status.StatusUtil].contextHasStatusListener(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.util.StatusPrinter].printInCaseOfErrorsOrWarnings(ch.qos.logback.core.Context)"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 20
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.LogbackServiceProvider:57"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LogbackServiceProvider:64"
        BranchSideFuncs:
        - "printInCaseOfErrorsOrWarnings(ch.qos.logback.core.Context)"
      - BranchSide: "ch.qos.logback.classic.spi.LogbackServiceProvider:63"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LogbackServiceProvider:52,1"
      Dst: "[ch.qos.logback.classic.util.ContextInitializer].<init>(ch.qos.logback.classic.LoggerContext)"
    - Src: "ch.qos.logback.classic.spi.LogbackServiceProvider:52,1"
      Dst: "[ch.qos.logback.classic.util.ContextInitializer].autoConfig()"
    - Src: "ch.qos.logback.classic.spi.LogbackServiceProvider:54,1"
      Dst: "[org.slf4j.helpers.Util].report(java.lang.String,java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.spi.LogbackServiceProvider:57,1"
      Dst: "[ch.qos.logback.core.status.StatusUtil].contextHasStatusListener(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.spi.LogbackServiceProvider:58,1"
      Dst: "[ch.qos.logback.core.util.StatusPrinter].printInCaseOfErrorsOrWarnings(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.spi.LogbackServiceProvider:63,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.classic.spi.LogbackServiceProvider:63,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.util.ContextInitializer].<init>(ch.qos.logback.classic.LoggerContext)"
    functionSourceFile: "ch.qos.logback.classic.util.ContextInitializer"
    linkageType: null
    functionLinenumber: 59
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.LoggerContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareImpl].<init>(ch.qos.logback.core.Context,java.lang.Object)"
    - "[ch.qos.logback.classic.util.ContextInitializer$1].<init>(ch.qos.logback.classic.util.ContextInitializer)"
    - "[java.lang.Object].<init>()"
    functionUses: 2
    ICount: 16
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.ContextInitializer:60,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:166,1"
      Dst: "[ch.qos.logback.classic.util.ContextInitializer$1].<init>(ch.qos.logback.classic.util.ContextInitializer)"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:62,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].<init>(ch.qos.logback.core.Context,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.ContextInitializer$1].<init>(ch.qos.logback.classic.util.ContextInitializer)"
    functionSourceFile: "ch.qos.logback.classic.util.ContextInitializer$1"
    linkageType: null
    functionLinenumber: 165
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.util.ContextInitializer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.ContextInitializer$1:166,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareImpl].<init>(ch.qos.logback.core.Context,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareImpl"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 4
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:35,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.ContextInitializer].autoConfig()"
    functionSourceFile: "ch.qos.logback.classic.util.ContextInitializer"
    linkageType: null
    functionLinenumber: 65
    functionDepth: 8
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.util.ContextInitializer].autoConfig(java.lang.ClassLoader)"
    - "[java.lang.Class].getClassLoader()"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.ContextInitializer:66,1"
      Dst: "[java.lang.Class].getClassLoader()"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:66,1"
      Dst: "[ch.qos.logback.classic.util.ContextInitializer].autoConfig(java.lang.ClassLoader)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.ContextInitializer].autoConfig(java.lang.ClassLoader)"
    functionSourceFile: "ch.qos.logback.classic.util.ContextInitializer"
    linkageType: null
    functionLinenumber: 72
    functionDepth: 7
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.ClassLoader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].systemClassloaderIfNull(java.lang.ClassLoader)"
    - "[ch.qos.logback.core.util.EnvUtil].logbackVersion()"
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.BasicStatusManager].add(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - "[ch.qos.logback.core.util.StatusListenerConfigHelper].installIfAsked(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.classic.util.ClassicEnvUtil].loadFromServiceLoader(java.lang.Class,java.lang.ClassLoader)"
    - "[ch.qos.logback.core.util.COWArrayList].isEmpty()"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.classic.util.ContextInitializer].printConfiguratorOrder(java.util.List)"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.classic.util.ContextInitializer].invokeConfigure(ch.qos.logback.classic.spi.Configurator)"
    - "[ch.qos.logback.classic.util.ContextInitializer].instantiateConfiguratorByClassName(java.lang.String,java.lang.ClassLoader)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    - "[java.util.List].sort(java.util.Comparator)"
    - "[java.util.List].isEmpty()"
    - "[ch.qos.logback.core.spi.ContextAware].addInfo(java.lang.String)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    functionUses: 1
    ICount: 53
    EdgeCount: 21
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.ContextInitializer:76"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.ContextInitializer:79"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.ContextInitializer:78"
        BranchSideFuncs:
        - "<init>(java.lang.String,java.lang.Object)"
        - "add(ch.qos.logback.core.status.Status)"
        - "isEmpty()"
        - "getStatusManager()"
        - "loadFromServiceLoader(java.lang.Class,java.lang.ClassLoader)"
        - "installIfAsked(ch.qos.logback.core.Context)"
    - Branch String: "ch.qos.logback.classic.util.ContextInitializer:86"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.ContextInitializer:89"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.ContextInitializer:88"
        BranchSideFuncs:
        - "printConfiguratorOrder(java.util.List)"
    - Branch String: "ch.qos.logback.classic.util.ContextInitializer:92"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.ContextInitializer:98"
        BranchSideFuncs:
        - "iterator()"
      - BranchSide: "ch.qos.logback.classic.util.ContextInitializer:97"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.util.ContextInitializer:93"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.ContextInitializer:95"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.ContextInitializer:94"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.util.ContextInitializer:98"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.ContextInitializer:106"
        BranchSideFuncs:
        - "instantiateConfiguratorByClassName(java.lang.String,java.lang.ClassLoader)"
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.util.ContextInitializer:105"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.util.ContextInitializer:101"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.ContextInitializer:103"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.ContextInitializer:102"
        BranchSideFuncs:
        - "invokeConfigure(ch.qos.logback.classic.spi.Configurator)"
    - Branch String: "ch.qos.logback.classic.util.ContextInitializer:103"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.ContextInitializer:98"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.ContextInitializer:97"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.ContextInitializer:73,1"
      Dst: "[ch.qos.logback.core.util.Loader].systemClassloaderIfNull(java.lang.ClassLoader)"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:75,1"
      Dst: "[ch.qos.logback.core.util.EnvUtil].logbackVersion()"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:79,1"
      Dst: "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:79,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:79,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:79,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:80,1"
      Dst: "[ch.qos.logback.core.util.StatusListenerConfigHelper].installIfAsked(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:84,1"
      Dst: "[ch.qos.logback.classic.util.ClassicEnvUtil].loadFromServiceLoader(java.lang.Class,java.lang.ClassLoader)"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:85,1"
      Dst: "[java.util.List].sort(java.util.Comparator)"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:86,1"
      Dst: "[java.util.List].isEmpty()"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:87,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:89,1"
      Dst: "[ch.qos.logback.classic.util.ContextInitializer].printConfiguratorOrder(java.util.List)"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:92,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:92,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:92,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:93,1"
      Dst: "[ch.qos.logback.classic.util.ContextInitializer].invokeConfigure(ch.qos.logback.classic.spi.Configurator)"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:100,1"
      Dst: "[ch.qos.logback.classic.util.ContextInitializer].instantiateConfiguratorByClassName(java.lang.String,java.lang.ClassLoader)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 18
    CyclomaticComplexity: 6
  - functionName: "[ch.qos.logback.core.util.Loader].systemClassloaderIfNull(java.lang.ClassLoader)"
    functionSourceFile: "ch.qos.logback.core.util.Loader"
    linkageType: null
    functionLinenumber: 67
    functionDepth: 0
    returnType: "java.lang.ClassLoader"
    argCount: 1
    argTypes:
    - "java.lang.ClassLoader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ClassLoader].getSystemClassLoader()"
    functionUses: 2
    ICount: 5
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.Loader:68"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.Loader:71"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.Loader:70"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.Loader:69,1"
      Dst: "[java.lang.ClassLoader].getSystemClassLoader()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.EnvUtil].logbackVersion()"
    functionSourceFile: "ch.qos.logback.core.util.EnvUtil"
    linkageType: null
    functionLinenumber: 35
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.EnvUtil].logbackVersionByModule()"
    - "[java.lang.Class].getPackage()"
    - "[java.lang.Package].getImplementationVersion()"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.EnvUtil:37"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:40"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:39"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.EnvUtil:41"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:44"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.EnvUtil:43"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.EnvUtil:36,1"
      Dst: "[ch.qos.logback.core.util.EnvUtil].logbackVersionByModule()"
    - Src: "ch.qos.logback.core.util.EnvUtil:40,1"
      Dst: "[java.lang.Class].getPackage()"
    - Src: "ch.qos.logback.core.util.EnvUtil:44,1"
      Dst: "[java.lang.Package].getImplementationVersion()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].getStatusManager()"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 70
    functionDepth: 0
    returnType: "ch.qos.logback.core.status.StatusManager"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 19
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.status.InfoStatus"
    linkageType: null
    functionLinenumber: 17
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    functionUses: 15
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.InfoStatus:18,1"
      Dst: "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.StatusListenerConfigHelper].installIfAsked(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.util.StatusListenerConfigHelper"
    linkageType: null
    functionLinenumber: 29
    functionDepth: 6
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.OptionHelper].getSystemProperty(java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - "[ch.qos.logback.core.util.StatusListenerConfigHelper].addStatusListener(ch.qos.logback.core.Context,java.lang.String)"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.StatusListenerConfigHelper:31"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StatusListenerConfigHelper:34"
        BranchSideFuncs:
        - "addStatusListener(ch.qos.logback.core.Context,java.lang.String)"
      - BranchSide: "ch.qos.logback.core.util.StatusListenerConfigHelper:33"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.StatusListenerConfigHelper:30,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].getSystemProperty(java.lang.String)"
    - Src: "ch.qos.logback.core.util.StatusListenerConfigHelper:31,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Src: "ch.qos.logback.core.util.StatusListenerConfigHelper:32,1"
      Dst: "[ch.qos.logback.core.util.StatusListenerConfigHelper].addStatusListener(ch.qos.logback.core.Context,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.OptionHelper].getSystemProperty(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 174
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].getProperty(java.lang.String)"
    functionUses: 4
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:175,1"
      Dst: "[java.lang.System].getProperty(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 282
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    - "[java.lang.String].length()"
    functionUses: 62
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].length()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.util.StatusListenerConfigHelper].addStatusListener(ch.qos.logback.core.Context,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.StatusListenerConfigHelper"
    linkageType: null
    functionLinenumber: 37
    functionDepth: 5
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.OnConsoleStatusListener].<init>()"
    - "[ch.qos.logback.core.util.StatusListenerConfigHelper].createListenerPerClassName(ch.qos.logback.core.Context,java.lang.String)"
    - "[ch.qos.logback.core.util.StatusListenerConfigHelper].initAndAddListener(ch.qos.logback.core.Context,ch.qos.logback.core.status.StatusListener)"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    functionUses: 1
    ICount: 15
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.StatusListenerConfigHelper:38"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StatusListenerConfigHelper:39"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "ch.qos.logback.core.util.StatusListenerConfigHelper:38"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "ch.qos.logback.core.util.StatusListenerConfigHelper:38"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StatusListenerConfigHelper:41"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "ch.qos.logback.core.util.StatusListenerConfigHelper:40"
        BranchSideFuncs:
        - "createListenerPerClassName(ch.qos.logback.core.Context,java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.util.StatusListenerConfigHelper:38,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - Src: "ch.qos.logback.core.util.StatusListenerConfigHelper:39,1"
      Dst: "[ch.qos.logback.core.status.OnConsoleStatusListener].<init>()"
    - Src: "ch.qos.logback.core.util.StatusListenerConfigHelper:41,1"
      Dst: "[ch.qos.logback.core.util.StatusListenerConfigHelper].createListenerPerClassName(ch.qos.logback.core.Context,java.lang.String)"
    - Src: "ch.qos.logback.core.util.StatusListenerConfigHelper:43,1"
      Dst: "[ch.qos.logback.core.util.StatusListenerConfigHelper].initAndAddListener(ch.qos.logback.core.Context,ch.qos.logback.core.status.StatusListener)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.status.OnConsoleStatusListener].<init>()"
    functionSourceFile: "ch.qos.logback.core.status.OnConsoleStatusListener"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.OnPrintStreamStatusListenerBase].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.OnConsoleStatusListener:23,1"
      Dst: "[ch.qos.logback.core.status.OnPrintStreamStatusListenerBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.StatusListenerConfigHelper].createListenerPerClassName(ch.qos.logback.core.Context,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.StatusListenerConfigHelper"
    linkageType: null
    functionLinenumber: 59
    functionDepth: 4
    returnType: "ch.qos.logback.core.status.StatusListener"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,ch.qos.logback.core.Context)"
    - "[java.lang.Throwable].printStackTrace()"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.StatusListenerConfigHelper:60,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.util.StatusListenerConfigHelper:63,1"
      Dst: "[java.lang.Throwable].printStackTrace()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 3
    returnType: "java.lang.Object"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Class"
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].getClassLoaderOfObject(java.lang.Object)"
    - "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,java.lang.ClassLoader)"
    functionUses: 12
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:32,1"
      Dst: "[ch.qos.logback.core.util.Loader].getClassLoaderOfObject(java.lang.Object)"
    - Src: "ch.qos.logback.core.util.OptionHelper:33,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,java.lang.ClassLoader)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.StatusListenerConfigHelper].initAndAddListener(ch.qos.logback.core.Context,ch.qos.logback.core.status.StatusListener)"
    functionSourceFile: "ch.qos.logback.core.util.StatusListenerConfigHelper"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.status.StatusListener"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggerContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.LayoutBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.BasicStatusManager].add(ch.qos.logback.core.status.StatusListener)"
    - "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - "[ch.qos.logback.classic.net.SocketReceiver].run()"
    - "[ch.qos.logback.core.boolex.Matcher].start()"
    - "[ch.qos.logback.classic.turbo.MarkerFilter].start()"
    - "[ch.qos.logback.classic.pattern.SyslogStartConverter].start()"
    - "[ch.qos.logback.classic.pattern.KeyValuePairConverter].start()"
    - "[ch.qos.logback.classic.jul.LevelChangePropagator].start()"
    - "[ch.qos.logback.core.AsyncAppenderBase].start()"
    - "[ch.qos.logback.core.pattern.PatternLayoutBase].start()"
    - "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP].start()"
    - "[ch.qos.logback.core.net.server.SSLServerSocketAppenderBase].start()"
    - "[ch.qos.logback.core.status.OnPrintStreamStatusListenerBase].start()"
    - "[ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy].start()"
    - "[ch.qos.logback.core.testUtil.StringListAppender].start()"
    - "[ch.qos.logback.core.filter.EvaluatorFilter].start()"
    - "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].start()"
    - "[ch.qos.logback.classic.html.HTMLLayout].start()"
    - "[ch.qos.logback.classic.pattern.MDCConverter].start()"
    - "[ch.qos.logback.core.net.SMTPAppenderBase].start()"
    - "[ch.qos.logback.core.status.OnFileStatusListener].start()"
    - "[ch.qos.logback.classic.log4j.XMLLayout].start()"
    - "[ch.qos.logback.classic.net.SMTPAppender].start()"
    - "[ch.qos.logback.core.read.CyclicBufferAppender].start()"
    - "[ch.qos.logback.core.boolex.JaninoEventEvaluatorBase].start()"
    - "[ch.qos.logback.core.FileAppender].start()"
    - "[ch.qos.logback.classic.pattern.DateConverter].start()"
    - "[ch.qos.logback.classic.pattern.PropertyConverter].start()"
    - "[ch.qos.logback.classic.encoder.PatternLayoutEncoder].start()"
    - "[ch.qos.logback.classic.layout.TTLLLayout].start()"
    - "[ch.qos.logback.core.rolling.FixedWindowRollingPolicy].start()"
    - "[ch.qos.logback.classic.turbo.MDCFilter].start()"
    - "[ch.qos.logback.classic.pattern.NamedConverter].start()"
    - "[ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy].start()"
    - "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase].start()"
    - "[ch.qos.logback.core.OutputStreamAppender].start()"
    - "[ch.qos.logback.classic.filter.ThresholdFilter].start()"
    - "[ch.qos.logback.core.net.server.AbstractServerSocketAppender].start()"
    - "[ch.qos.logback.classic.pattern.CallerDataConverter].start()"
    - "[ch.qos.logback.classic.pattern.SequenceNumberConverter].start()"
    - "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].start()"
    - "[ch.qos.logback.core.net.SyslogAppenderBase].start()"
    - "[ch.qos.logback.core.sift.SiftingAppenderBase].start()"
    - "[ch.qos.logback.core.rolling.RollingFileAppender].start()"
    - "[ch.qos.logback.core.rolling.helper.DateTokenConverter].start()"
    - "[ch.qos.logback.classic.LoggerContext].start()"
    - "[ch.qos.logback.classic.net.ReceiverBase].start()"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].start()"
    - "[ch.qos.logback.core.net.AbstractSocketAppender].start()"
    - "[ch.qos.logback.classic.turbo.DuplicateMessageFilter].start()"
    - "[ch.qos.logback.classic.turbo.DynamicThresholdFilter].start()"
    - "[ch.qos.logback.core.ConsoleAppender].start()"
    - "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].start()"
    - "[ch.qos.logback.classic.sift.MDCBasedDiscriminator].start()"
    - "[ch.qos.logback.core.pattern.ReplacingCompositeConverter].start()"
    - "[ch.qos.logback.core.html.HTMLLayoutBase].start()"
    - "[ch.qos.logback.classic.filter.LevelFilter].start()"
    - "[ch.qos.logback.classic.helpers.WithLayoutListAppender].start()"
    - "[ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy].start()"
    - "[ch.qos.logback.classic.net.SyslogAppender].start()"
    - "[ch.qos.logback.core.net.AbstractSSLSocketAppender].start()"
    - "[ch.qos.logback.classic.turbo.TurboFilter:ch.qos.logback.core.AppenderBase:ch.qos.logback.core.ContextBase:ch.qos.logback.core.LayoutBase:ch.qos.logback.core.UnsynchronizedAppenderBase:ch.qos.logback.core.boolex.EventEvaluatorBase:ch.qos.logback.core.encoder.EncoderBase:ch.qos.logback.core.filter.Filter:ch.qos.logback.core.pattern.DynamicConverter:ch.qos.logback.core.rolling.RollingPolicyBase:ch.qos.logback.core.rolling.TriggeringPolicyBase:ch.qos.logback.core.sift.AbstractDiscriminator:ch.qos.logback.core.testUtil.TrivialStatusListener].start()"
    - "[ch.qos.logback.core.spi.ContextAware].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.Context].getStatusManager()"
    - "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.StatusListener)"
    - "[ch.qos.logback.core.spi.LifeCycle].start()"
    functionUses: 1
    ICount: 15
    EdgeCount: 68
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.StatusListenerConfigHelper:47"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StatusListenerConfigHelper:56"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.StatusListenerConfigHelper:55"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.StatusListenerConfigHelper:48"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StatusListenerConfigHelper:51"
        BranchSideFuncs:
        - "setContext(ch.qos.logback.core.Context)"
      - BranchSide: "ch.qos.logback.core.util.StatusListenerConfigHelper:50"
        BranchSideFuncs:
        - "add(ch.qos.logback.core.status.StatusListener)"
        - "getStatusManager()"
    - Branch String: "ch.qos.logback.core.util.StatusListenerConfigHelper:52"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StatusListenerConfigHelper:56"
        BranchSideFuncs:
        - "run()"
        - "start()"
      - BranchSide: "ch.qos.logback.core.util.StatusListenerConfigHelper:55"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.StatusListenerConfigHelper:52"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StatusListenerConfigHelper:56"
        BranchSideFuncs:
        - "run()"
        - "start()"
      - BranchSide: "ch.qos.logback.core.util.StatusListenerConfigHelper:55"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.StatusListenerConfigHelper:49,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.util.StatusListenerConfigHelper:51,1"
      Dst: "[ch.qos.logback.core.Context].getStatusManager()"
    - Src: "ch.qos.logback.core.util.StatusListenerConfigHelper:51,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.StatusListener)"
    - Src: "ch.qos.logback.core.util.StatusListenerConfigHelper:53,1"
      Dst: "[ch.qos.logback.core.spi.LifeCycle].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.classic.util.ClassicEnvUtil].loadFromServiceLoader(java.lang.Class,java.lang.ClassLoader)"
    functionSourceFile: "ch.qos.logback.classic.util.ClassicEnvUtil"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "java.lang.ClassLoader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ServiceLoader].load(java.lang.Class,java.lang.ClassLoader)"
    - "[java.util.ArrayList].<init>()"
    - "[java.util.ServiceLoader].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.ClassicEnvUtil:50"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.ClassicEnvUtil:54"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.ClassicEnvUtil:53"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.ClassicEnvUtil:47,1"
      Dst: "[java.util.ServiceLoader].load(java.lang.Class,java.lang.ClassLoader)"
    - Src: "ch.qos.logback.classic.util.ClassicEnvUtil:48,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.classic.util.ClassicEnvUtil:49,1"
      Dst: "[java.util.ServiceLoader].iterator()"
    - Src: "ch.qos.logback.classic.util.ClassicEnvUtil:50,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.classic.util.ClassicEnvUtil:51,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.classic.util.ClassicEnvUtil:52,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.util.ContextInitializer].printConfiguratorOrder(java.util.List)"
    functionSourceFile: "ch.qos.logback.classic.util.ContextInitializer"
    linkageType: null
    functionLinenumber: 138
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.spi.ContextAware].addInfo(java.lang.String)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 18
    EdgeCount: 13
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.ContextInitializer:140"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.ContextInitializer:143"
        BranchSideFuncs:
        - "iterator()"
      - BranchSide: "ch.qos.logback.classic.util.ContextInitializer:142"
        BranchSideFuncs:
        - "addInfo(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.classic.util.ContextInitializer:139,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:140,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:140,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:140,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:141,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:141,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:141,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.util.ContextInitializer].invokeConfigure(ch.qos.logback.classic.spi.Configurator)"
    functionSourceFile: "ch.qos.logback.classic.util.ContextInitializer"
    linkageType: null
    functionLinenumber: 124
    functionDepth: 1
    returnType: "ch.qos.logback.classic.spi.Configurator$ExecutionStatus"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.Configurator"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.classic.util.DefaultJoranConfigurator].configure(ch.qos.logback.classic.LoggerContext)"
    - "[ch.qos.logback.classic.joran.SerializedModelConfigurator].configure(ch.qos.logback.classic.LoggerContext)"
    - "[ch.qos.logback.classic.BasicConfigurator].configure(ch.qos.logback.classic.LoggerContext)"
    - "[ch.qos.logback.classic.util.ContextInitializer].printDuration(long,ch.qos.logback.classic.spi.Configurator,ch.qos.logback.classic.spi.Configurator$ExecutionStatus)"
    - "[ch.qos.logback.core.LogbackException].<init>(java.lang.String,java.lang.Throwable)"
    - "[java.lang.System].currentTimeMillis()"
    - "[java.lang.Object].getClass()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Class)"
    - "[ch.qos.logback.core.spi.ContextAware].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAware].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.classic.spi.Configurator].configure(ch.qos.logback.classic.LoggerContext)"
    - "[java.lang.Class].getCanonicalName()"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    functionUses: 2
    ICount: 25
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.ContextInitializer:134"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.ContextInitializer:129"
        BranchSideFuncs:
        - "<init>(java.lang.String,java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.classic.util.ContextInitializer:125,1"
      Dst: "[java.lang.System].currentTimeMillis()"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:126,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:126,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Class)"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:126,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:127,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:128,1"
      Dst: "[ch.qos.logback.classic.spi.Configurator].configure(ch.qos.logback.classic.LoggerContext)"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:129,1"
      Dst: "[ch.qos.logback.classic.util.ContextInitializer].printDuration(long,ch.qos.logback.classic.spi.Configurator,ch.qos.logback.classic.spi.Configurator$ExecutionStatus)"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:134,1"
      Dst: "[java.lang.Class].getCanonicalName()"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:133,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:133,1"
      Dst: "[ch.qos.logback.core.LogbackException].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.ContextInitializer].printDuration(long,ch.qos.logback.classic.spi.Configurator,ch.qos.logback.classic.spi.Configurator$ExecutionStatus)"
    functionSourceFile: "ch.qos.logback.classic.util.ContextInitializer"
    linkageType: null
    functionLinenumber: 146
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "long"
    - "ch.qos.logback.classic.spi.Configurator"
    - "ch.qos.logback.classic.spi.Configurator$ExecutionStatus"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[java.lang.System].currentTimeMillis()"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,long,ch.qos.logback.classic.spi.Configurator$ExecutionStatus)"
    - "[ch.qos.logback.core.spi.ContextAware].addInfo(java.lang.String)"
    functionUses: 1
    ICount: 12
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.ContextInitializer:147,1"
      Dst: "[java.lang.System].currentTimeMillis()"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:149,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:149,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:149,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,long,ch.qos.logback.classic.spi.Configurator$ExecutionStatus)"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:149,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].addInfo(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.LogbackException].<init>(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.LogbackException"
    linkageType: null
    functionLinenumber: 24
    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: 2
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.LogbackException:25,1"
      Dst: "[java.lang.RuntimeException].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.ContextInitializer].instantiateConfiguratorByClassName(java.lang.String,java.lang.ClassLoader)"
    functionSourceFile: "ch.qos.logback.classic.util.ContextInitializer"
    linkageType: null
    functionLinenumber: 109
    functionDepth: 0
    returnType: "ch.qos.logback.classic.spi.Configurator"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.ClassLoader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[java.lang.ClassLoader].loadClass(java.lang.String)"
    - "[java.lang.Class].getConstructor(java.lang.Class[])"
    - "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    - "[java.lang.Throwable].toString()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAware].addInfo(java.lang.String)"
    functionUses: 1
    ICount: 16
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.ContextInitializer:110,1"
      Dst: "[java.lang.ClassLoader].loadClass(java.lang.String)"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:111,1"
      Dst: "[java.lang.Class].getConstructor(java.lang.Class[])"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:111,1"
      Dst: "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:113,1"
      Dst: "[java.lang.Throwable].toString()"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:113,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:113,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].addInfo(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.Util].report(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "org.slf4j.helpers.Util"
    linkageType: null
    functionLinenumber: 127
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.PrintStream].println(java.lang.String)"
    - "[java.lang.Throwable].printStackTrace()"
    functionUses: 2
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.Util:128,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    - Src: "org.slf4j.helpers.Util:130,1"
      Dst: "[java.lang.Throwable].printStackTrace()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.StatusUtil].contextHasStatusListener(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.status.StatusUtil"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - "[ch.qos.logback.core.BasicStatusManager].getCopyOfStatusListenerList()"
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.Context].getStatusManager()"
    - "[ch.qos.logback.core.status.StatusManager].getCopyOfStatusListenerList()"
    - "[java.util.List].size()"
    functionUses: 2
    ICount: 10
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.status.StatusUtil:48"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:50"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:49"
        BranchSideFuncs:
        - "getCopyOfStatusListenerList()"
        - "size()"
    - Branch String: "ch.qos.logback.core.status.StatusUtil:51"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:52"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:51"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.status.StatusUtil:51"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:54"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:53"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.status.StatusUtil:47,1"
      Dst: "[ch.qos.logback.core.Context].getStatusManager()"
    - Src: "ch.qos.logback.core.status.StatusUtil:50,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].getCopyOfStatusListenerList()"
    - Src: "ch.qos.logback.core.status.StatusUtil:51,1"
      Dst: "[java.util.List].size()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.StatusPrinter].printInCaseOfErrorsOrWarnings(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.util.StatusPrinter"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 8
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.StatusPrinter].printInCaseOfErrorsOrWarnings(ch.qos.logback.core.Context,long)"
    functionUses: 3
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.StatusPrinter:44,1"
      Dst: "[ch.qos.logback.core.util.StatusPrinter].printInCaseOfErrorsOrWarnings(ch.qos.logback.core.Context,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].start()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 337
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].start()"
    - "[ch.qos.logback.classic.LoggerContext].fireOnStart()"
    functionUses: 6
    ICount: 4
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:338,1"
      Dst: "[ch.qos.logback.core.ContextBase].start()"
    - Src: "ch.qos.logback.classic.LoggerContext:339,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].fireOnStart()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.BasicMarkerFactory].<init>()"
    functionSourceFile: "org.slf4j.helpers.BasicMarkerFactory"
    linkageType: null
    functionLinenumber: 51
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.concurrent.ConcurrentHashMap].<init>()"
    functionUses: 4
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.BasicMarkerFactory:52,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "org.slf4j.helpers.BasicMarkerFactory:44,1"
      Dst: "[java.util.concurrent.ConcurrentHashMap].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.LogbackMDCAdapter].<init>()"
    functionSourceFile: "ch.qos.logback.classic.util.LogbackMDCAdapter"
    linkageType: null
    functionLinenumber: 40
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.ThreadLocalMapOfStacks].<init>()"
    - "[java.lang.Object].<init>()"
    - "[java.lang.ThreadLocal].<init>()"
    functionUses: 1
    ICount: 12
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapter:41,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapter:47,1"
      Dst: "[java.lang.ThreadLocal].<init>()"
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapter:49,1"
      Dst: "[org.slf4j.helpers.ThreadLocalMapOfStacks].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.ThreadLocalMapOfStacks].<init>()"
    functionSourceFile: "org.slf4j.helpers.ThreadLocalMapOfStacks"
    linkageType: null
    functionLinenumber: 15
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.lang.ThreadLocal].<init>()"
    functionUses: 2
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:16,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "org.slf4j.helpers.ThreadLocalMapOfStacks:21,1"
      Dst: "[java.lang.ThreadLocal].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].setMDCAdapter(org.slf4j.spi.MDCAdapter)"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 413
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.slf4j.spi.MDCAdapter"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.BasicStatusManager].add(ch.qos.logback.core.status.Status)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    functionUses: 1
    ICount: 13
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.LoggerContext:414"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:417"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:416"
        BranchSideFuncs:
        - "add(ch.qos.logback.core.status.Status)"
        - "<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
        - "getStatusManager()"
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:417,1"
      Dst: "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - Src: "ch.qos.logback.classic.LoggerContext:418,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.classic.LoggerContext:418,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.LoggerContext:418,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.LogbackServiceProvider].initializeLoggerContext()"
    functionSourceFile: "ch.qos.logback.classic.spi.LogbackServiceProvider"
    linkageType: null
    functionLinenumber: 51
    functionDepth: 9
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.util.ContextInitializer].<init>(ch.qos.logback.classic.LoggerContext)"
    - "[ch.qos.logback.classic.util.ContextInitializer].autoConfig()"
    - "[org.slf4j.helpers.Util].report(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.status.StatusUtil].contextHasStatusListener(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.util.StatusPrinter].printInCaseOfErrorsOrWarnings(ch.qos.logback.core.Context)"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 20
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.LogbackServiceProvider:57"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LogbackServiceProvider:64"
        BranchSideFuncs:
        - "printInCaseOfErrorsOrWarnings(ch.qos.logback.core.Context)"
      - BranchSide: "ch.qos.logback.classic.spi.LogbackServiceProvider:63"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LogbackServiceProvider:52,1"
      Dst: "[ch.qos.logback.classic.util.ContextInitializer].<init>(ch.qos.logback.classic.LoggerContext)"
    - Src: "ch.qos.logback.classic.spi.LogbackServiceProvider:52,1"
      Dst: "[ch.qos.logback.classic.util.ContextInitializer].autoConfig()"
    - Src: "ch.qos.logback.classic.spi.LogbackServiceProvider:54,1"
      Dst: "[org.slf4j.helpers.Util].report(java.lang.String,java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.spi.LogbackServiceProvider:57,1"
      Dst: "[ch.qos.logback.core.status.StatusUtil].contextHasStatusListener(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.spi.LogbackServiceProvider:58,1"
      Dst: "[ch.qos.logback.core.util.StatusPrinter].printInCaseOfErrorsOrWarnings(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.spi.LogbackServiceProvider:63,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.classic.spi.LogbackServiceProvider:63,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.LogbackServiceProvider].getLoggerFactory()"
    functionSourceFile: "ch.qos.logback.classic.spi.LogbackServiceProvider"
    linkageType: null
    functionLinenumber: 69
    functionDepth: 0
    returnType: "org.slf4j.ILoggerFactory"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LogbackServiceProvider].getMarkerFactory()"
    functionSourceFile: "ch.qos.logback.classic.spi.LogbackServiceProvider"
    linkageType: null
    functionLinenumber: 83
    functionDepth: 0
    returnType: "org.slf4j.IMarkerFactory"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LogbackServiceProvider].getMDCAdapter()"
    functionSourceFile: "ch.qos.logback.classic.spi.LogbackServiceProvider"
    linkageType: null
    functionLinenumber: 88
    functionDepth: 0
    returnType: "org.slf4j.spi.MDCAdapter"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LogbackServiceProvider].getRequestedApiVersion()"
    functionSourceFile: "ch.qos.logback.classic.spi.LogbackServiceProvider"
    linkageType: null
    functionLinenumber: 93
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.sanity.SanityChecker$lambda_deepFindNestedSubModelsOfType_1__69].bootstrap$(java.util.List,ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.joran.sanity.SanityChecker$lambda_deepFindNestedSubModelsOfType_1__69"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Consumer"
    argCount: 2
    argTypes:
    - "java.util.List"
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.sanity.SanityChecker$lambda_deepFindNestedSubModelsOfType_1__69].<init>(java.util.List,ch.qos.logback.core.model.Model)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.sanity.SanityChecker$lambda_deepFindNestedSubModelsOfType_1__69:-1,1"
      Dst: "[ch.qos.logback.core.joran.sanity.SanityChecker$lambda_deepFindNestedSubModelsOfType_1__69].<init>(java.util.List,ch.qos.logback.core.model.Model)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.sanity.SanityChecker$lambda_deepFindNestedSubModelsOfType_1__69].<init>(java.util.List,ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.joran.sanity.SanityChecker$lambda_deepFindNestedSubModelsOfType_1__69"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.util.List"
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.sanity.SanityChecker$lambda_deepFindNestedSubModelsOfType_1__69:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.sanity.SanityChecker$lambda_deepFindNestedSubModelsOfType_1__69].<init>(java.util.List,ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.joran.sanity.SanityChecker$lambda_deepFindNestedSubModelsOfType_1__69"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.util.List"
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.sanity.SanityChecker$lambda_deepFindNestedSubModelsOfType_1__69:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.sanity.SanityChecker$lambda_deepFindNestedSubModelsOfType_1__69].accept(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.joran.sanity.SanityChecker$lambda_deepFindNestedSubModelsOfType_1__69"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.sanity.SanityChecker].lambda$deepFindNestedSubModelsOfType$1(java.util.List,ch.qos.logback.core.model.Model,ch.qos.logback.core.model.Model)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.sanity.SanityChecker$lambda_deepFindNestedSubModelsOfType_1__69:-1,1"
      Dst: "[ch.qos.logback.core.joran.sanity.SanityChecker].lambda$deepFindNestedSubModelsOfType$1(java.util.List,ch.qos.logback.core.model.Model,ch.qos.logback.core.model.Model)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.jul.LevelChangePropagator].<init>()"
    functionSourceFile: "ch.qos.logback.classic.jul.LevelChangePropagator"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - "[java.util.HashSet].<init>()"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:33,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:35,1"
      Dst: "[java.util.HashSet].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.jul.LevelChangePropagator].setResetJUL(boolean)"
    functionSourceFile: "ch.qos.logback.classic.jul.LevelChangePropagator"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.jul.LevelChangePropagator].isResetResistant()"
    functionSourceFile: "ch.qos.logback.classic.jul.LevelChangePropagator"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.jul.LevelChangePropagator].onStart(ch.qos.logback.classic.LoggerContext)"
    functionSourceFile: "ch.qos.logback.classic.jul.LevelChangePropagator"
    linkageType: null
    functionLinenumber: 47
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.LoggerContext"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.jul.LevelChangePropagator].onReset(ch.qos.logback.classic.LoggerContext)"
    functionSourceFile: "ch.qos.logback.classic.jul.LevelChangePropagator"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.LoggerContext"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.jul.LevelChangePropagator].onStop(ch.qos.logback.classic.LoggerContext)"
    functionSourceFile: "ch.qos.logback.classic.jul.LevelChangePropagator"
    linkageType: null
    functionLinenumber: 53
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.LoggerContext"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.jul.LevelChangePropagator].onLevelChange(ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level)"
    functionSourceFile: "ch.qos.logback.classic.jul.LevelChangePropagator"
    linkageType: null
    functionLinenumber: 56
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.classic.Logger"
    - "ch.qos.logback.classic.Level"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.jul.LevelChangePropagator].propagate(ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:57,1"
      Dst: "[ch.qos.logback.classic.jul.LevelChangePropagator].propagate(ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.jul.LevelChangePropagator].propagate(ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level)"
    functionSourceFile: "ch.qos.logback.classic.jul.LevelChangePropagator"
    linkageType: null
    functionLinenumber: 60
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.classic.Logger"
    - "ch.qos.logback.classic.Level"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.classic.jul.JULHelper].asJULLogger(ch.qos.logback.classic.Logger)"
    - "[ch.qos.logback.classic.jul.JULHelper].asJULLevel(ch.qos.logback.classic.Level)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.classic.Level,ch.qos.logback.classic.Logger)"
    - "[java.util.Set].add(java.lang.Object)"
    - "[java.util.logging.Logger].setLevel(java.util.logging.Level)"
    functionUses: 2
    ICount: 11
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:61,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.classic.Level,ch.qos.logback.classic.Logger)"
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:61,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:62,1"
      Dst: "[ch.qos.logback.classic.jul.JULHelper].asJULLogger(ch.qos.logback.classic.Logger)"
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:65,1"
      Dst: "[java.util.Set].add(java.lang.Object)"
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:66,1"
      Dst: "[ch.qos.logback.classic.jul.JULHelper].asJULLevel(ch.qos.logback.classic.Level)"
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:67,1"
      Dst: "[java.util.logging.Logger].setLevel(java.util.logging.Level)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.jul.JULHelper].asJULLogger(ch.qos.logback.classic.Logger)"
    functionSourceFile: "ch.qos.logback.classic.jul.JULHelper"
    linkageType: null
    functionLinenumber: 69
    functionDepth: 2
    returnType: "java.util.logging.Logger"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.Logger"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.jul.JULHelper].asJULLogger(java.lang.String)"
    - "[ch.qos.logback.classic.Logger].getName()"
    functionUses: 1
    ICount: 4
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.jul.JULHelper:70,1"
      Dst: "[ch.qos.logback.classic.Logger].getName()"
    - Src: "ch.qos.logback.classic.jul.JULHelper:70,1"
      Dst: "[ch.qos.logback.classic.jul.JULHelper].asJULLogger(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].getName()"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 123
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 6
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.jul.JULHelper].asJULLogger(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.jul.JULHelper"
    linkageType: null
    functionLinenumber: 64
    functionDepth: 1
    returnType: "java.util.logging.Logger"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.jul.JULHelper].asJULLoggerName(java.lang.String)"
    - "[java.util.logging.Logger].getLogger(java.lang.String)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.jul.JULHelper:65,1"
      Dst: "[ch.qos.logback.classic.jul.JULHelper].asJULLoggerName(java.lang.String)"
    - Src: "ch.qos.logback.classic.jul.JULHelper:66,1"
      Dst: "[java.util.logging.Logger].getLogger(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.jul.JULHelper].asJULLoggerName(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.jul.JULHelper"
    linkageType: null
    functionLinenumber: 57
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 1
    ICount: 6
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.jul.JULHelper:58"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.jul.JULHelper:61"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.jul.JULHelper:60"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.jul.JULHelper:58,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.jul.JULHelper].asJULLevel(ch.qos.logback.classic.Level)"
    functionSourceFile: "ch.qos.logback.classic.jul.JULHelper"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 0
    returnType: "java.util.logging.Level"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.Level"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.classic.Level)"
    functionUses: 1
    ICount: 25
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.jul.JULHelper:34"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.jul.JULHelper:37"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.jul.JULHelper:36"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.jul.JULHelper:35,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.classic.jul.JULHelper:53,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.classic.Level)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 11
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.jul.LevelChangePropagator].propagate(ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level)"
    functionSourceFile: "ch.qos.logback.classic.jul.LevelChangePropagator"
    linkageType: null
    functionLinenumber: 60
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.classic.Logger"
    - "ch.qos.logback.classic.Level"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.classic.jul.JULHelper].asJULLogger(ch.qos.logback.classic.Logger)"
    - "[ch.qos.logback.classic.jul.JULHelper].asJULLevel(ch.qos.logback.classic.Level)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.classic.Level,ch.qos.logback.classic.Logger)"
    - "[java.util.Set].add(java.lang.Object)"
    - "[java.util.logging.Logger].setLevel(java.util.logging.Level)"
    functionUses: 2
    ICount: 11
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:61,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.classic.Level,ch.qos.logback.classic.Logger)"
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:61,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:62,1"
      Dst: "[ch.qos.logback.classic.jul.JULHelper].asJULLogger(ch.qos.logback.classic.Logger)"
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:65,1"
      Dst: "[java.util.Set].add(java.lang.Object)"
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:66,1"
      Dst: "[ch.qos.logback.classic.jul.JULHelper].asJULLevel(ch.qos.logback.classic.Level)"
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:67,1"
      Dst: "[java.util.logging.Logger].setLevel(java.util.logging.Level)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.jul.LevelChangePropagator].resetJULLevels()"
    functionSourceFile: "ch.qos.logback.classic.jul.LevelChangePropagator"
    linkageType: null
    functionLinenumber: 70
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.jul.JULHelper].isRegularNonRootLogger(java.util.logging.Logger)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[java.util.logging.LogManager].getLogManager()"
    - "[java.util.logging.LogManager].getLoggerNames()"
    - "[java.util.Enumeration].hasMoreElements()"
    - "[java.util.Enumeration].nextElement()"
    - "[java.util.logging.LogManager].getLogger(java.lang.String)"
    - "[java.util.logging.Logger].getLevel()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.util.logging.Logger].setLevel(java.util.logging.Level)"
    functionUses: 1
    ICount: 17
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.jul.LevelChangePropagator:74"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.jul.LevelChangePropagator:82"
        BranchSideFuncs:
        - "isRegularNonRootLogger(java.util.logging.Logger)"
      - BranchSide: "ch.qos.logback.classic.jul.LevelChangePropagator:81"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.jul.LevelChangePropagator:77"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.jul.LevelChangePropagator:81"
        BranchSideFuncs:
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.jul.LevelChangePropagator:80"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.jul.LevelChangePropagator:77"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.jul.LevelChangePropagator:81"
        BranchSideFuncs:
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.jul.LevelChangePropagator:80"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:71,1"
      Dst: "[java.util.logging.LogManager].getLogManager()"
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:73,1"
      Dst: "[java.util.logging.LogManager].getLoggerNames()"
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:74,1"
      Dst: "[java.util.Enumeration].hasMoreElements()"
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:75,1"
      Dst: "[java.util.Enumeration].nextElement()"
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:76,1"
      Dst: "[java.util.logging.LogManager].getLogger(java.lang.String)"
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:77,1"
      Dst: "[ch.qos.logback.classic.jul.JULHelper].isRegularNonRootLogger(java.util.logging.Logger)"
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:77,1"
      Dst: "[java.util.logging.Logger].getLevel()"
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:78,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:78,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:79,1"
      Dst: "[java.util.logging.Logger].setLevel(java.util.logging.Level)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.classic.jul.JULHelper].isRegularNonRootLogger(java.util.logging.Logger)"
    functionSourceFile: "ch.qos.logback.classic.jul.JULHelper"
    linkageType: null
    functionLinenumber: 21
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.util.logging.Logger"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.logging.Logger].getName()"
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 1
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.jul.JULHelper:22"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.jul.JULHelper:24"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.jul.JULHelper:23"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.jul.JULHelper:24"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.jul.JULHelper:23"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.jul.JULHelper:24,1"
      Dst: "[java.util.logging.Logger].getName()"
    - Src: "ch.qos.logback.classic.jul.JULHelper:24,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.jul.LevelChangePropagator].propagateExistingLoggerLevels()"
    functionSourceFile: "ch.qos.logback.classic.jul.LevelChangePropagator"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 4
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getLoggerList()"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.classic.Logger].getLevel()"
    - "[ch.qos.logback.classic.jul.LevelChangePropagator].propagate(ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    functionUses: 1
    ICount: 15
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.jul.LevelChangePropagator:87"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.jul.LevelChangePropagator:92"
        BranchSideFuncs:
        - "iterator()"
      - BranchSide: "ch.qos.logback.classic.jul.LevelChangePropagator:91"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.jul.LevelChangePropagator:88"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.jul.LevelChangePropagator:91"
        BranchSideFuncs:
        - "propagate(ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level)"
        - "getLevel()"
      - BranchSide: "ch.qos.logback.classic.jul.LevelChangePropagator:90"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:86,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getLoggerList()"
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:87,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:87,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:87,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:88,1"
      Dst: "[ch.qos.logback.classic.Logger].getLevel()"
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:89,1"
      Dst: "[ch.qos.logback.classic.jul.LevelChangePropagator].propagate(ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.LoggerContext].getLoggerList()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 203
    functionDepth: 1
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggerComparator].<init>()"
    - "[java.util.Map].values()"
    - "[java.util.ArrayList].<init>(java.util.Collection)"
    - "[java.util.Collections].sort(java.util.List,java.util.Comparator)"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:204,1"
      Dst: "[java.util.Map].values()"
    - Src: "ch.qos.logback.classic.LoggerContext:205,1"
      Dst: "[java.util.ArrayList].<init>(java.util.Collection)"
    - Src: "ch.qos.logback.classic.LoggerContext:206,1"
      Dst: "[ch.qos.logback.classic.spi.LoggerComparator].<init>()"
    - Src: "ch.qos.logback.classic.LoggerContext:206,1"
      Dst: "[java.util.Collections].sort(java.util.List,java.util.Comparator)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].getLevel()"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 119
    functionDepth: 0
    returnType: "ch.qos.logback.classic.Level"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.jul.LevelChangePropagator].propagate(ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level)"
    functionSourceFile: "ch.qos.logback.classic.jul.LevelChangePropagator"
    linkageType: null
    functionLinenumber: 60
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.classic.Logger"
    - "ch.qos.logback.classic.Level"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.classic.jul.JULHelper].asJULLogger(ch.qos.logback.classic.Logger)"
    - "[ch.qos.logback.classic.jul.JULHelper].asJULLevel(ch.qos.logback.classic.Level)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.classic.Level,ch.qos.logback.classic.Logger)"
    - "[java.util.Set].add(java.lang.Object)"
    - "[java.util.logging.Logger].setLevel(java.util.logging.Level)"
    functionUses: 2
    ICount: 11
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:61,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.classic.Level,ch.qos.logback.classic.Logger)"
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:61,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:62,1"
      Dst: "[ch.qos.logback.classic.jul.JULHelper].asJULLogger(ch.qos.logback.classic.Logger)"
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:65,1"
      Dst: "[java.util.Set].add(java.lang.Object)"
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:66,1"
      Dst: "[ch.qos.logback.classic.jul.JULHelper].asJULLevel(ch.qos.logback.classic.Level)"
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:67,1"
      Dst: "[java.util.logging.Logger].setLevel(java.util.logging.Level)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.jul.LevelChangePropagator].start()"
    functionSourceFile: "ch.qos.logback.classic.jul.LevelChangePropagator"
    linkageType: null
    functionLinenumber: 94
    functionDepth: 5
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.jul.LevelChangePropagator].resetJULLevels()"
    - "[ch.qos.logback.classic.jul.LevelChangePropagator].propagateExistingLoggerLevels()"
    functionUses: 5
    ICount: 7
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.jul.LevelChangePropagator:95"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.jul.LevelChangePropagator:98"
        BranchSideFuncs:
        - "resetJULLevels()"
      - BranchSide: "ch.qos.logback.classic.jul.LevelChangePropagator:97"
        BranchSideFuncs:
        - "propagateExistingLoggerLevels()"
    Callsites:
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:96,1"
      Dst: "[ch.qos.logback.classic.jul.LevelChangePropagator].resetJULLevels()"
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:98,1"
      Dst: "[ch.qos.logback.classic.jul.LevelChangePropagator].propagateExistingLoggerLevels()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.jul.LevelChangePropagator].resetJULLevels()"
    functionSourceFile: "ch.qos.logback.classic.jul.LevelChangePropagator"
    linkageType: null
    functionLinenumber: 70
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.jul.JULHelper].isRegularNonRootLogger(java.util.logging.Logger)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[java.util.logging.LogManager].getLogManager()"
    - "[java.util.logging.LogManager].getLoggerNames()"
    - "[java.util.Enumeration].hasMoreElements()"
    - "[java.util.Enumeration].nextElement()"
    - "[java.util.logging.LogManager].getLogger(java.lang.String)"
    - "[java.util.logging.Logger].getLevel()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.util.logging.Logger].setLevel(java.util.logging.Level)"
    functionUses: 1
    ICount: 17
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.jul.LevelChangePropagator:74"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.jul.LevelChangePropagator:82"
        BranchSideFuncs:
        - "isRegularNonRootLogger(java.util.logging.Logger)"
      - BranchSide: "ch.qos.logback.classic.jul.LevelChangePropagator:81"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.jul.LevelChangePropagator:77"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.jul.LevelChangePropagator:81"
        BranchSideFuncs:
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.jul.LevelChangePropagator:80"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.jul.LevelChangePropagator:77"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.jul.LevelChangePropagator:81"
        BranchSideFuncs:
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.jul.LevelChangePropagator:80"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:71,1"
      Dst: "[java.util.logging.LogManager].getLogManager()"
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:73,1"
      Dst: "[java.util.logging.LogManager].getLoggerNames()"
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:74,1"
      Dst: "[java.util.Enumeration].hasMoreElements()"
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:75,1"
      Dst: "[java.util.Enumeration].nextElement()"
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:76,1"
      Dst: "[java.util.logging.LogManager].getLogger(java.lang.String)"
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:77,1"
      Dst: "[ch.qos.logback.classic.jul.JULHelper].isRegularNonRootLogger(java.util.logging.Logger)"
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:77,1"
      Dst: "[java.util.logging.Logger].getLevel()"
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:78,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:78,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:79,1"
      Dst: "[java.util.logging.Logger].setLevel(java.util.logging.Level)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.classic.jul.LevelChangePropagator].propagateExistingLoggerLevels()"
    functionSourceFile: "ch.qos.logback.classic.jul.LevelChangePropagator"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 4
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getLoggerList()"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.classic.Logger].getLevel()"
    - "[ch.qos.logback.classic.jul.LevelChangePropagator].propagate(ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    functionUses: 1
    ICount: 15
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.jul.LevelChangePropagator:87"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.jul.LevelChangePropagator:92"
        BranchSideFuncs:
        - "iterator()"
      - BranchSide: "ch.qos.logback.classic.jul.LevelChangePropagator:91"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.jul.LevelChangePropagator:88"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.jul.LevelChangePropagator:91"
        BranchSideFuncs:
        - "propagate(ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level)"
        - "getLevel()"
      - BranchSide: "ch.qos.logback.classic.jul.LevelChangePropagator:90"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:86,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getLoggerList()"
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:87,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:87,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:87,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:88,1"
      Dst: "[ch.qos.logback.classic.Logger].getLevel()"
    - Src: "ch.qos.logback.classic.jul.LevelChangePropagator:89,1"
      Dst: "[ch.qos.logback.classic.jul.LevelChangePropagator].propagate(ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.jul.LevelChangePropagator].stop()"
    functionSourceFile: "ch.qos.logback.classic.jul.LevelChangePropagator"
    linkageType: null
    functionLinenumber: 103
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.jul.LevelChangePropagator].isStarted()"
    functionSourceFile: "ch.qos.logback.classic.jul.LevelChangePropagator"
    linkageType: null
    functionLinenumber: 107
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_6__26].bootstrap$()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_6__26"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_6__26].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_6__26:-1,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_6__26].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_6__26].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_6__26"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_6__26:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_6__26].get()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_6__26"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator].lambda$addElementSelectorAndActionAssociations$6()"
    functionUses: 3
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_6__26:-1,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator].lambda$addElementSelectorAndActionAssociations$6()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator].lambda$addElementSelectorAndActionAssociations$6()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator"
    linkageType: null
    functionLinenumber: 58
    functionDepth: 1
    returnType: "ch.qos.logback.core.joran.action.Action"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.action.RootLoggerAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:59,1"
      Dst: "[ch.qos.logback.classic.joran.action.RootLoggerAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__43].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__43"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__43].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__43:-1,1"
      Dst: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__43].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__43].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__43"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__43:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__43].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__43"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__43:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__43].get()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__43"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.ContextPropertyAction].<init>()"
    functionUses: 3
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__43:-1,1"
      Dst: "[ch.qos.logback.core.joran.action.ContextPropertyAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.ContextPropertyAction].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.action.ContextPropertyAction"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.Action].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.ContextPropertyAction:24,1"
      Dst: "[ch.qos.logback.core.joran.action.Action].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.MessageConverter].<init>()"
    functionSourceFile: "ch.qos.logback.classic.pattern.MessageConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.ClassicConverter].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.MessageConverter:23,1"
      Dst: "[ch.qos.logback.classic.pattern.ClassicConverter].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.MessageConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.pattern.MessageConverter"
    linkageType: null
    functionLinenumber: 25
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].getFormattedMessage()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getFormattedMessage()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getFormattedMessage()"
    functionUses: 1
    ICount: 4
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.MessageConverter:26,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getFormattedMessage()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.MessageConverter].convert(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.pattern.MessageConverter"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.MessageConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 11
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.MessageConverter:23,1"
      Dst: "[ch.qos.logback.classic.pattern.MessageConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.MessageConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.pattern.MessageConverter"
    linkageType: null
    functionLinenumber: 25
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].getFormattedMessage()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getFormattedMessage()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getFormattedMessage()"
    functionUses: 1
    ICount: 4
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.MessageConverter:26,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getFormattedMessage()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.JNDIUtil].<init>()"
    functionSourceFile: "ch.qos.logback.core.util.JNDIUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.JNDIUtil:33,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.JNDIUtil].getInitialContext()"
    functionSourceFile: "ch.qos.logback.core.util.JNDIUtil"
    linkageType: null
    functionLinenumber: 37
    functionDepth: 0
    returnType: "javax.naming.Context"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.naming.InitialContext].<init>()"
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.JNDIUtil:38,1"
      Dst: "[javax.naming.InitialContext].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.JNDIUtil].getInitialContext(java.util.Hashtable)"
    functionSourceFile: "ch.qos.logback.core.util.JNDIUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "javax.naming.Context"
    argCount: 1
    argTypes:
    - "java.util.Hashtable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.naming.InitialContext].<init>(java.util.Hashtable)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.JNDIUtil:42,1"
      Dst: "[javax.naming.InitialContext].<init>(java.util.Hashtable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.JNDIUtil].lookupObject(javax.naming.Context,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.JNDIUtil"
    linkageType: null
    functionLinenumber: 45
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "javax.naming.Context"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - "[ch.qos.logback.core.util.JNDIUtil].jndiNameSecurityCheck(java.lang.String)"
    - "[ch.qos.logback.core.testUtil.MockInitialContext].lookup(java.lang.String)"
    - "[javax.naming.Context].lookup(java.lang.String)"
    functionUses: 2
    ICount: 10
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.JNDIUtil:46"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.JNDIUtil:50"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.JNDIUtil:49"
        BranchSideFuncs:
        - "isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Branch String: "ch.qos.logback.core.util.JNDIUtil:50"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.JNDIUtil:54"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.JNDIUtil:53"
        BranchSideFuncs:
        - "jndiNameSecurityCheck(java.lang.String)"
        - "lookup(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.util.JNDIUtil:50,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Src: "ch.qos.logback.core.util.JNDIUtil:54,1"
      Dst: "[ch.qos.logback.core.util.JNDIUtil].jndiNameSecurityCheck(java.lang.String)"
    - Src: "ch.qos.logback.core.util.JNDIUtil:56,1"
      Dst: "[javax.naming.Context].lookup(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.JNDIUtil].jndiNameSecurityCheck(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.JNDIUtil"
    linkageType: null
    functionLinenumber: 60
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].startsWith(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[javax.naming.NamingException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.JNDIUtil:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.JNDIUtil:64"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.JNDIUtil:63"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.JNDIUtil:61,1"
      Dst: "[java.lang.String].startsWith(java.lang.String)"
    - Src: "ch.qos.logback.core.util.JNDIUtil:62,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.util.JNDIUtil:62,1"
      Dst: "[javax.naming.NamingException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.JNDIUtil].lookupString(javax.naming.Context,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.JNDIUtil"
    linkageType: null
    functionLinenumber: 66
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "javax.naming.Context"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.JNDIUtil].lookupObject(javax.naming.Context,java.lang.String)"
    functionUses: 3
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.JNDIUtil:67,1"
      Dst: "[ch.qos.logback.core.util.JNDIUtil].lookupObject(javax.naming.Context,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].<init>()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:34,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].configure(ch.qos.logback.core.net.ssl.SSLConfigurable)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration"
    linkageType: null
    functionLinenumber: 51
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.net.ssl.SSLConfigurable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].enabledProtocols(java.lang.String[],java.lang.String[])"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableSocket].getDefaultProtocols()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:ch.qos.logback.core.net.ssl.SSLConfigurableSocket].getSupportedProtocols()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:ch.qos.logback.core.net.ssl.SSLConfigurableSocket].setEnabledProtocols(java.lang.String[])"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:ch.qos.logback.core.net.ssl.SSLConfigurableSocket].setEnabledCipherSuites(java.lang.String[])"
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].enabledCipherSuites(java.lang.String[],java.lang.String[])"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:ch.qos.logback.core.net.ssl.SSLConfigurableSocket].getDefaultCipherSuites()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:ch.qos.logback.core.net.ssl.SSLConfigurableSocket].getSupportedCipherSuites()"
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].isNeedClientAuth()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket].setNeedClientAuth(boolean)"
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].isWantClientAuth()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:ch.qos.logback.core.net.ssl.SSLConfigurableSocket].setWantClientAuth(boolean)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableSocket].setHostnameVerification(boolean)"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].getSupportedProtocols()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].getDefaultProtocols()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].setEnabledProtocols(java.lang.String[])"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].getSupportedCipherSuites()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].getDefaultCipherSuites()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].setEnabledCipherSuites(java.lang.String[])"
    - "[java.lang.Boolean].booleanValue()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].setNeedClientAuth(boolean)"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].setWantClientAuth(boolean)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Boolean)"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].setHostnameVerification(boolean)"
    functionUses: 3
    ICount: 29
    EdgeCount: 16
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:55"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:58"
        BranchSideFuncs:
        - "isNeedClientAuth()"
        - "setNeedClientAuth(boolean)"
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:57"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:58"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:61"
        BranchSideFuncs:
        - "isWantClientAuth()"
        - "setWantClientAuth(boolean)"
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:60"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:65"
        BranchSideFuncs:
        - "setHostnameVerification(boolean)"
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:64"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:52,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].getSupportedProtocols()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:52,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].getDefaultProtocols()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:52,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].enabledProtocols(java.lang.String[],java.lang.String[])"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:52,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].setEnabledProtocols(java.lang.String[])"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:54,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].getSupportedCipherSuites()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:54,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].getDefaultCipherSuites()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:54,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].enabledCipherSuites(java.lang.String[],java.lang.String[])"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:53,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].setEnabledCipherSuites(java.lang.String[])"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:55,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].isNeedClientAuth()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:56,1"
      Dst: "[java.lang.Boolean].booleanValue()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:56,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].setNeedClientAuth(boolean)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:58,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].isWantClientAuth()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:59,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].setWantClientAuth(boolean)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:62,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Boolean)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:62,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:63,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].setHostnameVerification(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].getHostnameVerification()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Boolean].booleanValue()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:68"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:70"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:69"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:70,1"
      Dst: "[java.lang.Boolean].booleanValue()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].setHostnameVerification(boolean)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Boolean].valueOf(boolean)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:74,1"
      Dst: "[java.lang.Boolean].valueOf(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].enabledProtocols(java.lang.String[],java.lang.String[])"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 3
    returnType: "java.lang.String[]"
    argCount: 2
    argTypes:
    - "java.lang.String[]"
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].getIncludedProtocols()"
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].getExcludedProtocols()"
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].includedStrings(java.lang.String[],java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[java.util.Arrays].copyOf(java.lang.Object[],int)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 31
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:85"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:97"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:88"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:92"
        BranchSideFuncs:
        - "isNullOrEmptyOrAllSpaces(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:91"
        BranchSideFuncs:
        - "getExcludedProtocols()"
        - "getIncludedProtocols()"
        - "includedStrings(java.lang.String[],java.lang.String,java.lang.String)"
    - Branch String: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:89"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:92"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:91"
        BranchSideFuncs:
        - "getExcludedProtocols()"
        - "getIncludedProtocols()"
        - "includedStrings(java.lang.String[],java.lang.String,java.lang.String)"
    - Branch String: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:94"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:97"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:88,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].getIncludedProtocols()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:88,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:89,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].getExcludedProtocols()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:90,1"
      Dst: "[java.util.Arrays].copyOf(java.lang.Object[],int)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:92,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].includedStrings(java.lang.String[],java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:95,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:95,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].enabledCipherSuites(java.lang.String[],java.lang.String[])"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration"
    linkageType: null
    functionLinenumber: 108
    functionDepth: 3
    returnType: "java.lang.String[]"
    argCount: 2
    argTypes:
    - "java.lang.String[]"
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].getIncludedCipherSuites()"
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].getExcludedCipherSuites()"
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].includedStrings(java.lang.String[],java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[java.util.Arrays].copyOf(java.lang.Object[],int)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 31
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:109"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:122"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:112"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:116"
        BranchSideFuncs:
        - "isNullOrEmptyOrAllSpaces(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:115"
        BranchSideFuncs:
        - "getIncludedCipherSuites()"
        - "includedStrings(java.lang.String[],java.lang.String,java.lang.String)"
    - Branch String: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:113"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:116"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:115"
        BranchSideFuncs:
        - "getIncludedCipherSuites()"
        - "includedStrings(java.lang.String[],java.lang.String,java.lang.String)"
    - Branch String: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:119"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:122"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:112,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].getIncludedCipherSuites()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:112,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:113,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].getExcludedCipherSuites()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:114,1"
      Dst: "[java.util.Arrays].copyOf(java.lang.Object[],int)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:116,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].includedStrings(java.lang.String[],java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:120,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:120,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].includedStrings(java.lang.String[],java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration"
    linkageType: null
    functionLinenumber: 137
    functionDepth: 2
    returnType: "java.lang.String[]"
    argCount: 3
    argTypes:
    - "java.lang.String[]"
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.StringCollectionUtil].retainMatching(java.util.Collection,java.lang.String[])"
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].stringToArray(java.lang.String)"
    - "[ch.qos.logback.core.util.StringCollectionUtil].removeMatching(java.util.Collection,java.lang.String[])"
    - "[java.util.ArrayList].<init>(int)"
    - "[java.util.Arrays].asList(java.lang.Object[])"
    - "[java.util.List].addAll(java.util.Collection)"
    - "[java.util.List].size()"
    - "[java.util.List].toArray(java.lang.Object[])"
    functionUses: 2
    ICount: 20
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:140"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:143"
        BranchSideFuncs:
        - "retainMatching(java.util.Collection,java.lang.String[])"
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:142"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:143"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:146"
        BranchSideFuncs:
        - "stringToArray(java.lang.String)"
        - "removeMatching(java.util.Collection,java.lang.String[])"
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:145"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:138,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:139,1"
      Dst: "[java.util.Arrays].asList(java.lang.Object[])"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:139,1"
      Dst: "[java.util.List].addAll(java.util.Collection)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:141,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].stringToArray(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:141,1"
      Dst: "[ch.qos.logback.core.util.StringCollectionUtil].retainMatching(java.util.Collection,java.lang.String[])"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:144,1"
      Dst: "[ch.qos.logback.core.util.StringCollectionUtil].removeMatching(java.util.Collection,java.lang.String[])"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:146,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:146,1"
      Dst: "[java.util.List].toArray(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].stringToArray(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration"
    linkageType: null
    functionLinenumber: 155
    functionDepth: 0
    returnType: "java.lang.String[]"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].split(java.lang.String)"
    functionUses: 2
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:156,1"
      Dst: "[java.lang.String].split(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].getIncludedProtocols()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration"
    linkageType: null
    functionLinenumber: 165
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].setIncludedProtocols(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].getExcludedProtocols()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration"
    linkageType: null
    functionLinenumber: 186
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].setExcludedProtocols(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].getIncludedCipherSuites()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration"
    linkageType: null
    functionLinenumber: 207
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].setIncludedCipherSuites(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].getExcludedCipherSuites()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration"
    linkageType: null
    functionLinenumber: 228
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].setExcludedCipherSuites(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].isNeedClientAuth()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration"
    linkageType: null
    functionLinenumber: 248
    functionDepth: 0
    returnType: "java.lang.Boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].setNeedClientAuth(java.lang.Boolean)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].isWantClientAuth()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration"
    linkageType: null
    functionLinenumber: 266
    functionDepth: 0
    returnType: "java.lang.Boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].setWantClientAuth(java.lang.Boolean)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.FileOfCallerConverter].<init>()"
    functionSourceFile: "ch.qos.logback.classic.pattern.FileOfCallerConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.ClassicConverter].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.FileOfCallerConverter:20,1"
      Dst: "[ch.qos.logback.classic.pattern.ClassicConverter].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.FileOfCallerConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.pattern.FileOfCallerConverter"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].getCallerData()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getCallerData()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getCallerData()"
    - "[java.lang.StackTraceElement].getFileName()"
    functionUses: 1
    ICount: 10
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.FileOfCallerConverter:24"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.FileOfCallerConverter:27"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.FileOfCallerConverter:26"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.FileOfCallerConverter:24"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.FileOfCallerConverter:27"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.FileOfCallerConverter:26"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.FileOfCallerConverter:23,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getCallerData()"
    - Src: "ch.qos.logback.classic.pattern.FileOfCallerConverter:25,1"
      Dst: "[java.lang.StackTraceElement].getFileName()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.pattern.FileOfCallerConverter].convert(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.pattern.FileOfCallerConverter"
    linkageType: null
    functionLinenumber: 19
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.FileOfCallerConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 11
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.FileOfCallerConverter:20,1"
      Dst: "[ch.qos.logback.classic.pattern.FileOfCallerConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.FileOfCallerConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.pattern.FileOfCallerConverter"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].getCallerData()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getCallerData()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getCallerData()"
    - "[java.lang.StackTraceElement].getFileName()"
    functionUses: 1
    ICount: 10
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.FileOfCallerConverter:24"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.FileOfCallerConverter:27"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.FileOfCallerConverter:26"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.FileOfCallerConverter:24"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.FileOfCallerConverter:27"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.FileOfCallerConverter:26"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.FileOfCallerConverter:23,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getCallerData()"
    - Src: "ch.qos.logback.classic.pattern.FileOfCallerConverter:25,1"
      Dst: "[java.lang.StackTraceElement].getFileName()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy].<init>()"
    functionSourceFile: "ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy:19,1"
      Dst: "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy].start()"
    functionSourceFile: "ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"
    linkageType: null
    functionLinenumber: 24
    functionDepth: 12
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP].<init>(ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP$Usage)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP].setMaxFileSize(ch.qos.logback.core.util.FileSize)"
    - "[ch.qos.logback.core.util.FileSize].getSize()"
    - "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].isUnboundedTotalSizeCap()"
    - "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].start()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.util.FileSize)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.util.FileSize,ch.qos.logback.core.util.FileSize)"
    functionUses: 5
    ICount: 30
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy:26"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy:30"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy:29"
        BranchSideFuncs:
        - "isUnboundedTotalSizeCap()"
        - "setMaxFileSize(ch.qos.logback.core.util.FileSize)"
        - "getSize()"
        - "addInfo(java.lang.String)"
    - Branch String: "ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy:36"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy:43"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy:42"
        BranchSideFuncs:
        - "start()"
    - Branch String: "ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy:36"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy:43"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy:42"
        BranchSideFuncs:
        - "start()"
    Callsites:
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy:25,1"
      Dst: "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP].<init>(ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP$Usage)"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy:27,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy:30,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.util.FileSize)"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy:30,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy:33,1"
      Dst: "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP].setMaxFileSize(ch.qos.logback.core.util.FileSize)"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy:36,1"
      Dst: "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].isUnboundedTotalSizeCap()"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy:36,1"
      Dst: "[ch.qos.logback.core.util.FileSize].getSize()"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy:37,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.util.FileSize,ch.qos.logback.core.util.FileSize)"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy:43,1"
      Dst: "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP].<init>(ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP$Usage)"
    functionSourceFile: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"
    linkageType: null
    functionLinenumber: 56
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP$Usage"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.SimpleInvocationGate].<init>()"
    - "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase].<init>()"
    functionUses: 1
    ICount: 10
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:57,1"
      Dst: "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase].<init>()"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:51,1"
      Dst: "[ch.qos.logback.core.util.SimpleInvocationGate].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.SimpleInvocationGate].<init>()"
    functionSourceFile: "ch.qos.logback.core.util.SimpleInvocationGate"
    linkageType: null
    functionLinenumber: 37
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.SimpleInvocationGate].<init>(ch.qos.logback.core.util.Duration)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.SimpleInvocationGate:38,1"
      Dst: "[ch.qos.logback.core.util.SimpleInvocationGate].<init>(ch.qos.logback.core.util.Duration)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.SimpleInvocationGate].<init>(ch.qos.logback.core.util.Duration)"
    functionSourceFile: "ch.qos.logback.core.util.SimpleInvocationGate"
    linkageType: null
    functionLinenumber: 40
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.util.Duration"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.concurrent.atomic.AtomicLong].<init>(long)"
    functionUses: 3
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.SimpleInvocationGate:41,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.util.SimpleInvocationGate:31,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].<init>(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP].setMaxFileSize(ch.qos.logback.core.util.FileSize)"
    functionSourceFile: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"
    linkageType: null
    functionLinenumber: 203
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.util.FileSize"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].isUnboundedTotalSizeCap()"
    functionSourceFile: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
    linkageType: null
    functionLinenumber: 124
    functionDepth: 1
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.FileSize].getSize()"
    functionUses: 2
    ICount: 9
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:125"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:124"
        BranchSideFuncs:
        - "getSize()"
    Callsites:
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:125,1"
      Dst: "[ch.qos.logback.core.util.FileSize].getSize()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.FileSize].getSize()"
    functionSourceFile: "ch.qos.logback.core.util.FileSize"
    linkageType: null
    functionLinenumber: 54
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 7
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].start()"
    functionSourceFile: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
    linkageType: null
    functionLinenumber: 66
    functionDepth: 11
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].<init>(java.lang.String,ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.rolling.RollingPolicyBase].determineCompressionMode()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.rolling.helper.Compressor].<init>(ch.qos.logback.core.rolling.helper.CompressionMode)"
    - "[ch.qos.logback.core.rolling.helper.Compressor].computeFileNameStrWithoutCompSuffix(java.lang.String,ch.qos.logback.core.rolling.helper.CompressionMode)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].transformFileNamePattern2ZipEntry(java.lang.String)"
    - "[ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy].<init>()"
    - "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase].setTimeBasedRollingPolicy(ch.qos.logback.core.rolling.TimeBasedRollingPolicy)"
    - "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP].start()"
    - "[ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy].start()"
    - "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase].start()"
    - "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase].isStarted()"
    - "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase].getArchiveRemover()"
    - "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].setMaxHistory(int)"
    - "[ch.qos.logback.core.util.FileSize].getSize()"
    - "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].setTotalSizeCap(long)"
    - "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase].getCurrentTime()"
    - "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].cleanAsynchronously(java.time.Instant)"
    - "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].isUnboundedTotalSizeCap()"
    - "[ch.qos.logback.core.rolling.RollingPolicyBase].start()"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.rolling.helper.FileNamePattern)"
    - "[ch.qos.logback.core.spi.ContextAware].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicy].setTimeBasedRollingPolicy(ch.qos.logback.core.rolling.TimeBasedRollingPolicy)"
    - "[ch.qos.logback.core.spi.LifeCycle].start()"
    - "[ch.qos.logback.core.spi.LifeCycle].isStarted()"
    - "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicy].getArchiveRemover()"
    - "[ch.qos.logback.core.rolling.helper.ArchiveRemover].setMaxHistory(int)"
    - "[ch.qos.logback.core.rolling.helper.ArchiveRemover].setTotalSizeCap(long)"
    - "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicy].getCurrentTime()"
    - "[java.time.Instant].ofEpochMilli(long)"
    - "[ch.qos.logback.core.rolling.helper.ArchiveRemover].cleanAsynchronously(java.time.Instant)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.util.FileSize)"
    functionUses: 6
    ICount: 90
    EdgeCount: 30
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:70"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:74"
        BranchSideFuncs:
        - "determineCompressionMode()"
      - BranchSide: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:73"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:88"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:93"
        BranchSideFuncs:
        - "<init>(java.lang.String,ch.qos.logback.core.Context)"
        - "transformFileNamePattern2ZipEntry(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:92"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:93"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:96"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:95"
        BranchSideFuncs:
        - "isStarted()"
        - "setTimeBasedRollingPolicy(ch.qos.logback.core.rolling.TimeBasedRollingPolicy)"
        - "setContext(ch.qos.logback.core.Context)"
    - Branch String: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:100"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:108"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:107"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:108"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:117"
        BranchSideFuncs:
        - "getSize()"
        - "setMaxHistory(int)"
        - "getArchiveRemover()"
        - "setTotalSizeCap(long)"
      - BranchSide: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:116"
        BranchSideFuncs:
        - "isUnboundedTotalSizeCap()"
    - Branch String: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:112"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:121"
        BranchSideFuncs:
        - "cleanAsynchronously(java.time.Instant)"
        - "getCurrentTime()"
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:120"
        BranchSideFuncs:
        - "start()"
    - Branch String: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:117"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:121"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:120"
        BranchSideFuncs:
        - "start()"
    Callsites:
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:67,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:71,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileNamePattern].<init>(java.lang.String,ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:72,1"
      Dst: "[ch.qos.logback.core.rolling.RollingPolicyBase].determineCompressionMode()"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:74,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:76,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:79,1"
      Dst: "[ch.qos.logback.core.rolling.helper.Compressor].<init>(ch.qos.logback.core.rolling.helper.CompressionMode)"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:84,1"
      Dst: "[ch.qos.logback.core.rolling.helper.Compressor].computeFileNameStrWithoutCompSuffix(java.lang.String,ch.qos.logback.core.rolling.helper.CompressionMode)"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:86,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.rolling.helper.FileNamePattern)"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:86,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:89,1"
      Dst: "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].transformFileNamePattern2ZipEntry(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:94,1"
      Dst: "[ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy].<init>()"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:96,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:97,1"
      Dst: "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicy].setTimeBasedRollingPolicy(ch.qos.logback.core.rolling.TimeBasedRollingPolicy)"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:98,1"
      Dst: "[ch.qos.logback.core.spi.LifeCycle].start()"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:100,1"
      Dst: "[ch.qos.logback.core.spi.LifeCycle].isStarted()"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:109,1"
      Dst: "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicy].getArchiveRemover()"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:110,1"
      Dst: "[ch.qos.logback.core.rolling.helper.ArchiveRemover].setMaxHistory(int)"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:111,1"
      Dst: "[ch.qos.logback.core.util.FileSize].getSize()"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:111,1"
      Dst: "[ch.qos.logback.core.rolling.helper.ArchiveRemover].setTotalSizeCap(long)"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:114,1"
      Dst: "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicy].getCurrentTime()"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:114,1"
      Dst: "[java.time.Instant].ofEpochMilli(long)"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:115,1"
      Dst: "[ch.qos.logback.core.rolling.helper.ArchiveRemover].cleanAsynchronously(java.time.Instant)"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:117,1"
      Dst: "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].isUnboundedTotalSizeCap()"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:118,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.util.FileSize)"
    - Src: "ch.qos.logback.core.rolling.TimeBasedRollingPolicy:121,1"
      Dst: "[ch.qos.logback.core.rolling.RollingPolicyBase].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 15
    CyclomaticComplexity: 6
  - functionName: "[ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy].setMaxFileSize(ch.qos.logback.core.util.FileSize)"
    functionSourceFile: "ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.util.FileSize"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy].toString()"
    functionSourceFile: "ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"
    linkageType: null
    functionLinenumber: 51
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].hashCode()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    functionUses: 3
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy:52,1"
      Dst: "[java.lang.Object].hashCode()"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy:52,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.PrefixCompositeConverter].<init>()"
    functionSourceFile: "ch.qos.logback.classic.pattern.PrefixCompositeConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.CompositeConverter].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:21,1"
      Dst: "[ch.qos.logback.core.pattern.CompositeConverter].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.PrefixCompositeConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.pattern.PrefixCompositeConverter"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.CompositeConverter].getChildConverter()"
    - "[ch.qos.logback.core.pattern.Converter].getNext()"
    - "[ch.qos.logback.classic.pattern.MDCConverter].getKey()"
    - "[ch.qos.logback.classic.pattern.PropertyConverter:ch.qos.logback.core.pattern.LiteralConverter].getKey()"
    - "[ch.qos.logback.classic.pattern.FileOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LocalSequenceNumberConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.SyslogStartConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.DateTokenConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.NopThrowableInformationConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.PrefixCompositeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.DateConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.RelativeTimeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.IntegerTokenConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.KeyValuePairConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LineSeparatorConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LineOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.PropertyConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LevelConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MDCConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MessageConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ThreadConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.NamedConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MethodOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MicrosecondConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ContextNameConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MarkerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.CompositeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.SequenceNumberConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.CallerDataConverter].convert(java.lang.Object)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[ch.qos.logback.classic.pattern.PropertyConverter].getKey()"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getName()"
    - "[java.util.Map].get(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.Converter].convert(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 36
    EdgeCount: 30
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:27"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:50"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:49"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:28"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:28"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:27"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:32"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:35"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:34"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:28"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:42"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:41"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:38"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:41"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:40"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:null"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:24,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:27,1"
      Dst: "[ch.qos.logback.core.pattern.CompositeConverter].getChildConverter()"
    - Src: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:31,1"
      Dst: "[ch.qos.logback.classic.pattern.MDCConverter].getKey()"
    - Src: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:33,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:37,1"
      Dst: "[ch.qos.logback.classic.pattern.PropertyConverter].getKey()"
    - Src: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:42,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:42,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:44,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:48,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].convert(java.lang.Object)"
    - Src: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:27,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].getNext()"
    - Src: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:50,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 14
    CyclomaticComplexity: 7
  - functionName: "[ch.qos.logback.classic.pattern.MDCConverter].getKey()"
    functionSourceFile: "ch.qos.logback.classic.pattern.MDCConverter"
    linkageType: null
    functionLinenumber: 88
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.PropertyConverter].getKey()"
    functionSourceFile: "ch.qos.logback.classic.pattern.PropertyConverter"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.PrefixCompositeConverter].transform(ch.qos.logback.classic.spi.ILoggingEvent,java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.pattern.PrefixCompositeConverter"
    linkageType: null
    functionLinenumber: 53
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.UnsupportedOperationException].<init>()"
    functionUses: 1
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:54,1"
      Dst: "[java.lang.UnsupportedOperationException].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.PrefixCompositeConverter].transform(java.lang.Object,java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.pattern.PrefixCompositeConverter"
    linkageType: null
    functionLinenumber: 20
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.PrefixCompositeConverter].transform(ch.qos.logback.classic.spi.ILoggingEvent,java.lang.String)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:21,1"
      Dst: "[ch.qos.logback.classic.pattern.PrefixCompositeConverter].transform(ch.qos.logback.classic.spi.ILoggingEvent,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.PrefixCompositeConverter].transform(ch.qos.logback.classic.spi.ILoggingEvent,java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.pattern.PrefixCompositeConverter"
    linkageType: null
    functionLinenumber: 53
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.UnsupportedOperationException].<init>()"
    functionUses: 1
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:54,1"
      Dst: "[java.lang.UnsupportedOperationException].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.PrefixCompositeConverter].convert(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.pattern.PrefixCompositeConverter"
    linkageType: null
    functionLinenumber: 20
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.PrefixCompositeConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 11
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:21,1"
      Dst: "[ch.qos.logback.classic.pattern.PrefixCompositeConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.PrefixCompositeConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.pattern.PrefixCompositeConverter"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.CompositeConverter].getChildConverter()"
    - "[ch.qos.logback.core.pattern.Converter].getNext()"
    - "[ch.qos.logback.classic.pattern.MDCConverter].getKey()"
    - "[ch.qos.logback.classic.pattern.PropertyConverter:ch.qos.logback.core.pattern.LiteralConverter].getKey()"
    - "[ch.qos.logback.classic.pattern.FileOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LocalSequenceNumberConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.SyslogStartConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.DateTokenConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.NopThrowableInformationConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.PrefixCompositeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.DateConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.RelativeTimeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.IntegerTokenConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.KeyValuePairConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LineSeparatorConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LineOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.PropertyConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LevelConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MDCConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MessageConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ThreadConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.NamedConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MethodOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MicrosecondConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ContextNameConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MarkerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.CompositeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.SequenceNumberConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.CallerDataConverter].convert(java.lang.Object)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[ch.qos.logback.classic.pattern.PropertyConverter].getKey()"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getName()"
    - "[java.util.Map].get(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.Converter].convert(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 36
    EdgeCount: 30
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:27"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:50"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:49"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:28"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:28"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:27"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:32"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:35"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:34"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:28"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:42"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:41"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:38"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:41"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:40"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:null"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:24,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:27,1"
      Dst: "[ch.qos.logback.core.pattern.CompositeConverter].getChildConverter()"
    - Src: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:31,1"
      Dst: "[ch.qos.logback.classic.pattern.MDCConverter].getKey()"
    - Src: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:33,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:37,1"
      Dst: "[ch.qos.logback.classic.pattern.PropertyConverter].getKey()"
    - Src: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:42,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:42,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:44,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:48,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].convert(java.lang.Object)"
    - Src: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:27,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].getNext()"
    - Src: "ch.qos.logback.classic.pattern.PrefixCompositeConverter:50,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 14
    CyclomaticComplexity: 7
  - functionName: "[ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2].<init>(int)"
    functionSourceFile: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:23,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2].abbreviate(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2].computeDotIndexes(java.lang.String,int[])"
    - "[ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2].computeLengthArray(java.lang.String,int[],int[],int)"
    - "[java.lang.StringBuilder].<init>(int)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.String].length()"
    - "[java.lang.String].substring(int,int)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 2
    ICount: 39
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:29"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:33"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:32"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:34"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:38"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:37"
        BranchSideFuncs:
        - "computeDotIndexes(java.lang.String,int[])"
    - Branch String: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:48"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:52"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:51"
        BranchSideFuncs:
        - "computeLengthArray(java.lang.String,int[],int[],int)"
    - Branch String: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:54"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:63"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:62"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:55"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:58"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:57"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:28,1"
      Dst: "[java.lang.StringBuilder].<init>(int)"
    - Src: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:30,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:33,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:43,1"
      Dst: "[ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2].computeDotIndexes(java.lang.String,int[])"
    - Src: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:52,1"
      Dst: "[ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2].computeLengthArray(java.lang.String,int[],int[],int)"
    - Src: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:56,1"
      Dst: "[java.lang.String].substring(int,int)"
    - Src: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:56,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:63,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 13
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2].computeDotIndexes(java.lang.String,int[])"
    functionSourceFile: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2"
    linkageType: null
    functionLinenumber: 74
    functionDepth: 0
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "int[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].indexOf(int,int)"
    functionUses: 1
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:81"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:89"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:88"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:81"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:89"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:88"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:80,1"
      Dst: "[java.lang.String].indexOf(int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2].computeLengthArray(java.lang.String,int[],int[],int)"
    functionSourceFile: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 0
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.lang.String"
    - "int[]"
    - "int[]"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].length()"
    functionUses: 1
    ICount: 39
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:97"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:120"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:101"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:100"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:110"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:113"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:112"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:111"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:110"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:93,1"
      Dst: "[java.lang.String].length()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 13
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2].computeDotIndexes(java.lang.String,int[])"
    functionSourceFile: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2"
    linkageType: null
    functionLinenumber: 74
    functionDepth: 0
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "int[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].indexOf(int,int)"
    functionUses: 1
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:81"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:89"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:88"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:81"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:89"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:88"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:80,1"
      Dst: "[java.lang.String].indexOf(int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2].computeLengthArray(java.lang.String,int[],int[],int)"
    functionSourceFile: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 0
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.lang.String"
    - "int[]"
    - "int[]"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].length()"
    functionUses: 1
    ICount: 39
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:97"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:120"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:101"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:100"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:110"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:113"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:112"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:111"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:110"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:93,1"
      Dst: "[java.lang.String].length()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 13
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2].printArray(java.lang.String,int[])"
    functionSourceFile: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "int[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.PrintStream].print(java.lang.String)"
    - "[java.io.PrintStream].print(int)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - "[java.io.PrintStream].println()"
    functionUses: 0
    ICount: 21
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:127"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:134"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:133"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:128"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:131"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:130"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:126,1"
      Dst: "[java.io.PrintStream].print(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:129,1"
      Dst: "[java.io.PrintStream].print(int)"
    - Src: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:131,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - Src: "ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator2:134,1"
      Dst: "[java.io.PrintStream].println()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[org.slf4j.MDC$MDCCloseable].<init>(java.lang.String)"
    functionSourceFile: "org.slf4j.MDC$MDCCloseable"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.MDC$MDCCloseable:79,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.MDC$MDCCloseable].close()"
    functionSourceFile: "org.slf4j.MDC$MDCCloseable"
    linkageType: null
    functionLinenumber: 83
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.MDC].remove(java.lang.String)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.MDC$MDCCloseable:84,1"
      Dst: "[org.slf4j.MDC].remove(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.MDC].remove(java.lang.String)"
    functionSourceFile: "org.slf4j.MDC"
    linkageType: null
    functionLinenumber: 196
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.util.LogbackMDCAdapterSimple].remove(java.lang.String)"
    - "[ch.qos.logback.classic.util.LogbackMDCAdapter].remove(java.lang.String)"
    - "[org.slf4j.helpers.BasicMDCAdapter].remove(java.lang.String)"
    - "[org.slf4j.helpers.NOPMDCAdapter].remove(java.lang.String)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - "[org.slf4j.spi.MDCAdapter].remove(java.lang.String)"
    functionUses: 1
    ICount: 13
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "org.slf4j.MDC:197"
      Branch Sides:
      - BranchSide: "org.slf4j.MDC:201"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.MDC:200"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.MDC:201"
      Branch Sides:
      - BranchSide: "org.slf4j.MDC:204"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.MDC:203"
        BranchSideFuncs:
        - "remove(java.lang.String)"
    Callsites:
    - Src: "org.slf4j.MDC:198,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "org.slf4j.MDC:202,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - Src: "org.slf4j.MDC:204,1"
      Dst: "[org.slf4j.spi.MDCAdapter].remove(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.MDC$MDCCloseable].<init>(java.lang.String,org.slf4j.MDC$1)"
    functionSourceFile: "org.slf4j.MDC$MDCCloseable"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "org.slf4j.MDC$1"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.MDC$MDCCloseable].<init>(java.lang.String)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.MDC$MDCCloseable:76,1"
      Dst: "[org.slf4j.MDC$MDCCloseable].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.StatusListenerAsList].<init>()"
    functionSourceFile: "ch.qos.logback.core.status.StatusListenerAsList"
    linkageType: null
    functionLinenumber: -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: "ch.qos.logback.core.status.StatusListenerAsList:25,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.status.StatusListenerAsList:27,1"
      Dst: "[java.util.ArrayList].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.StatusListenerAsList].addStatusEvent(ch.qos.logback.core.status.Status)"
    functionSourceFile: "ch.qos.logback.core.status.StatusListenerAsList"
    linkageType: null
    functionLinenumber: 29
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.status.Status"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.StatusListenerAsList:30,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.StatusListenerAsList].getStatusList()"
    functionSourceFile: "ch.qos.logback.core.status.StatusListenerAsList"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelHandlerException].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelHandlerException"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Exception].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelHandlerException:7,1"
      Dst: "[java.lang.Exception].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelHandlerException].<init>(java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelHandlerException"
    linkageType: null
    functionLinenumber: 10
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Exception].<init>(java.lang.Throwable)"
    functionUses: 5
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelHandlerException:11,1"
      Dst: "[java.lang.Exception].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.ClassNameOnlyAbbreviator].<init>()"
    functionSourceFile: "ch.qos.logback.classic.pattern.ClassNameOnlyAbbreviator"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.ClassNameOnlyAbbreviator:24,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.ClassNameOnlyAbbreviator].abbreviate(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.pattern.ClassNameOnlyAbbreviator"
    linkageType: null
    functionLinenumber: 29
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].lastIndexOf(int)"
    - "[java.lang.String].length()"
    - "[java.lang.String].substring(int,int)"
    functionUses: 2
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.ClassNameOnlyAbbreviator:31"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ClassNameOnlyAbbreviator:34"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.ClassNameOnlyAbbreviator:33"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.ClassNameOnlyAbbreviator:30,1"
      Dst: "[java.lang.String].lastIndexOf(int)"
    - Src: "ch.qos.logback.classic.pattern.ClassNameOnlyAbbreviator:32,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.classic.pattern.ClassNameOnlyAbbreviator:32,1"
      Dst: "[java.lang.String].substring(int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ActionException].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ActionException"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Exception].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ActionException:27,1"
      Dst: "[java.lang.Exception].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ActionException].<init>(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ActionException"
    linkageType: null
    functionLinenumber: 30
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Exception].<init>(java.lang.String)"
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ActionException:31,1"
      Dst: "[java.lang.Exception].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ActionException].<init>(java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ActionException"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Exception].<init>(java.lang.Throwable)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ActionException:35,1"
      Dst: "[java.lang.Exception].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.SimpleKeywordNode].<init>(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.SimpleKeywordNode"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.FormattingNode].<init>(int,java.lang.Object)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.SimpleKeywordNode:23,1"
      Dst: "[ch.qos.logback.core.pattern.parser.FormattingNode].<init>(int,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.SimpleKeywordNode].<init>(int,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.SimpleKeywordNode"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.FormattingNode].<init>(int,java.lang.Object)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.SimpleKeywordNode:27,1"
      Dst: "[ch.qos.logback.core.pattern.parser.FormattingNode].<init>(int,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.SimpleKeywordNode].getOptions()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.SimpleKeywordNode"
    linkageType: null
    functionLinenumber: 30
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.SimpleKeywordNode].setOptions(java.util.List)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.SimpleKeywordNode"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.SimpleKeywordNode].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.SimpleKeywordNode"
    linkageType: null
    functionLinenumber: 38
    functionDepth: 3
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.FormattingNode].equals(java.lang.Object)"
    - "[java.util.List].equals(java.lang.Object)"
    functionUses: 9
    ICount: 21
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.SimpleKeywordNode:39"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.SimpleKeywordNode:43"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.SimpleKeywordNode:42"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.SimpleKeywordNode:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.SimpleKeywordNode:46"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.SimpleKeywordNode:45"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.SimpleKeywordNode:48"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.SimpleKeywordNode:45"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.SimpleKeywordNode:48"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.SimpleKeywordNode:45"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.SimpleKeywordNode:39,1"
      Dst: "[ch.qos.logback.core.pattern.parser.FormattingNode].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.pattern.parser.SimpleKeywordNode:48,1"
      Dst: "[java.util.List].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.pattern.parser.SimpleKeywordNode].hashCode()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.SimpleKeywordNode"
    linkageType: null
    functionLinenumber: 52
    functionDepth: 2
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.FormattingNode].hashCode()"
    functionUses: 5
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.SimpleKeywordNode:53,1"
      Dst: "[ch.qos.logback.core.pattern.parser.FormattingNode].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.SimpleKeywordNode].toString()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.SimpleKeywordNode"
    linkageType: null
    functionLinenumber: 56
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.Node].printNext()"
    - "[java.lang.StringBuilder].<init>()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Object,ch.qos.logback.core.pattern.FormatInfo)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Object,ch.qos.logback.core.pattern.FormatInfo,java.util.List)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 3
    ICount: 19
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.SimpleKeywordNode:58"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.SimpleKeywordNode:61"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.SimpleKeywordNode:60"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.SimpleKeywordNode:57,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.core.pattern.parser.SimpleKeywordNode:59,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Object,ch.qos.logback.core.pattern.FormatInfo)"
    - Src: "ch.qos.logback.core.pattern.parser.SimpleKeywordNode:59,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.core.pattern.parser.SimpleKeywordNode:61,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Object,ch.qos.logback.core.pattern.FormatInfo,java.util.List)"
    - Src: "ch.qos.logback.core.pattern.parser.SimpleKeywordNode:63,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Node].printNext()"
    - Src: "ch.qos.logback.core.pattern.parser.SimpleKeywordNode:64,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.pattern.parser.Node].printNext()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.Node"
    linkageType: null
    functionLinenumber: 76
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.pattern.parser.Node)"
    functionUses: 3
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.Node:77"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.Node:80"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.Node:79"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.Node:78,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.pattern.parser.Node)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].<init>()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:117,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].<init>(java.lang.String,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Throwable,java.lang.Object[])"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: 120
    functionDepth: 8
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.String"
    - "ch.qos.logback.classic.Logger"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Throwable"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].getName()"
    - "[ch.qos.logback.classic.Logger].getLoggerContext()"
    - "[ch.qos.logback.classic.LoggerContext].getLoggerContextRemoteView()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].initTmestampFields(java.time.Instant)"
    - "[ch.qos.logback.classic.LoggerContext].getSequenceNumberGenerator()"
    - "[ch.qos.logback.core.spi.BasicSequenceNumberGenerator].nextSequenceNumber()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].extractThrowableAnRearrangeArguments(java.lang.Object[])"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].<init>(java.lang.Throwable)"
    - "[ch.qos.logback.classic.LoggerContext].isPackagingDataEnabled()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].calculatePackagingData()"
    - "[java.lang.Object].<init>()"
    - "[java.time.Clock].systemUTC()"
    - "[java.time.Clock].instant()"
    - "[ch.qos.logback.core.spi.SequenceNumberGenerator].nextSequenceNumber()"
    functionUses: 1
    ICount: 43
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:134"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:140"
        BranchSideFuncs:
        - "getSequenceNumberGenerator()"
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:139"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:136"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:140"
        BranchSideFuncs:
        - "nextSequenceNumber()"
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:139"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:140"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:144"
        BranchSideFuncs:
        - "extractThrowableAnRearrangeArguments(java.lang.Object[])"
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:143"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:144"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:151"
        BranchSideFuncs:
        - "isPackagingDataEnabled()"
        - "<init>(java.lang.Throwable)"
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:150"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:147"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:151"
        BranchSideFuncs:
        - "calculatePackagingData()"
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:150"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:147"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:151"
        BranchSideFuncs:
        - "calculatePackagingData()"
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:150"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:121,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:123,1"
      Dst: "[ch.qos.logback.classic.Logger].getName()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:124,1"
      Dst: "[ch.qos.logback.classic.Logger].getLoggerContext()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:125,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getLoggerContextRemoteView()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:131,1"
      Dst: "[java.time.Clock].systemUTC()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:131,1"
      Dst: "[java.time.Clock].instant()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:132,1"
      Dst: "[ch.qos.logback.classic.spi.LoggingEvent].initTmestampFields(java.time.Instant)"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:135,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getSequenceNumberGenerator()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:137,1"
      Dst: "[ch.qos.logback.core.spi.SequenceNumberGenerator].nextSequenceNumber()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:141,1"
      Dst: "[ch.qos.logback.classic.spi.LoggingEvent].extractThrowableAnRearrangeArguments(java.lang.Object[])"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:145,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxy].<init>(java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:147,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].isPackagingDataEnabled()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:148,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxy].calculatePackagingData()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 7
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].initTmestampFields(java.time.Instant)"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: 153
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.time.Instant"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.time.Instant].getEpochSecond()"
    - "[java.time.Instant].getNano()"
    functionUses: 1
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:155,1"
      Dst: "[java.time.Instant].getEpochSecond()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:156,1"
      Dst: "[java.time.Instant].getNano()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].extractThrowableAnRearrangeArguments(java.lang.Object[])"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: 161
    functionDepth: 1
    returnType: "java.lang.Throwable"
    argCount: 1
    argTypes:
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.EventArgUtil].extractThrowable(java.lang.Object[])"
    - "[ch.qos.logback.classic.spi.EventArgUtil].successfulExtraction(java.lang.Throwable)"
    - "[ch.qos.logback.classic.spi.EventArgUtil].trimmedCopy(java.lang.Object[])"
    functionUses: 1
    ICount: 8
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:163"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:166"
        BranchSideFuncs:
        - "trimmedCopy(java.lang.Object[])"
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:165"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:162,1"
      Dst: "[ch.qos.logback.classic.spi.EventArgUtil].extractThrowable(java.lang.Object[])"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:163,1"
      Dst: "[ch.qos.logback.classic.spi.EventArgUtil].successfulExtraction(java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:164,1"
      Dst: "[ch.qos.logback.classic.spi.EventArgUtil].trimmedCopy(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].setArgumentArray(java.lang.Object[])"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:170"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:173"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:172"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:171,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].getArgumentArray()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: 176
    functionDepth: 0
    returnType: "java.lang.Object[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].addKeyValuePair(org.slf4j.event.KeyValuePair)"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.slf4j.event.KeyValuePair"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>(int)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:181"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:184"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:183"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:182,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:184,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].setKeyValuePairs(java.util.List)"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].getKeyValuePairs()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: 192
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].getLevel()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: 196
    functionDepth: 0
    returnType: "ch.qos.logback.classic.Level"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 17
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].getLoggerName()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: 200
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 9
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].setLoggerName(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].getThreadName()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: 208
    functionDepth: 5
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].extractThreadName(java.lang.Thread)"
    - "[java.lang.Thread].currentThread()"
    functionUses: 6
    ICount: 8
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:209"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:212"
        BranchSideFuncs:
        - "extractThreadName(java.lang.Thread)"
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:211"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:210,1"
      Dst: "[java.lang.Thread].currentThread()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:210,1"
      Dst: "[ch.qos.logback.classic.spi.LoggingEvent].extractThreadName(java.lang.Thread)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].extractThreadName(java.lang.Thread)"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: 224
    functionDepth: 4
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Thread"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.StringUtil].notNullNorEmpty(java.lang.String)"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getVirtualThreadId(java.lang.Thread)"
    - "[java.lang.Thread].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Long)"
    - "[java.lang.Thread].getId()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(long)"
    functionUses: 1
    ICount: 15
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:225"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:228"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:227"
        BranchSideFuncs:
        - "notNullNorEmpty(java.lang.String)"
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:229"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:231"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:230"
        BranchSideFuncs:
        - "getVirtualThreadId(java.lang.Thread)"
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:232"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:235"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:234"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:228,1"
      Dst: "[java.lang.Thread].getName()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:229,1"
      Dst: "[ch.qos.logback.core.util.StringUtil].notNullNorEmpty(java.lang.String)"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:231,1"
      Dst: "[ch.qos.logback.classic.spi.LoggingEvent].getVirtualThreadId(java.lang.Thread)"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:233,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Long)"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:235,1"
      Dst: "[java.lang.Thread].getId()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:235,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.StringUtil].notNullNorEmpty(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.StringUtil"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.StringUtil].isNullOrEmpty(java.lang.String)"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.StringUtil:40"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StringUtil:39"
        BranchSideFuncs:
        - "isNullOrEmpty(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.util.StringUtil:40,1"
      Dst: "[ch.qos.logback.core.util.StringUtil].isNullOrEmpty(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].getVirtualThreadId(java.lang.Thread)"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: 246
    functionDepth: 3
    returnType: "java.lang.Long"
    argCount: 1
    argTypes:
    - "java.lang.Thread"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.EnvUtil].isJDK21OrHigher()"
    - "[java.lang.Class].getMethod(java.lang.String,java.lang.Class[])"
    - "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    - "[java.lang.Boolean].booleanValue()"
    - "[java.lang.Thread].getId()"
    - "[java.lang.Long].valueOf(long)"
    functionUses: 1
    ICount: 19
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:247"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:256"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:251"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:255"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:254"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:247,1"
      Dst: "[ch.qos.logback.core.util.EnvUtil].isJDK21OrHigher()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:249,1"
      Dst: "[java.lang.Class].getMethod(java.lang.String,java.lang.Class[])"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:250,1"
      Dst: "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:250,1"
      Dst: "[java.lang.Boolean].booleanValue()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:252,1"
      Dst: "[java.lang.Thread].getId()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:252,1"
      Dst: "[java.lang.Long].valueOf(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.EnvUtil].isJDK21OrHigher()"
    functionSourceFile: "ch.qos.logback.core.util.EnvUtil"
    linkageType: null
    functionLinenumber: 115
    functionDepth: 2
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.EnvUtil].isJDK_N_OrHigher(int)"
    functionUses: 3
    ICount: 2
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.EnvUtil:116,1"
      Dst: "[ch.qos.logback.core.util.EnvUtil].isJDK_N_OrHigher(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].extractThreadName(java.lang.Thread)"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: 224
    functionDepth: 4
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Thread"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.StringUtil].notNullNorEmpty(java.lang.String)"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getVirtualThreadId(java.lang.Thread)"
    - "[java.lang.Thread].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Long)"
    - "[java.lang.Thread].getId()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(long)"
    functionUses: 1
    ICount: 15
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:225"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:228"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:227"
        BranchSideFuncs:
        - "notNullNorEmpty(java.lang.String)"
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:229"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:231"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:230"
        BranchSideFuncs:
        - "getVirtualThreadId(java.lang.Thread)"
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:232"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:235"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:234"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:228,1"
      Dst: "[java.lang.Thread].getName()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:229,1"
      Dst: "[ch.qos.logback.core.util.StringUtil].notNullNorEmpty(java.lang.String)"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:231,1"
      Dst: "[ch.qos.logback.classic.spi.LoggingEvent].getVirtualThreadId(java.lang.Thread)"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:233,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Long)"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:235,1"
      Dst: "[java.lang.Thread].getId()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:235,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].getVirtualThreadId(java.lang.Thread)"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: 246
    functionDepth: 3
    returnType: "java.lang.Long"
    argCount: 1
    argTypes:
    - "java.lang.Thread"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.EnvUtil].isJDK21OrHigher()"
    - "[java.lang.Class].getMethod(java.lang.String,java.lang.Class[])"
    - "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    - "[java.lang.Boolean].booleanValue()"
    - "[java.lang.Thread].getId()"
    - "[java.lang.Long].valueOf(long)"
    functionUses: 1
    ICount: 19
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:247"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:256"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:251"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:255"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:254"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:247,1"
      Dst: "[ch.qos.logback.core.util.EnvUtil].isJDK21OrHigher()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:249,1"
      Dst: "[java.lang.Class].getMethod(java.lang.String,java.lang.Class[])"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:250,1"
      Dst: "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:250,1"
      Dst: "[java.lang.Boolean].booleanValue()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:252,1"
      Dst: "[java.lang.Thread].getId()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:252,1"
      Dst: "[java.lang.Long].valueOf(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].setThreadName(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:265"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:268"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:267"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:266,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].getThrowableProxy()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: 275
    functionDepth: 0
    returnType: "ch.qos.logback.classic.spi.IThrowableProxy"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 10
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].setThrowableProxy(ch.qos.logback.classic.spi.ThrowableProxy)"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ThrowableProxy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:286"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:285"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:284,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].prepareForDeferredProcessing()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: 298
    functionDepth: 7
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].getFormattedMessage()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getThreadName()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getMDCPropertyMap()"
    functionUses: 3
    ICount: 5
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:299,1"
      Dst: "[ch.qos.logback.classic.spi.LoggingEvent].getFormattedMessage()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:300,1"
      Dst: "[ch.qos.logback.classic.spi.LoggingEvent].getThreadName()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:302,1"
      Dst: "[ch.qos.logback.classic.spi.LoggingEvent].getMDCPropertyMap()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].getFormattedMessage()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: 434
    functionDepth: 6
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.MessageFormatter].arrayFormat(java.lang.String,java.lang.Object[])"
    - "[org.slf4j.helpers.FormattingTuple].getMessage()"
    functionUses: 7
    ICount: 17
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:435"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:438"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:437"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:438"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:441"
        BranchSideFuncs:
        - "arrayFormat(java.lang.String,java.lang.Object[])"
        - "getMessage()"
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:440"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:439,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].arrayFormat(java.lang.String,java.lang.Object[])"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:439,1"
      Dst: "[org.slf4j.helpers.FormattingTuple].getMessage()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.helpers.MessageFormatter].arrayFormat(java.lang.String,java.lang.Object[])"
    functionSourceFile: "org.slf4j.helpers.MessageFormatter"
    linkageType: null
    functionLinenumber: 154
    functionDepth: 5
    returnType: "org.slf4j.helpers.FormattingTuple"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.MessageFormatter].getThrowableCandidate(java.lang.Object[])"
    - "[org.slf4j.helpers.MessageFormatter].trimmedCopy(java.lang.Object[])"
    - "[org.slf4j.helpers.MessageFormatter].arrayFormat(java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 2
    ICount: 8
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.MessageFormatter:157"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.MessageFormatter:160"
        BranchSideFuncs:
        - "trimmedCopy(java.lang.Object[])"
      - BranchSide: "org.slf4j.helpers.MessageFormatter:159"
        BranchSideFuncs:
        - "arrayFormat(java.lang.String,java.lang.Object[],java.lang.Throwable)"
    Callsites:
    - Src: "org.slf4j.helpers.MessageFormatter:155,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].getThrowableCandidate(java.lang.Object[])"
    - Src: "org.slf4j.helpers.MessageFormatter:158,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].trimmedCopy(java.lang.Object[])"
    - Src: "org.slf4j.helpers.MessageFormatter:160,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].arrayFormat(java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.helpers.FormattingTuple].getMessage()"
    functionSourceFile: "org.slf4j.helpers.FormattingTuple"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].getThreadName()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: 208
    functionDepth: 5
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].extractThreadName(java.lang.Thread)"
    - "[java.lang.Thread].currentThread()"
    functionUses: 6
    ICount: 8
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:209"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:212"
        BranchSideFuncs:
        - "extractThreadName(java.lang.Thread)"
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:211"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:210,1"
      Dst: "[java.lang.Thread].currentThread()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:210,1"
      Dst: "[ch.qos.logback.classic.spi.LoggingEvent].extractThreadName(java.lang.Thread)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].getMDCPropertyMap()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: 448
    functionDepth: 1
    returnType: "java.util.Map"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getMDCAdapter()"
    - "[ch.qos.logback.classic.util.LogbackMDCAdapter].getPropertyMap()"
    - "[org.slf4j.helpers.BasicMDCAdapter].getCopyOfContextMap()"
    - "[ch.qos.logback.classic.util.LogbackMDCAdapter].getCopyOfContextMap()"
    - "[ch.qos.logback.classic.util.LogbackMDCAdapterSimple].getCopyOfContextMap()"
    - "[org.slf4j.helpers.NOPMDCAdapter].getCopyOfContextMap()"
    - "[org.slf4j.spi.MDCAdapter].getCopyOfContextMap()"
    - "[java.util.Collections].emptyMap()"
    functionUses: 7
    ICount: 19
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:449"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:457"
        BranchSideFuncs:
        - "getMDCAdapter()"
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:456"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:451"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:454"
        BranchSideFuncs:
        - "getPropertyMap()"
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:453"
        BranchSideFuncs:
        - "getCopyOfContextMap()"
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:457"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:460"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:459"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:450,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getMDCAdapter()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:452,1"
      Dst: "[ch.qos.logback.classic.util.LogbackMDCAdapter].getPropertyMap()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:454,1"
      Dst: "[org.slf4j.spi.MDCAdapter].getCopyOfContextMap()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:458,1"
      Dst: "[java.util.Collections].emptyMap()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.classic.LoggerContext].getMDCAdapter()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 409
    functionDepth: 0
    returnType: "org.slf4j.spi.MDCAdapter"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.LogbackMDCAdapter].getPropertyMap()"
    functionSourceFile: "ch.qos.logback.classic.util.LogbackMDCAdapter"
    linkageType: null
    functionLinenumber: 136
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ThreadLocal].get()"
    - "[java.util.HashMap].<init>(java.util.Map)"
    - "[java.util.Collections].unmodifiableMap(java.util.Map)"
    - "[java.lang.ThreadLocal].set(java.lang.Object)"
    functionUses: 2
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.LogbackMDCAdapter:138"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapter:146"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapter:145"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.util.LogbackMDCAdapter:140"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapter:146"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.LogbackMDCAdapter:145"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapter:137,1"
      Dst: "[java.lang.ThreadLocal].get()"
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapter:141,1"
      Dst: "[java.util.HashMap].<init>(java.util.Map)"
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapter:142,1"
      Dst: "[java.util.Collections].unmodifiableMap(java.util.Map)"
    - Src: "ch.qos.logback.classic.util.LogbackMDCAdapter:143,1"
      Dst: "[java.lang.ThreadLocal].set(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].setLoggerContext(ch.qos.logback.classic.LoggerContext)"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.LoggerContext"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].getLoggerContextVO()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: 309
    functionDepth: 0
    returnType: "ch.qos.logback.classic.spi.LoggerContextVO"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 7
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].setLoggerContextRemoteView(ch.qos.logback.classic.spi.LoggerContextVO)"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.LoggerContextVO"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].getMessage()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: 317
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].setMessage(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:322"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:325"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:324"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:323,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].getInstant()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.time.Instant"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].setInstant(java.time.Instant)"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.time.Instant"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].initTmestampFields(java.time.Instant)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:344,1"
      Dst: "[ch.qos.logback.classic.spi.LoggingEvent].initTmestampFields(java.time.Instant)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].initTmestampFields(java.time.Instant)"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: 153
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.time.Instant"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.time.Instant].getEpochSecond()"
    - "[java.time.Instant].getNano()"
    functionUses: 1
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:155,1"
      Dst: "[java.time.Instant].getEpochSecond()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:156,1"
      Dst: "[java.time.Instant].getNano()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].getTimeStamp()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: 350
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 9
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].getNanoseconds()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: 360
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].setTimeStamp(long)"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.time.Instant].ofEpochMilli(long)"
    - "[ch.qos.logback.classic.spi.LoggingEvent].setInstant(java.time.Instant)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:371,1"
      Dst: "[java.time.Instant].ofEpochMilli(long)"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:372,1"
      Dst: "[ch.qos.logback.classic.spi.LoggingEvent].setInstant(java.time.Instant)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].setInstant(java.time.Instant)"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.time.Instant"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].initTmestampFields(java.time.Instant)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:344,1"
      Dst: "[ch.qos.logback.classic.spi.LoggingEvent].initTmestampFields(java.time.Instant)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].getSequenceNumber()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: 376
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].setSequenceNumber(long)"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].setLevel(ch.qos.logback.classic.Level)"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.Level"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:385"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:388"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:387"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:386,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].getCallerData()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: 399
    functionDepth: 3
    returnType: "java.lang.StackTraceElement[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.CallerData].extract(java.lang.Throwable,java.lang.String,int,java.util.List)"
    - "[ch.qos.logback.classic.LoggerContext].getFrameworkPackages()"
    - "[ch.qos.logback.classic.LoggerContext].getMaxCallerDataDepth()"
    - "[java.lang.Throwable].<init>()"
    functionUses: 13
    ICount: 14
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:400"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:404"
        BranchSideFuncs:
        - "extract(java.lang.Throwable,java.lang.String,int,java.util.List)"
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:403"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:401,1"
      Dst: "[java.lang.Throwable].<init>()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:402,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getMaxCallerDataDepth()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:402,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getFrameworkPackages()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:401,1"
      Dst: "[ch.qos.logback.classic.spi.CallerData].extract(java.lang.Throwable,java.lang.String,int,java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.LoggerContext].getMaxCallerDataDepth()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 376
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].getFrameworkPackages()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 394
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.CallerData].extract(java.lang.Throwable,java.lang.String,int,java.util.List)"
    functionSourceFile: "ch.qos.logback.classic.spi.CallerData"
    linkageType: null
    functionLinenumber: 53
    functionDepth: 2
    returnType: "java.lang.StackTraceElement[]"
    argCount: 4
    argTypes:
    - "java.lang.Throwable"
    - "java.lang.String"
    - "int"
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.CallerData].isInFrameworkSpace(java.lang.String,java.lang.String,java.util.List)"
    - "[java.lang.Throwable].getStackTrace()"
    - "[java.lang.StackTraceElement].getClassName()"
    functionUses: 1
    ICount: 43
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.CallerData:54"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.CallerData:58"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.CallerData:57"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.CallerData:62"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.CallerData:null"
        BranchSideFuncs:
        - "isInFrameworkSpace(java.lang.String,java.lang.String,java.util.List)"
    - Branch String: "ch.qos.logback.classic.spi.CallerData:63"
      Branch Sides: []
    - Branch String: "ch.qos.logback.classic.spi.CallerData:67"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.CallerData:58"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.CallerData:57"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.CallerData:74"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.CallerData:78"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.CallerData:77"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.CallerData:79"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.CallerData:78"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.CallerData:77"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.CallerData:82"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.CallerData:84"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.CallerData:58,1"
      Dst: "[java.lang.Throwable].getStackTrace()"
    - Src: "ch.qos.logback.classic.spi.CallerData:63,1"
      Dst: "[java.lang.StackTraceElement].getClassName()"
    - Src: "ch.qos.logback.classic.spi.CallerData:63,1"
      Dst: "[ch.qos.logback.classic.spi.CallerData].isInFrameworkSpace(java.lang.String,java.lang.String,java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 18
    CyclomaticComplexity: 6
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].hasCallerData()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: 407
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:408"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:407"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].setCallerData(java.lang.StackTraceElement[])"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.StackTraceElement[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].getMarkerList()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: 415
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 6
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].addMarker(org.slf4j.Marker)"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: 419
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.slf4j.Marker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.util.ArrayList].<init>(int)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 12
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:420"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:423"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:422"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:423"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:426"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:425"
        BranchSideFuncs:
        - "add(java.lang.Object)"
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:424,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:426,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].getContextBirthTime()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggerContextVO].getBirthTime()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:430,1"
      Dst: "[ch.qos.logback.classic.spi.LoggerContextVO].getBirthTime()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggerContextVO].getBirthTime()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggerContextVO"
    linkageType: null
    functionLinenumber: 64
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].getFormattedMessage()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: 434
    functionDepth: 6
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.MessageFormatter].arrayFormat(java.lang.String,java.lang.Object[])"
    - "[org.slf4j.helpers.FormattingTuple].getMessage()"
    functionUses: 7
    ICount: 17
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:435"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:438"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:437"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:438"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:441"
        BranchSideFuncs:
        - "arrayFormat(java.lang.String,java.lang.Object[])"
        - "getMessage()"
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:440"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:439,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].arrayFormat(java.lang.String,java.lang.Object[])"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:439,1"
      Dst: "[org.slf4j.helpers.FormattingTuple].getMessage()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].getMDCPropertyMap()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: 448
    functionDepth: 1
    returnType: "java.util.Map"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getMDCAdapter()"
    - "[ch.qos.logback.classic.util.LogbackMDCAdapter].getPropertyMap()"
    - "[org.slf4j.helpers.BasicMDCAdapter].getCopyOfContextMap()"
    - "[ch.qos.logback.classic.util.LogbackMDCAdapter].getCopyOfContextMap()"
    - "[ch.qos.logback.classic.util.LogbackMDCAdapterSimple].getCopyOfContextMap()"
    - "[org.slf4j.helpers.NOPMDCAdapter].getCopyOfContextMap()"
    - "[org.slf4j.spi.MDCAdapter].getCopyOfContextMap()"
    - "[java.util.Collections].emptyMap()"
    functionUses: 7
    ICount: 19
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:449"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:457"
        BranchSideFuncs:
        - "getMDCAdapter()"
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:456"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:451"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:454"
        BranchSideFuncs:
        - "getPropertyMap()"
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:453"
        BranchSideFuncs:
        - "getCopyOfContextMap()"
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:457"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:460"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:459"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:450,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getMDCAdapter()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:452,1"
      Dst: "[ch.qos.logback.classic.util.LogbackMDCAdapter].getPropertyMap()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:454,1"
      Dst: "[org.slf4j.spi.MDCAdapter].getCopyOfContextMap()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:458,1"
      Dst: "[java.util.Collections].emptyMap()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].setMDCPropertyMap(java.util.Map)"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.Map"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:470"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:473"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:472"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:471,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].getMdc()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "java.util.Map"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].getMDCPropertyMap()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:483,1"
      Dst: "[ch.qos.logback.classic.spi.LoggingEvent].getMDCPropertyMap()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].getMDCPropertyMap()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: 448
    functionDepth: 1
    returnType: "java.util.Map"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getMDCAdapter()"
    - "[ch.qos.logback.classic.util.LogbackMDCAdapter].getPropertyMap()"
    - "[org.slf4j.helpers.BasicMDCAdapter].getCopyOfContextMap()"
    - "[ch.qos.logback.classic.util.LogbackMDCAdapter].getCopyOfContextMap()"
    - "[ch.qos.logback.classic.util.LogbackMDCAdapterSimple].getCopyOfContextMap()"
    - "[org.slf4j.helpers.NOPMDCAdapter].getCopyOfContextMap()"
    - "[org.slf4j.spi.MDCAdapter].getCopyOfContextMap()"
    - "[java.util.Collections].emptyMap()"
    functionUses: 7
    ICount: 19
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:449"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:457"
        BranchSideFuncs:
        - "getMDCAdapter()"
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:456"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:451"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:454"
        BranchSideFuncs:
        - "getPropertyMap()"
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:453"
        BranchSideFuncs:
        - "getCopyOfContextMap()"
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:457"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:460"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:459"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:450,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getMDCAdapter()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:452,1"
      Dst: "[ch.qos.logback.classic.util.LogbackMDCAdapter].getPropertyMap()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:454,1"
      Dst: "[org.slf4j.spi.MDCAdapter].getCopyOfContextMap()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:458,1"
      Dst: "[java.util.Collections].emptyMap()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].toString()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: 487
    functionDepth: 7
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].getFormattedMessage()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 3
    ICount: 11
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:488,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:489,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:490,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:490,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:491,1"
      Dst: "[ch.qos.logback.classic.spi.LoggingEvent].getFormattedMessage()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:492,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].getFormattedMessage()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: 434
    functionDepth: 6
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.MessageFormatter].arrayFormat(java.lang.String,java.lang.Object[])"
    - "[org.slf4j.helpers.FormattingTuple].getMessage()"
    functionUses: 7
    ICount: 17
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:435"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:438"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:437"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:438"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:441"
        BranchSideFuncs:
        - "arrayFormat(java.lang.String,java.lang.Object[])"
        - "getMessage()"
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:440"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:439,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].arrayFormat(java.lang.String,java.lang.Object[])"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:439,1"
      Dst: "[org.slf4j.helpers.FormattingTuple].getMessage()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].writeObject(java.io.ObjectOutputStream)"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.ObjectOutputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Class)"
    - "[java.lang.UnsupportedOperationException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:502,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:502,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Class)"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:502,1"
      Dst: "[java.lang.UnsupportedOperationException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.PropertySetterException].<init>(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.PropertySetterException"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Exception].<init>(java.lang.String)"
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.PropertySetterException:27,1"
      Dst: "[java.lang.Exception].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.PropertySetterException].<init>(java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.util.PropertySetterException"
    linkageType: null
    functionLinenumber: 30
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Exception].<init>(java.lang.Throwable)"
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.PropertySetterException:31,1"
      Dst: "[java.lang.Exception].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.PropertySetterException].<init>(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.util.PropertySetterException"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Exception].<init>(java.lang.String,java.lang.Throwable)"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.PropertySetterException:35,1"
      Dst: "[java.lang.Exception].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.util.TagUtil].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.util.TagUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.util.TagUtil:18,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.util.TagUtil].unifiedTag(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.util.TagUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].getTag()"
    - "[java.lang.String].charAt(int)"
    - "[java.lang.Character].isUpperCase(char)"
    - "[java.lang.Character].toLowerCase(char)"
    - "[java.lang.String].substring(int)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(char,java.lang.String)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.util.TagUtil:24"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.util.TagUtil:28"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.util.TagUtil:27"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.util.TagUtil:21,1"
      Dst: "[ch.qos.logback.core.model.Model].getTag()"
    - Src: "ch.qos.logback.core.model.util.TagUtil:23,1"
      Dst: "[java.lang.String].charAt(int)"
    - Src: "ch.qos.logback.core.model.util.TagUtil:24,1"
      Dst: "[java.lang.Character].isUpperCase(char)"
    - Src: "ch.qos.logback.core.model.util.TagUtil:25,1"
      Dst: "[java.lang.Character].toLowerCase(char)"
    - Src: "ch.qos.logback.core.model.util.TagUtil:26,1"
      Dst: "[java.lang.String].substring(int)"
    - Src: "ch.qos.logback.core.model.util.TagUtil:26,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(char,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].getTag()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 16
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ParamModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.ParamModel"
    linkageType: null
    functionLinenumber: 4
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.NamedModel].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.ParamModel:5,1"
      Dst: "[ch.qos.logback.core.model.NamedModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ParamModel].makeNewInstance()"
    functionSourceFile: "ch.qos.logback.core.model.ParamModel"
    linkageType: null
    functionLinenumber: 11
    functionDepth: 3
    returnType: "ch.qos.logback.core.model.ParamModel"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.ParamModel].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.ParamModel:12,1"
      Dst: "[ch.qos.logback.core.model.ParamModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ParamModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.ParamModel"
    linkageType: null
    functionLinenumber: 4
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.NamedModel].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.ParamModel:5,1"
      Dst: "[ch.qos.logback.core.model.NamedModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ParamModel].mirror(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.ParamModel"
    linkageType: null
    functionLinenumber: 16
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.NamedModel].mirror(ch.qos.logback.core.model.Model)"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.ParamModel:18,1"
      Dst: "[ch.qos.logback.core.model.NamedModel].mirror(ch.qos.logback.core.model.Model)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.NamedModel].mirror(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.NamedModel"
    linkageType: null
    functionLinenumber: 30
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].mirror(ch.qos.logback.core.model.Model)"
    functionUses: 4
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.NamedModel:32,1"
      Dst: "[ch.qos.logback.core.model.Model].mirror(ch.qos.logback.core.model.Model)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ParamModel].getValue()"
    functionSourceFile: "ch.qos.logback.core.model.ParamModel"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ParamModel].setValue(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.ParamModel"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ParamModel].hashCode()"
    functionSourceFile: "ch.qos.logback.core.model.ParamModel"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 2
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.NamedModel].hashCode()"
    - "[java.util.Objects].hash(java.lang.Object[])"
    functionUses: 5
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.ParamModel:33,1"
      Dst: "[ch.qos.logback.core.model.NamedModel].hashCode()"
    - Src: "ch.qos.logback.core.model.ParamModel:34,1"
      Dst: "[java.util.Objects].hash(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.NamedModel].hashCode()"
    functionSourceFile: "ch.qos.logback.core.model.NamedModel"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 1
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].hashCode()"
    - "[java.util.Objects].hash(java.lang.Object[])"
    functionUses: 8
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.NamedModel:47,1"
      Dst: "[ch.qos.logback.core.model.Model].hashCode()"
    - Src: "ch.qos.logback.core.model.NamedModel:48,1"
      Dst: "[java.util.Objects].hash(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ParamModel].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.model.ParamModel"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.NamedModel].equals(java.lang.Object)"
    - "[java.lang.Object].getClass()"
    - "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    functionUses: 6
    ICount: 16
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.ParamModel:40"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.ParamModel:42"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.ParamModel:41"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "ch.qos.logback.core.model.ParamModel:42"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.ParamModel:44"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.ParamModel:43"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.ParamModel:44"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.ParamModel:46"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.ParamModel:45"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.ParamModel:42,1"
      Dst: "[ch.qos.logback.core.model.NamedModel].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.model.ParamModel:44,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.model.ParamModel:47,1"
      Dst: "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.NamedModel].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.model.NamedModel"
    linkageType: null
    functionLinenumber: 53
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].equals(java.lang.Object)"
    - "[java.lang.Object].getClass()"
    - "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    functionUses: 9
    ICount: 16
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.NamedModel:54"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.NamedModel:56"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.NamedModel:55"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "ch.qos.logback.core.model.NamedModel:56"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.NamedModel:58"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.NamedModel:57"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.NamedModel:58"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.NamedModel:60"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.NamedModel:59"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.NamedModel:56,1"
      Dst: "[ch.qos.logback.core.model.Model].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.model.NamedModel:58,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.model.NamedModel:61,1"
      Dst: "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.boolex.EvaluationException].<init>(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.boolex.EvaluationException"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Exception].<init>(java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.boolex.EvaluationException:26,1"
      Dst: "[java.lang.Exception].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.boolex.EvaluationException].<init>(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.boolex.EvaluationException"
    linkageType: null
    functionLinenumber: 29
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Exception].<init>(java.lang.String,java.lang.Throwable)"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.boolex.EvaluationException:30,1"
      Dst: "[java.lang.Exception].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.boolex.EvaluationException].<init>(java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.boolex.EvaluationException"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Exception].<init>(java.lang.Throwable)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.boolex.EvaluationException:34,1"
      Dst: "[java.lang.Exception].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.serializedModel.HardenedModelInputStream].getWhilelist()"
    functionSourceFile: "ch.qos.logback.classic.joran.serializedModel.HardenedModelInputStream"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>()"
    - "[java.lang.Class].getName()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 93
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.serializedModel.HardenedModelInputStream:29,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.classic.joran.serializedModel.HardenedModelInputStream:30,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.classic.joran.serializedModel.HardenedModelInputStream:30,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.serializedModel.HardenedModelInputStream].<init>(java.io.InputStream)"
    functionSourceFile: "ch.qos.logback.classic.joran.serializedModel.HardenedModelInputStream"
    linkageType: null
    functionLinenumber: 64
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.InputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.HardenedObjectInputStream].<init>(java.io.InputStream,java.util.List)"
    - "[ch.qos.logback.classic.joran.serializedModel.HardenedModelInputStream].getWhilelist()"
    functionUses: 1
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.serializedModel.HardenedModelInputStream:65,1"
      Dst: "[ch.qos.logback.classic.joran.serializedModel.HardenedModelInputStream].getWhilelist()"
    - Src: "ch.qos.logback.classic.joran.serializedModel.HardenedModelInputStream:65,1"
      Dst: "[ch.qos.logback.core.net.HardenedObjectInputStream].<init>(java.io.InputStream,java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxyVO].<init>()"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxyVO"
    linkageType: null
    functionLinenumber: 18
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyVO:19,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxyVO].getMessage()"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxyVO"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 8
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxyVO].getClassName()"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxyVO"
    linkageType: null
    functionLinenumber: 35
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 8
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxyVO].getCommonFrames()"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxyVO"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 8
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxyVO].getCause()"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxyVO"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 0
    returnType: "ch.qos.logback.classic.spi.IThrowableProxy"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 9
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxyVO].getStackTraceElementProxyArray()"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxyVO"
    linkageType: null
    functionLinenumber: 47
    functionDepth: 0
    returnType: "ch.qos.logback.classic.spi.StackTraceElementProxy[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 8
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxyVO].getSuppressed()"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxyVO"
    linkageType: null
    functionLinenumber: 51
    functionDepth: 0
    returnType: "ch.qos.logback.classic.spi.IThrowableProxy[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 5
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxyVO].isCyclic()"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxyVO"
    linkageType: null
    functionLinenumber: 55
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxyVO].hashCode()"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxyVO"
    linkageType: null
    functionLinenumber: 62
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].hashCode()"
    functionUses: 4
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyVO:63"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyVO:63"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyVO:62"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyVO:63,1"
      Dst: "[java.lang.String].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxyVO].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxyVO"
    linkageType: null
    functionLinenumber: 68
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].equals(java.lang.Object)"
    - "[java.lang.Object].getClass()"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.util.Arrays].equals(java.lang.Object[],java.lang.Object[])"
    - "[java.lang.Object].equals(java.lang.Object)"
    functionUses: 7
    ICount: 42
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyVO:69"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyVO:71"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyVO:70"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyVO:71"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyVO:73"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyVO:72"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyVO:73"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyVO:75"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyVO:74"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyVO:77"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyVO:80"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyVO:79"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyVO:78"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyVO:83"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyVO:82"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyVO:80"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyVO:83"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyVO:82"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyVO:83"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyVO:86"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyVO:85"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyVO:86"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyVO:89"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyVO:88"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyVO:89"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyVO:92"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyVO:91"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyVO:90"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyVO:95"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyVO:94"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyVO:92"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyVO:95"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyVO:94"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyVO:73,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyVO:80,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyVO:83,1"
      Dst: "[java.util.Arrays].equals(java.lang.Object[],java.lang.Object[])"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyVO:92,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 21
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxyVO].build(ch.qos.logback.classic.spi.IThrowableProxy)"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxyVO"
    linkageType: null
    functionLinenumber: 98
    functionDepth: 1
    returnType: "ch.qos.logback.classic.spi.ThrowableProxyVO"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.IThrowableProxy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].<init>()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].getClassName()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy:ch.qos.logback.classic.spi.ThrowableProxyVO].getMessage()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy:ch.qos.logback.classic.spi.ThrowableProxyVO].getCommonFrames()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy:ch.qos.logback.classic.spi.ThrowableProxyVO].getStackTraceElementProxyArray()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy:ch.qos.logback.classic.spi.ThrowableProxyVO].isCyclic()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy:ch.qos.logback.classic.spi.ThrowableProxyVO].getCause()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].build(ch.qos.logback.classic.spi.IThrowableProxy)"
    - "[ch.qos.logback.classic.spi.ThrowableProxy:ch.qos.logback.classic.spi.ThrowableProxyVO].getSuppressed()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getClassName()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getMessage()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getCommonFrames()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getStackTraceElementProxyArray()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].isCyclic()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getCause()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getSuppressed()"
    functionUses: 3
    ICount: 34
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyVO:99"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyVO:102"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyVO:101"
        BranchSideFuncs:
        - "<init>()"
        - "isCyclic()"
        - "getStackTraceElementProxyArray()"
        - "getClassName()"
        - "getCommonFrames()"
        - "getCause()"
        - "getMessage()"
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyVO:110"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyVO:113"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyVO:112"
        BranchSideFuncs:
        - "getSuppressed()"
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyVO:114"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyVO:121"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyVO:120"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyVO:116"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyVO:120"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyVO:102,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxyVO].<init>()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyVO:103,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getClassName()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyVO:104,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getMessage()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyVO:105,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getCommonFrames()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyVO:106,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getStackTraceElementProxyArray()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyVO:107,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].isCyclic()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyVO:109,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getCause()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyVO:111,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxyVO].build(ch.qos.logback.classic.spi.IThrowableProxy)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyVO:113,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getSuppressed()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].<init>(ch.qos.logback.core.Context,ch.qos.logback.core.joran.spi.SaxEventInterpreter)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.joran.spi.SaxEventInterpreter"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - "[java.util.Stack].<init>()"
    functionUses: 1
    ICount: 10
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext:40,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext:43,1"
      Dst: "[java.util.Stack].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].getSaxEventInterpreter()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 0
    returnType: "ch.qos.logback.core.joran.spi.SaxEventInterpreter"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].peekModel()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    linkageType: null
    functionLinenumber: 55
    functionDepth: 0
    returnType: "ch.qos.logback.core.model.Model"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Vector].isEmpty()"
    - "[java.util.Stack].peek()"
    functionUses: 6
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext:56"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext:59"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext:58"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext:56,1"
      Dst: "[java.util.Vector].isEmpty()"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext:59,1"
      Dst: "[java.util.Stack].peek()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].pushModel(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    linkageType: null
    functionLinenumber: 62
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].push(java.lang.Object)"
    functionUses: 3
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext:63,1"
      Dst: "[java.util.Stack].push(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].isModelStackEmpty()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    linkageType: null
    functionLinenumber: 66
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Vector].isEmpty()"
    functionUses: 2
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext:67,1"
      Dst: "[java.util.Vector].isEmpty()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].popModel()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    linkageType: null
    functionLinenumber: 70
    functionDepth: 0
    returnType: "ch.qos.logback.core.model.Model"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].pop()"
    functionUses: 3
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext:71,1"
      Dst: "[java.util.Stack].pop()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].getCopyOfModelStack()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.util.Stack"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].<init>()"
    - "[java.util.Vector].addAll(java.util.Collection)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext:75,1"
      Dst: "[java.util.Stack].<init>()"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext:76,1"
      Dst: "[java.util.Vector].addAll(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].getProperty(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getProperty(java.lang.String)"
    - "[ch.qos.logback.core.Context].getProperty(java.lang.String)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext:85,1"
      Dst: "[ch.qos.logback.core.Context].getProperty(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].getCopyOfPropertyMap()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].subst(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    linkageType: null
    functionLinenumber: 93
    functionDepth: 12
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.OptionHelper].substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 3
    ICount: 11
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext:94"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext:99"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext:98"
        BranchSideFuncs:
        - "substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext:99,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext:101,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.color.BoldWhiteCompositeConverter].<init>()"
    functionSourceFile: "ch.qos.logback.core.pattern.color.BoldWhiteCompositeConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.color.ForegroundCompositeConverterBase].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.color.BoldWhiteCompositeConverter:27,1"
      Dst: "[ch.qos.logback.core.pattern.color.ForegroundCompositeConverterBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.color.BoldWhiteCompositeConverter].getForegroundColorCode(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.pattern.color.BoldWhiteCompositeConverter"
    linkageType: null
    functionLinenumber: 30
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.SerializeModelModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.SerializeModelModel"
    linkageType: null
    functionLinenumber: 18
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.SerializeModelModel:19,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.SerializeModelModel].makeNewInstance()"
    functionSourceFile: "ch.qos.logback.core.model.SerializeModelModel"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.SerializeModelModel"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.SerializeModelModel].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.SerializeModelModel:27,1"
      Dst: "[ch.qos.logback.core.model.SerializeModelModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.SerializeModelModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.SerializeModelModel"
    linkageType: null
    functionLinenumber: 18
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.SerializeModelModel:19,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.SerializeModelModel].getFile()"
    functionSourceFile: "ch.qos.logback.core.model.SerializeModelModel"
    linkageType: null
    functionLinenumber: 30
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.SerializeModelModel].setFile(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.SerializeModelModel"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.SerializeModelModel].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.model.SerializeModelModel"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].equals(java.lang.Object)"
    - "[java.lang.Object].getClass()"
    - "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    functionUses: 6
    ICount: 17
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.SerializeModelModel:40"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.SerializeModelModel:42"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.SerializeModelModel:41"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.SerializeModelModel:42"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.SerializeModelModel:43"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.SerializeModelModel:42"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.SerializeModelModel:42"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.SerializeModelModel:44"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.SerializeModelModel:43"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "ch.qos.logback.core.model.SerializeModelModel:44"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.SerializeModelModel:46"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.SerializeModelModel:45"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.SerializeModelModel:42,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.model.SerializeModelModel:44,1"
      Dst: "[ch.qos.logback.core.model.Model].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.model.SerializeModelModel:47,1"
      Dst: "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.model.Model].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 150
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    functionUses: 16
    ICount: 30
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.Model:151"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:153"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:152"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:153"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:155"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:154"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:155"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:157"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:156"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:158"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:-1"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:158"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:-1"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:159"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:159"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:-2"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:155,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.model.Model:158,1"
      Dst: "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 13
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.model.SerializeModelModel].hashCode()"
    functionSourceFile: "ch.qos.logback.core.model.SerializeModelModel"
    linkageType: null
    functionLinenumber: 51
    functionDepth: 1
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].hashCode()"
    - "[java.lang.Integer].valueOf(int)"
    - "[java.util.Objects].hash(java.lang.Object[])"
    functionUses: 5
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.SerializeModelModel:52,1"
      Dst: "[ch.qos.logback.core.model.Model].hashCode()"
    - Src: "ch.qos.logback.core.model.SerializeModelModel:52,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "ch.qos.logback.core.model.SerializeModelModel:52,1"
      Dst: "[java.util.Objects].hash(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].hashCode()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 145
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Integer].valueOf(int)"
    - "[java.util.Objects].hash(java.lang.Object[])"
    functionUses: 15
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:146,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "ch.qos.logback.core.model.Model:146,1"
      Dst: "[java.util.Objects].hash(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.TeeOutputStream].<init>(java.io.PrintStream)"
    functionSourceFile: "ch.qos.logback.core.testUtil.TeeOutputStream"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.PrintStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.OutputStream].<init>()"
    - "[java.io.ByteArrayOutputStream].<init>()"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.TeeOutputStream:33,1"
      Dst: "[java.io.OutputStream].<init>()"
    - Src: "ch.qos.logback.core.testUtil.TeeOutputStream:31,1"
      Dst: "[java.io.ByteArrayOutputStream].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.TeeOutputStream].write(int)"
    functionSourceFile: "ch.qos.logback.core.testUtil.TeeOutputStream"
    linkageType: null
    functionLinenumber: 38
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.ByteArrayOutputStream].write(int)"
    - "[java.io.PrintStream].write(int)"
    functionUses: 2
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.testUtil.TeeOutputStream:40"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.testUtil.TeeOutputStream:43"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.testUtil.TeeOutputStream:42"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.TeeOutputStream:39,1"
      Dst: "[java.io.ByteArrayOutputStream].write(int)"
    - Src: "ch.qos.logback.core.testUtil.TeeOutputStream:41,1"
      Dst: "[java.io.PrintStream].write(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.testUtil.TeeOutputStream].toString()"
    functionSourceFile: "ch.qos.logback.core.testUtil.TeeOutputStream"
    linkageType: null
    functionLinenumber: 45
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.ByteArrayOutputStream].toString()"
    functionUses: 3
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.TeeOutputStream:46,1"
      Dst: "[java.io.ByteArrayOutputStream].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.TeeOutputStream].toByteArray()"
    functionSourceFile: "ch.qos.logback.core.testUtil.TeeOutputStream"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "byte[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.ByteArrayOutputStream].toByteArray()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.TeeOutputStream:50,1"
      Dst: "[java.io.ByteArrayOutputStream].toByteArray()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.StatusUtil].<init>(ch.qos.logback.core.status.StatusManager)"
    functionSourceFile: "ch.qos.logback.core.status.StatusUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.status.StatusManager"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.StatusUtil:29,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.StatusUtil].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.status.StatusUtil"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - "[java.lang.Object].<init>()"
    - "[ch.qos.logback.core.Context].getStatusManager()"
    functionUses: 4
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.StatusUtil:33,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.status.StatusUtil:34,1"
      Dst: "[ch.qos.logback.core.Context].getStatusManager()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.StatusUtil].contextHasStatusListener(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.status.StatusUtil"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - "[ch.qos.logback.core.BasicStatusManager].getCopyOfStatusListenerList()"
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.Context].getStatusManager()"
    - "[ch.qos.logback.core.status.StatusManager].getCopyOfStatusListenerList()"
    - "[java.util.List].size()"
    functionUses: 2
    ICount: 10
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.status.StatusUtil:48"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:50"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:49"
        BranchSideFuncs:
        - "getCopyOfStatusListenerList()"
        - "size()"
    - Branch String: "ch.qos.logback.core.status.StatusUtil:51"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:52"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:51"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.status.StatusUtil:51"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:54"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:53"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.status.StatusUtil:47,1"
      Dst: "[ch.qos.logback.core.Context].getStatusManager()"
    - Src: "ch.qos.logback.core.status.StatusUtil:50,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].getCopyOfStatusListenerList()"
    - Src: "ch.qos.logback.core.status.StatusUtil:51,1"
      Dst: "[java.util.List].size()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.status.StatusUtil].filterStatusListByTimeThreshold(java.util.List,long)"
    functionSourceFile: "ch.qos.logback.core.status.StatusUtil"
    linkageType: null
    functionLinenumber: 57
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 2
    argTypes:
    - "java.util.List"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.status.StatusBase].getTimestamp()"
    - "[java.util.ArrayList].<init>()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[ch.qos.logback.core.status.Status].getTimestamp()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 3
    ICount: 16
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.status.StatusUtil:59"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:63"
        BranchSideFuncs:
        - "iterator()"
        - "getTimestamp()"
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:62"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.status.StatusUtil:60"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:62"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:61"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.status.StatusUtil:58,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.core.status.StatusUtil:59,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.status.StatusUtil:59,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.status.StatusUtil:59,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.status.StatusUtil:60,1"
      Dst: "[ch.qos.logback.core.status.Status].getTimestamp()"
    - Src: "ch.qos.logback.core.status.StatusUtil:61,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.status.StatusUtil].addStatus(ch.qos.logback.core.status.Status)"
    functionSourceFile: "ch.qos.logback.core.status.StatusUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.status.Status"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.status.StatusUtil:67"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:70"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:69"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.status.StatusUtil:68,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.status.StatusUtil].addInfo(java.lang.Object,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.status.StatusUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.status.StatusUtil].addStatus(ch.qos.logback.core.status.Status)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.StatusUtil:73,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.status.StatusUtil:73,1"
      Dst: "[ch.qos.logback.core.status.StatusUtil].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.status.InfoStatus"
    linkageType: null
    functionLinenumber: 17
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    functionUses: 15
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.InfoStatus:18,1"
      Dst: "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.StatusUtil].addStatus(ch.qos.logback.core.status.Status)"
    functionSourceFile: "ch.qos.logback.core.status.StatusUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.status.Status"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.status.StatusUtil:67"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:70"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:69"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.status.StatusUtil:68,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.status.StatusUtil].addWarn(java.lang.Object,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.status.StatusUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.status.StatusUtil].addStatus(ch.qos.logback.core.status.Status)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.StatusUtil:77,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.status.StatusUtil:77,1"
      Dst: "[ch.qos.logback.core.status.StatusUtil].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.status.WarnStatus"
    linkageType: null
    functionLinenumber: 18
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    functionUses: 12
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.WarnStatus:19,1"
      Dst: "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.StatusUtil].addStatus(ch.qos.logback.core.status.Status)"
    functionSourceFile: "ch.qos.logback.core.status.StatusUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.status.Status"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.status.StatusUtil:67"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:70"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:69"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.status.StatusUtil:68,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.status.StatusUtil].addError(java.lang.Object,java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.status.StatusUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.status.StatusUtil].addStatus(ch.qos.logback.core.status.Status)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.StatusUtil:81,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.status.StatusUtil:81,1"
      Dst: "[ch.qos.logback.core.status.StatusUtil].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.status.ErrorStatus"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionUses: 14
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.ErrorStatus:23,1"
      Dst: "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.StatusUtil].addStatus(ch.qos.logback.core.status.Status)"
    functionSourceFile: "ch.qos.logback.core.status.StatusUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.status.Status"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.status.StatusUtil:67"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:70"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:69"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.status.StatusUtil:68,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.status.StatusUtil].hasXMLParsingErrors(long)"
    functionSourceFile: "ch.qos.logback.core.status.StatusUtil"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusUtil].containsMatch(long,int,java.lang.String)"
    functionUses: 3
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.StatusUtil:85,1"
      Dst: "[ch.qos.logback.core.status.StatusUtil].containsMatch(long,int,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.StatusUtil].containsMatch(long,int,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.status.StatusUtil"
    linkageType: null
    functionLinenumber: 110
    functionDepth: 1
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "long"
    - "int"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusUtil].filterStatusListByTimeThreshold(java.util.List,long)"
    - "[ch.qos.logback.core.BasicStatusManager].getCopyOfStatusList()"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.status.StatusBase].getLevel()"
    - "[ch.qos.logback.core.status.StatusBase].getMessage()"
    - "[ch.qos.logback.core.status.StatusManager].getCopyOfStatusList()"
    - "[java.util.regex.Pattern].compile(java.lang.String)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[ch.qos.logback.core.status.Status].getLevel()"
    - "[ch.qos.logback.core.status.Status].getMessage()"
    - "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - "[java.util.regex.Matcher].lookingAt()"
    functionUses: 1
    ICount: 23
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.status.StatusUtil:114"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:124"
        BranchSideFuncs:
        - "iterator()"
        - "getLevel()"
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:123"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.status.StatusUtil:115"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:118"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:117"
        BranchSideFuncs:
        - "getMessage()"
    - Branch String: "ch.qos.logback.core.status.StatusUtil:120"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:123"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:122"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.status.StatusUtil:111,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].getCopyOfStatusList()"
    - Src: "ch.qos.logback.core.status.StatusUtil:111,1"
      Dst: "[ch.qos.logback.core.status.StatusUtil].filterStatusListByTimeThreshold(java.util.List,long)"
    - Src: "ch.qos.logback.core.status.StatusUtil:112,1"
      Dst: "[java.util.regex.Pattern].compile(java.lang.String)"
    - Src: "ch.qos.logback.core.status.StatusUtil:114,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.status.StatusUtil:114,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.status.StatusUtil:114,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.status.StatusUtil:115,1"
      Dst: "[ch.qos.logback.core.status.Status].getLevel()"
    - Src: "ch.qos.logback.core.status.StatusUtil:118,1"
      Dst: "[ch.qos.logback.core.status.Status].getMessage()"
    - Src: "ch.qos.logback.core.status.StatusUtil:119,1"
      Dst: "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - Src: "ch.qos.logback.core.status.StatusUtil:120,1"
      Dst: "[java.util.regex.Matcher].lookingAt()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.status.StatusUtil].filterStatusListByTimeThreshold(java.util.List,long)"
    functionSourceFile: "ch.qos.logback.core.status.StatusUtil"
    linkageType: null
    functionLinenumber: 57
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 2
    argTypes:
    - "java.util.List"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.status.StatusBase].getTimestamp()"
    - "[java.util.ArrayList].<init>()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[ch.qos.logback.core.status.Status].getTimestamp()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 3
    ICount: 16
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.status.StatusUtil:59"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:63"
        BranchSideFuncs:
        - "iterator()"
        - "getTimestamp()"
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:62"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.status.StatusUtil:60"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:62"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:61"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.status.StatusUtil:58,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.core.status.StatusUtil:59,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.status.StatusUtil:59,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.status.StatusUtil:59,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.status.StatusUtil:60,1"
      Dst: "[ch.qos.logback.core.status.Status].getTimestamp()"
    - Src: "ch.qos.logback.core.status.StatusUtil:61,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.status.StatusUtil].noXMLParsingErrorsOccurred(long)"
    functionSourceFile: "ch.qos.logback.core.status.StatusUtil"
    linkageType: null
    functionLinenumber: 88
    functionDepth: 3
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusUtil].hasXMLParsingErrors(long)"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.status.StatusUtil:89"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:88"
        BranchSideFuncs:
        - "hasXMLParsingErrors(long)"
    Callsites:
    - Src: "ch.qos.logback.core.status.StatusUtil:89,1"
      Dst: "[ch.qos.logback.core.status.StatusUtil].hasXMLParsingErrors(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.status.StatusUtil].hasXMLParsingErrors(long)"
    functionSourceFile: "ch.qos.logback.core.status.StatusUtil"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusUtil].containsMatch(long,int,java.lang.String)"
    functionUses: 3
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.StatusUtil:85,1"
      Dst: "[ch.qos.logback.core.status.StatusUtil].containsMatch(long,int,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.StatusUtil].getHighestLevel(long)"
    functionSourceFile: "ch.qos.logback.core.status.StatusUtil"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "int"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusUtil].filterStatusListByTimeThreshold(java.util.List,long)"
    - "[ch.qos.logback.core.BasicStatusManager].getCopyOfStatusList()"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.status.StatusBase].getLevel()"
    - "[ch.qos.logback.core.status.StatusManager].getCopyOfStatusList()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[ch.qos.logback.core.status.Status].getLevel()"
    functionUses: 1
    ICount: 16
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.status.StatusUtil:95"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:99"
        BranchSideFuncs:
        - "iterator()"
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:98"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.status.StatusUtil:96"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:98"
        BranchSideFuncs:
        - "getLevel()"
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:97"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.status.StatusUtil:93,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].getCopyOfStatusList()"
    - Src: "ch.qos.logback.core.status.StatusUtil:93,1"
      Dst: "[ch.qos.logback.core.status.StatusUtil].filterStatusListByTimeThreshold(java.util.List,long)"
    - Src: "ch.qos.logback.core.status.StatusUtil:95,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.status.StatusUtil:95,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.status.StatusUtil:95,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.status.StatusUtil:96,1"
      Dst: "[ch.qos.logback.core.status.Status].getLevel()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.status.StatusUtil].isErrorFree(long)"
    functionSourceFile: "ch.qos.logback.core.status.StatusUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusUtil].getHighestLevel(long)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.status.StatusUtil:103"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:102"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.status.StatusUtil:103,1"
      Dst: "[ch.qos.logback.core.status.StatusUtil].getHighestLevel(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.status.StatusUtil].getHighestLevel(long)"
    functionSourceFile: "ch.qos.logback.core.status.StatusUtil"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "int"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusUtil].filterStatusListByTimeThreshold(java.util.List,long)"
    - "[ch.qos.logback.core.BasicStatusManager].getCopyOfStatusList()"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.status.StatusBase].getLevel()"
    - "[ch.qos.logback.core.status.StatusManager].getCopyOfStatusList()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[ch.qos.logback.core.status.Status].getLevel()"
    functionUses: 1
    ICount: 16
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.status.StatusUtil:95"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:99"
        BranchSideFuncs:
        - "iterator()"
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:98"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.status.StatusUtil:96"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:98"
        BranchSideFuncs:
        - "getLevel()"
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:97"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.status.StatusUtil:93,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].getCopyOfStatusList()"
    - Src: "ch.qos.logback.core.status.StatusUtil:93,1"
      Dst: "[ch.qos.logback.core.status.StatusUtil].filterStatusListByTimeThreshold(java.util.List,long)"
    - Src: "ch.qos.logback.core.status.StatusUtil:95,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.status.StatusUtil:95,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.status.StatusUtil:95,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.status.StatusUtil:96,1"
      Dst: "[ch.qos.logback.core.status.Status].getLevel()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.status.StatusUtil].isWarningOrErrorFree(long)"
    functionSourceFile: "ch.qos.logback.core.status.StatusUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusUtil].getHighestLevel(long)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.status.StatusUtil:107"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:106"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.status.StatusUtil:107,1"
      Dst: "[ch.qos.logback.core.status.StatusUtil].getHighestLevel(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.status.StatusUtil].getHighestLevel(long)"
    functionSourceFile: "ch.qos.logback.core.status.StatusUtil"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "int"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusUtil].filterStatusListByTimeThreshold(java.util.List,long)"
    - "[ch.qos.logback.core.BasicStatusManager].getCopyOfStatusList()"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.status.StatusBase].getLevel()"
    - "[ch.qos.logback.core.status.StatusManager].getCopyOfStatusList()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[ch.qos.logback.core.status.Status].getLevel()"
    functionUses: 1
    ICount: 16
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.status.StatusUtil:95"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:99"
        BranchSideFuncs:
        - "iterator()"
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:98"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.status.StatusUtil:96"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:98"
        BranchSideFuncs:
        - "getLevel()"
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:97"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.status.StatusUtil:93,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].getCopyOfStatusList()"
    - Src: "ch.qos.logback.core.status.StatusUtil:93,1"
      Dst: "[ch.qos.logback.core.status.StatusUtil].filterStatusListByTimeThreshold(java.util.List,long)"
    - Src: "ch.qos.logback.core.status.StatusUtil:95,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.status.StatusUtil:95,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.status.StatusUtil:95,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.status.StatusUtil:96,1"
      Dst: "[ch.qos.logback.core.status.Status].getLevel()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.status.StatusUtil].containsMatch(long,int,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.status.StatusUtil"
    linkageType: null
    functionLinenumber: 110
    functionDepth: 1
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "long"
    - "int"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusUtil].filterStatusListByTimeThreshold(java.util.List,long)"
    - "[ch.qos.logback.core.BasicStatusManager].getCopyOfStatusList()"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.status.StatusBase].getLevel()"
    - "[ch.qos.logback.core.status.StatusBase].getMessage()"
    - "[ch.qos.logback.core.status.StatusManager].getCopyOfStatusList()"
    - "[java.util.regex.Pattern].compile(java.lang.String)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[ch.qos.logback.core.status.Status].getLevel()"
    - "[ch.qos.logback.core.status.Status].getMessage()"
    - "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - "[java.util.regex.Matcher].lookingAt()"
    functionUses: 1
    ICount: 23
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.status.StatusUtil:114"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:124"
        BranchSideFuncs:
        - "iterator()"
        - "getLevel()"
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:123"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.status.StatusUtil:115"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:118"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:117"
        BranchSideFuncs:
        - "getMessage()"
    - Branch String: "ch.qos.logback.core.status.StatusUtil:120"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:123"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:122"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.status.StatusUtil:111,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].getCopyOfStatusList()"
    - Src: "ch.qos.logback.core.status.StatusUtil:111,1"
      Dst: "[ch.qos.logback.core.status.StatusUtil].filterStatusListByTimeThreshold(java.util.List,long)"
    - Src: "ch.qos.logback.core.status.StatusUtil:112,1"
      Dst: "[java.util.regex.Pattern].compile(java.lang.String)"
    - Src: "ch.qos.logback.core.status.StatusUtil:114,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.status.StatusUtil:114,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.status.StatusUtil:114,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.status.StatusUtil:115,1"
      Dst: "[ch.qos.logback.core.status.Status].getLevel()"
    - Src: "ch.qos.logback.core.status.StatusUtil:118,1"
      Dst: "[ch.qos.logback.core.status.Status].getMessage()"
    - Src: "ch.qos.logback.core.status.StatusUtil:119,1"
      Dst: "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - Src: "ch.qos.logback.core.status.StatusUtil:120,1"
      Dst: "[java.util.regex.Matcher].lookingAt()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.status.StatusUtil].containsMatch(int,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.status.StatusUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "int"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusUtil].containsMatch(long,int,java.lang.String)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.StatusUtil:128,1"
      Dst: "[ch.qos.logback.core.status.StatusUtil].containsMatch(long,int,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.StatusUtil].containsMatch(long,int,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.status.StatusUtil"
    linkageType: null
    functionLinenumber: 110
    functionDepth: 1
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "long"
    - "int"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusUtil].filterStatusListByTimeThreshold(java.util.List,long)"
    - "[ch.qos.logback.core.BasicStatusManager].getCopyOfStatusList()"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.status.StatusBase].getLevel()"
    - "[ch.qos.logback.core.status.StatusBase].getMessage()"
    - "[ch.qos.logback.core.status.StatusManager].getCopyOfStatusList()"
    - "[java.util.regex.Pattern].compile(java.lang.String)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[ch.qos.logback.core.status.Status].getLevel()"
    - "[ch.qos.logback.core.status.Status].getMessage()"
    - "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - "[java.util.regex.Matcher].lookingAt()"
    functionUses: 1
    ICount: 23
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.status.StatusUtil:114"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:124"
        BranchSideFuncs:
        - "iterator()"
        - "getLevel()"
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:123"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.status.StatusUtil:115"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:118"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:117"
        BranchSideFuncs:
        - "getMessage()"
    - Branch String: "ch.qos.logback.core.status.StatusUtil:120"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:123"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:122"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.status.StatusUtil:111,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].getCopyOfStatusList()"
    - Src: "ch.qos.logback.core.status.StatusUtil:111,1"
      Dst: "[ch.qos.logback.core.status.StatusUtil].filterStatusListByTimeThreshold(java.util.List,long)"
    - Src: "ch.qos.logback.core.status.StatusUtil:112,1"
      Dst: "[java.util.regex.Pattern].compile(java.lang.String)"
    - Src: "ch.qos.logback.core.status.StatusUtil:114,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.status.StatusUtil:114,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.status.StatusUtil:114,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.status.StatusUtil:115,1"
      Dst: "[ch.qos.logback.core.status.Status].getLevel()"
    - Src: "ch.qos.logback.core.status.StatusUtil:118,1"
      Dst: "[ch.qos.logback.core.status.Status].getMessage()"
    - Src: "ch.qos.logback.core.status.StatusUtil:119,1"
      Dst: "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - Src: "ch.qos.logback.core.status.StatusUtil:120,1"
      Dst: "[java.util.regex.Matcher].lookingAt()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.status.StatusUtil].containsMatch(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.status.StatusUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.regex.Pattern].compile(java.lang.String)"
    - "[ch.qos.logback.core.status.StatusManager].getCopyOfStatusList()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[ch.qos.logback.core.status.Status].getMessage()"
    - "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - "[java.util.regex.Matcher].lookingAt()"
    functionUses: 0
    ICount: 17
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.status.StatusUtil:133"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:140"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:139"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.status.StatusUtil:136"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:139"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:138"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.status.StatusUtil:132,1"
      Dst: "[java.util.regex.Pattern].compile(java.lang.String)"
    - Src: "ch.qos.logback.core.status.StatusUtil:133,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].getCopyOfStatusList()"
    - Src: "ch.qos.logback.core.status.StatusUtil:133,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.status.StatusUtil:133,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.status.StatusUtil:133,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.status.StatusUtil:134,1"
      Dst: "[ch.qos.logback.core.status.Status].getMessage()"
    - Src: "ch.qos.logback.core.status.StatusUtil:135,1"
      Dst: "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - Src: "ch.qos.logback.core.status.StatusUtil:136,1"
      Dst: "[java.util.regex.Matcher].lookingAt()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.status.StatusUtil].levelCount(int,long)"
    functionSourceFile: "ch.qos.logback.core.status.StatusUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "int"
    argCount: 2
    argTypes:
    - "int"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusManager].getCopyOfStatusList()"
    - "[ch.qos.logback.core.status.StatusUtil].filterStatusListByTimeThreshold(java.util.List,long)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[ch.qos.logback.core.status.Status].getLevel()"
    functionUses: 0
    ICount: 17
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.status.StatusUtil:147"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:151"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:150"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.status.StatusUtil:148"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:150"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:149"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.status.StatusUtil:144,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].getCopyOfStatusList()"
    - Src: "ch.qos.logback.core.status.StatusUtil:144,1"
      Dst: "[ch.qos.logback.core.status.StatusUtil].filterStatusListByTimeThreshold(java.util.List,long)"
    - Src: "ch.qos.logback.core.status.StatusUtil:147,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.status.StatusUtil:147,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.status.StatusUtil:147,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.status.StatusUtil:148,1"
      Dst: "[ch.qos.logback.core.status.Status].getLevel()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.status.StatusUtil].filterStatusListByTimeThreshold(java.util.List,long)"
    functionSourceFile: "ch.qos.logback.core.status.StatusUtil"
    linkageType: null
    functionLinenumber: 57
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 2
    argTypes:
    - "java.util.List"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.status.StatusBase].getTimestamp()"
    - "[java.util.ArrayList].<init>()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[ch.qos.logback.core.status.Status].getTimestamp()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 3
    ICount: 16
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.status.StatusUtil:59"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:63"
        BranchSideFuncs:
        - "iterator()"
        - "getTimestamp()"
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:62"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.status.StatusUtil:60"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:62"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:61"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.status.StatusUtil:58,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.core.status.StatusUtil:59,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.status.StatusUtil:59,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.status.StatusUtil:59,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.status.StatusUtil:60,1"
      Dst: "[ch.qos.logback.core.status.Status].getTimestamp()"
    - Src: "ch.qos.logback.core.status.StatusUtil:61,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.status.StatusUtil].matchCount(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.status.StatusUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.regex.Pattern].compile(java.lang.String)"
    - "[ch.qos.logback.core.status.StatusManager].getCopyOfStatusList()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[ch.qos.logback.core.status.Status].getMessage()"
    - "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - "[java.util.regex.Matcher].lookingAt()"
    functionUses: 0
    ICount: 18
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.status.StatusUtil:157"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:164"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:163"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.status.StatusUtil:160"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:163"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:162"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.status.StatusUtil:156,1"
      Dst: "[java.util.regex.Pattern].compile(java.lang.String)"
    - Src: "ch.qos.logback.core.status.StatusUtil:157,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].getCopyOfStatusList()"
    - Src: "ch.qos.logback.core.status.StatusUtil:157,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.status.StatusUtil:157,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.status.StatusUtil:157,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.status.StatusUtil:158,1"
      Dst: "[ch.qos.logback.core.status.Status].getMessage()"
    - Src: "ch.qos.logback.core.status.StatusUtil:159,1"
      Dst: "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - Src: "ch.qos.logback.core.status.StatusUtil:160,1"
      Dst: "[java.util.regex.Matcher].lookingAt()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.status.StatusUtil].containsException(java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.status.StatusUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusUtil].containsException(java.lang.Class,java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.StatusUtil:168,1"
      Dst: "[ch.qos.logback.core.status.StatusUtil].containsException(java.lang.Class,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.StatusUtil].containsException(java.lang.Class,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.status.StatusUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusManager].getCopyOfStatusList()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[ch.qos.logback.core.status.Status].getThrowable()"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getName()"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.lang.Throwable].getMessage()"
    - "[ch.qos.logback.core.status.StatusUtil].checkRegexMatch(java.lang.String,java.lang.String)"
    - "[java.lang.Throwable].getCause()"
    functionUses: 0
    ICount: 27
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.status.StatusUtil:172"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:185"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:184"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.status.StatusUtil:174"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:184"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:183"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.status.StatusUtil:175"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:182"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:181"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.status.StatusUtil:176"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:178"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:177"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.status.StatusUtil:178"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:182"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:181"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.status.StatusUtil:172,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].getCopyOfStatusList()"
    - Src: "ch.qos.logback.core.status.StatusUtil:172,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.status.StatusUtil:172,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.status.StatusUtil:172,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.status.StatusUtil:173,1"
      Dst: "[ch.qos.logback.core.status.Status].getThrowable()"
    - Src: "ch.qos.logback.core.status.StatusUtil:175,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.status.StatusUtil:175,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.core.status.StatusUtil:175,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.status.StatusUtil:178,1"
      Dst: "[java.lang.Throwable].getMessage()"
    - Src: "ch.qos.logback.core.status.StatusUtil:178,1"
      Dst: "[ch.qos.logback.core.status.StatusUtil].checkRegexMatch(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.status.StatusUtil:182,1"
      Dst: "[java.lang.Throwable].getCause()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 12
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.status.StatusUtil].checkRegexMatch(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.status.StatusUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.regex.Pattern].compile(java.lang.String)"
    - "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - "[java.util.regex.Matcher].lookingAt()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.StatusUtil:189,1"
      Dst: "[java.util.regex.Pattern].compile(java.lang.String)"
    - Src: "ch.qos.logback.core.status.StatusUtil:190,1"
      Dst: "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - Src: "ch.qos.logback.core.status.StatusUtil:191,1"
      Dst: "[java.util.regex.Matcher].lookingAt()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.StatusUtil].containsException(java.lang.Class,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.status.StatusUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusManager].getCopyOfStatusList()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[ch.qos.logback.core.status.Status].getThrowable()"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getName()"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.lang.Throwable].getMessage()"
    - "[ch.qos.logback.core.status.StatusUtil].checkRegexMatch(java.lang.String,java.lang.String)"
    - "[java.lang.Throwable].getCause()"
    functionUses: 0
    ICount: 27
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.status.StatusUtil:172"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:185"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:184"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.status.StatusUtil:174"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:184"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:183"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.status.StatusUtil:175"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:182"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:181"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.status.StatusUtil:176"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:178"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:177"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.status.StatusUtil:178"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:182"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:181"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.status.StatusUtil:172,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].getCopyOfStatusList()"
    - Src: "ch.qos.logback.core.status.StatusUtil:172,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.status.StatusUtil:172,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.status.StatusUtil:172,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.status.StatusUtil:173,1"
      Dst: "[ch.qos.logback.core.status.Status].getThrowable()"
    - Src: "ch.qos.logback.core.status.StatusUtil:175,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.status.StatusUtil:175,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.core.status.StatusUtil:175,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.status.StatusUtil:178,1"
      Dst: "[java.lang.Throwable].getMessage()"
    - Src: "ch.qos.logback.core.status.StatusUtil:178,1"
      Dst: "[ch.qos.logback.core.status.StatusUtil].checkRegexMatch(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.status.StatusUtil:182,1"
      Dst: "[java.lang.Throwable].getCause()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 12
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.status.StatusUtil].checkRegexMatch(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.status.StatusUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.regex.Pattern].compile(java.lang.String)"
    - "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - "[java.util.regex.Matcher].lookingAt()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.StatusUtil:189,1"
      Dst: "[java.util.regex.Pattern].compile(java.lang.String)"
    - Src: "ch.qos.logback.core.status.StatusUtil:190,1"
      Dst: "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - Src: "ch.qos.logback.core.status.StatusUtil:191,1"
      Dst: "[java.util.regex.Matcher].lookingAt()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.StatusUtil].timeOfLastReset()"
    functionSourceFile: "ch.qos.logback.core.status.StatusUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusManager].getCopyOfStatusList()"
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    - "[ch.qos.logback.core.status.Status].getMessage()"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[ch.qos.logback.core.status.Status].getTimestamp()"
    functionUses: 0
    ICount: 20
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.status.StatusUtil:202"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:205"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:204"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.status.StatusUtil:206"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:212"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:211"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.status.StatusUtil:208"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:null"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.status.StatusUtil:201,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].getCopyOfStatusList()"
    - Src: "ch.qos.logback.core.status.StatusUtil:205,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.core.status.StatusUtil:207,1"
      Dst: "[java.util.List].get(int)"
    - Src: "ch.qos.logback.core.status.StatusUtil:208,1"
      Dst: "[ch.qos.logback.core.status.Status].getMessage()"
    - Src: "ch.qos.logback.core.status.StatusUtil:208,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.status.StatusUtil:209,1"
      Dst: "[ch.qos.logback.core.status.Status].getTimestamp()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.status.StatusUtil].diff(ch.qos.logback.core.status.Status,ch.qos.logback.core.status.Status)"
    functionSourceFile: "ch.qos.logback.core.status.StatusUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.status.Status"
    - "ch.qos.logback.core.status.Status"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[ch.qos.logback.core.status.Status].getLevel()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(int)"
    - "[ch.qos.logback.core.status.Status].getTimestamp()"
    - "[java.lang.StringBuilder].append(long)"
    - "[ch.qos.logback.core.status.Status].getMessage()"
    - "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 0
    ICount: 35
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.status.StatusUtil:217"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:220"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:219"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.status.StatusUtil:220"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:223"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:222"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.status.StatusUtil:223"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:227"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:226"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.status.StatusUtil:216,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.core.status.StatusUtil:217,1"
      Dst: "[ch.qos.logback.core.status.Status].getLevel()"
    - Src: "ch.qos.logback.core.status.StatusUtil:218,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.core.status.StatusUtil:218,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "ch.qos.logback.core.status.StatusUtil:220,1"
      Dst: "[ch.qos.logback.core.status.Status].getTimestamp()"
    - Src: "ch.qos.logback.core.status.StatusUtil:221,1"
      Dst: "[java.lang.StringBuilder].append(long)"
    - Src: "ch.qos.logback.core.status.StatusUtil:223,1"
      Dst: "[ch.qos.logback.core.status.Status].getMessage()"
    - Src: "ch.qos.logback.core.status.StatusUtil:223,1"
      Dst: "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    - Src: "ch.qos.logback.core.status.StatusUtil:227,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.classic.servlet.LogbackServletContainerInitializer].<init>()"
    functionSourceFile: "ch.qos.logback.classic.servlet.LogbackServletContainerInitializer"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.servlet.LogbackServletContainerInitializer:21,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.servlet.LogbackServletContainerInitializer].onStartup(java.util.Set,jakarta.servlet.ServletContext)"
    functionSourceFile: "ch.qos.logback.classic.servlet.LogbackServletContainerInitializer"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 14
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.util.Set"
    - "jakarta.servlet.ServletContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.servlet.LogbackServletContainerInitializer].isDisabledByConfiguration(jakarta.servlet.ServletContext)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Class)"
    - "[ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory].addInfo(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.classic.servlet.LogbackServletContextListener].<init>()"
    - "[jakarta.servlet.ServletContext].addListener(java.util.EventListener)"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.servlet.LogbackServletContainerInitializer:26"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.servlet.LogbackServletContainerInitializer:33"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.servlet.LogbackServletContainerInitializer:32"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.servlet.LogbackServletContainerInitializer:26,1"
      Dst: "[ch.qos.logback.classic.servlet.LogbackServletContainerInitializer].isDisabledByConfiguration(jakarta.servlet.ServletContext)"
    - Src: "ch.qos.logback.classic.servlet.LogbackServletContainerInitializer:27,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Class)"
    - Src: "ch.qos.logback.classic.servlet.LogbackServletContainerInitializer:27,1"
      Dst: "[ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory].addInfo(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.classic.servlet.LogbackServletContainerInitializer:35,1"
      Dst: "[ch.qos.logback.classic.servlet.LogbackServletContextListener].<init>()"
    - Src: "ch.qos.logback.classic.servlet.LogbackServletContainerInitializer:36,1"
      Dst: "[jakarta.servlet.ServletContext].addListener(java.util.EventListener)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.servlet.LogbackServletContainerInitializer].isDisabledByConfiguration(jakarta.servlet.ServletContext)"
    functionSourceFile: "ch.qos.logback.classic.servlet.LogbackServletContainerInitializer"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "jakarta.servlet.ServletContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jakarta.servlet.ServletContext].getInitParameter(java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].getSystemProperty(java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].getEnv(java.lang.String)"
    - "[java.lang.Boolean].parseBoolean(java.lang.String)"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.servlet.LogbackServletContainerInitializer:50"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.servlet.LogbackServletContainerInitializer:54"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.servlet.LogbackServletContainerInitializer:53"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.servlet.LogbackServletContainerInitializer:54"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.servlet.LogbackServletContainerInitializer:58"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.servlet.LogbackServletContainerInitializer:57"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.servlet.LogbackServletContainerInitializer:58"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.servlet.LogbackServletContainerInitializer:62"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.servlet.LogbackServletContainerInitializer:61"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.servlet.LogbackServletContainerInitializer:49,1"
      Dst: "[jakarta.servlet.ServletContext].getInitParameter(java.lang.String)"
    - Src: "ch.qos.logback.classic.servlet.LogbackServletContainerInitializer:54,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Src: "ch.qos.logback.classic.servlet.LogbackServletContainerInitializer:55,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].getSystemProperty(java.lang.String)"
    - Src: "ch.qos.logback.classic.servlet.LogbackServletContainerInitializer:59,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].getEnv(java.lang.String)"
    - Src: "ch.qos.logback.classic.servlet.LogbackServletContainerInitializer:62,1"
      Dst: "[java.lang.Boolean].parseBoolean(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 282
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    - "[java.lang.String].length()"
    functionUses: 62
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].length()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.util.OptionHelper].getSystemProperty(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 174
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].getProperty(java.lang.String)"
    functionUses: 4
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:175,1"
      Dst: "[java.lang.System].getProperty(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].getEnv(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 159
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].getenv(java.lang.String)"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:160,1"
      Dst: "[java.lang.System].getenv(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory].addInfo(java.lang.String,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 13
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory].addStatus(ch.qos.logback.core.status.Status)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory:22,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory:22,1"
      Dst: "[ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.status.InfoStatus"
    linkageType: null
    functionLinenumber: 17
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    functionUses: 15
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.InfoStatus:18,1"
      Dst: "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory].addStatus(ch.qos.logback.core.status.Status)"
    functionSourceFile: "ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 12
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.status.Status"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.LoggerFactory].getILoggerFactory()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory:35"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory:41"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory:40"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory:34,1"
      Dst: "[org.slf4j.LoggerFactory].getILoggerFactory()"
    - Src: "ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory:36,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - Src: "ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory:38,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory:39,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.LoggerFactory].getILoggerFactory()"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 471
    functionDepth: 11
    returnType: "org.slf4j.ILoggerFactory"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteServiceProvider].getLoggerFactory()"
    - "[ch.qos.logback.classic.spi.LogbackServiceProvider].getLoggerFactory()"
    - "[org.slf4j.helpers.NOP_FallbackServiceProvider].getLoggerFactory()"
    - "[org.slf4j.LoggerFactory].getProvider()"
    - "[org.slf4j.spi.SLF4JServiceProvider].getLoggerFactory()"
    functionUses: 1
    ICount: 3
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.LoggerFactory:472,1"
      Dst: "[org.slf4j.LoggerFactory].getProvider()"
    - Src: "org.slf4j.LoggerFactory:472,1"
      Dst: "[org.slf4j.spi.SLF4JServiceProvider].getLoggerFactory()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 34
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:34,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 67
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:45"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:44"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:47"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:46,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 71
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.status.Status"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - "[ch.qos.logback.core.BasicStatusManager].add(ch.qos.logback.core.status.Status)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.ContextAwareBase)"
    - "[java.io.PrintStream].println(java.lang.String)"
    - "[ch.qos.logback.core.Context].getStatusManager()"
    - "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    functionUses: 24
    ICount: 17
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:78"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:77"
        BranchSideFuncs:
        - "getStatusManager()"
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:73"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:76"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:75"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:79"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:82"
        BranchSideFuncs:
        - "add(ch.qos.logback.core.status.Status)"
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:81"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:74,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.ContextAwareBase)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:74,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:78,1"
      Dst: "[ch.qos.logback.core.Context].getStatusManager()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:80,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.servlet.LogbackServletContextListener].<init>()"
    functionSourceFile: "ch.qos.logback.classic.servlet.LogbackServletContextListener"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.servlet.LogbackServletContextListener:20,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.classic.servlet.LogbackServletContextListener:22,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.servlet.LogbackServletContainerInitializer].isDisabledByConfiguration(jakarta.servlet.ServletContext)"
    functionSourceFile: "ch.qos.logback.classic.servlet.LogbackServletContainerInitializer"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "jakarta.servlet.ServletContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jakarta.servlet.ServletContext].getInitParameter(java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].getSystemProperty(java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].getEnv(java.lang.String)"
    - "[java.lang.Boolean].parseBoolean(java.lang.String)"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.servlet.LogbackServletContainerInitializer:50"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.servlet.LogbackServletContainerInitializer:54"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.servlet.LogbackServletContainerInitializer:53"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.servlet.LogbackServletContainerInitializer:54"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.servlet.LogbackServletContainerInitializer:58"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.servlet.LogbackServletContainerInitializer:57"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.servlet.LogbackServletContainerInitializer:58"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.servlet.LogbackServletContainerInitializer:62"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.servlet.LogbackServletContainerInitializer:61"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.servlet.LogbackServletContainerInitializer:49,1"
      Dst: "[jakarta.servlet.ServletContext].getInitParameter(java.lang.String)"
    - Src: "ch.qos.logback.classic.servlet.LogbackServletContainerInitializer:54,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Src: "ch.qos.logback.classic.servlet.LogbackServletContainerInitializer:55,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].getSystemProperty(java.lang.String)"
    - Src: "ch.qos.logback.classic.servlet.LogbackServletContainerInitializer:59,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].getEnv(java.lang.String)"
    - Src: "ch.qos.logback.classic.servlet.LogbackServletContainerInitializer:62,1"
      Dst: "[java.lang.Boolean].parseBoolean(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.classic.joran.ReconfigureOnChangeTask].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - "[java.lang.System].currentTimeMillis()"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:35,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:41,1"
      Dst: "[java.lang.System].currentTimeMillis()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ReconfigureOnChangeTask].run()"
    functionSourceFile: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask"
    linkageType: null
    functionLinenumber: 47
    functionDepth: 8
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].fireConfigurationEvent(ch.qos.logback.core.spi.ConfigurationEvent)"
    - "[ch.qos.logback.core.spi.ConfigurationEvent].newConfigurationChangeDetectorRunningEvent(java.lang.Object)"
    - "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].getConfigurationWatchList(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].getCopyOfFileWatchList()"
    - "[ch.qos.logback.core.util.COWArrayList].isEmpty()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].changeDetected()"
    - "[ch.qos.logback.core.spi.ConfigurationEvent].newConfigurationChangeDetectedEvent(java.lang.Object)"
    - "[ch.qos.logback.classic.joran.ReconfigureOnChangeTask].cancelFutureInvocationsOfThisTaskInstance()"
    - "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].getMainURL()"
    - "[ch.qos.logback.core.ContextBase].getName()"
    - "[ch.qos.logback.classic.joran.ReconfigureOnChangeTask].performXMLConfiguration(ch.qos.logback.classic.LoggerContext,java.net.URL)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.Context].fireConfigurationEvent(ch.qos.logback.core.spi.ConfigurationEvent)"
    - "[java.util.List].isEmpty()"
    - "[ch.qos.logback.core.Context].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.net.URL].toString()"
    - "[java.lang.String].endsWith(java.lang.String)"
    functionUses: 2
    ICount: 40
    EdgeCount: 17
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:51"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:56"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:55"
        BranchSideFuncs:
        - "isEmpty()"
        - "getCopyOfFileWatchList()"
    - Branch String: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:57"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:58"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:57"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:57"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:62"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:61"
        BranchSideFuncs:
        - "changeDetected()"
    - Branch String: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:62"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:65"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:64"
        BranchSideFuncs:
        - "cancelFutureInvocationsOfThisTaskInstance()"
        - "newConfigurationChangeDetectedEvent(java.lang.Object)"
        - "getName()"
        - "fireConfigurationEvent(ch.qos.logback.core.spi.ConfigurationEvent)"
        - "getMainURL()"
        - "addInfo(java.lang.String)"
    - Branch String: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:74"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:76"
        BranchSideFuncs:
        - "performXMLConfiguration(ch.qos.logback.classic.LoggerContext,java.net.URL)"
      - BranchSide: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:75"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:76"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:80"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:79"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:48,1"
      Dst: "[ch.qos.logback.core.spi.ConfigurationEvent].newConfigurationChangeDetectorRunningEvent(java.lang.Object)"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:48,1"
      Dst: "[ch.qos.logback.core.Context].fireConfigurationEvent(ch.qos.logback.core.spi.ConfigurationEvent)"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:50,1"
      Dst: "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].getConfigurationWatchList(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:52,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:56,1"
      Dst: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].getCopyOfFileWatchList()"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:57,1"
      Dst: "[java.util.List].isEmpty()"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:58,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:62,1"
      Dst: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].changeDetected()"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:65,1"
      Dst: "[ch.qos.logback.core.spi.ConfigurationEvent].newConfigurationChangeDetectedEvent(java.lang.Object)"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:66,1"
      Dst: "[ch.qos.logback.classic.joran.ReconfigureOnChangeTask].cancelFutureInvocationsOfThisTaskInstance()"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:68,1"
      Dst: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].getMainURL()"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:71,1"
      Dst: "[ch.qos.logback.core.Context].getName()"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:71,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:74,1"
      Dst: "[java.net.URL].toString()"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:74,1"
      Dst: "[java.lang.String].endsWith(java.lang.String)"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:75,1"
      Dst: "[ch.qos.logback.classic.joran.ReconfigureOnChangeTask].performXMLConfiguration(ch.qos.logback.classic.LoggerContext,java.net.URL)"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:77,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 12
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.spi.ConfigurationEvent].newConfigurationChangeDetectorRunningEvent(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.spi.ConfigurationEvent"
    linkageType: null
    functionLinenumber: 51
    functionDepth: 1
    returnType: "ch.qos.logback.core.spi.ConfigurationEvent"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ConfigurationEvent].<init>(ch.qos.logback.core.spi.ConfigurationEvent$EventType,java.lang.Object)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ConfigurationEvent:52,1"
      Dst: "[ch.qos.logback.core.spi.ConfigurationEvent].<init>(ch.qos.logback.core.spi.ConfigurationEvent$EventType,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ConfigurationEvent].<init>(ch.qos.logback.core.spi.ConfigurationEvent$EventType,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.spi.ConfigurationEvent"
    linkageType: null
    functionLinenumber: 45
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.spi.ConfigurationEvent$EventType"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 5
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ConfigurationEvent:46,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].getConfigurationWatchList(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil"
    linkageType: null
    functionLinenumber: 85
    functionDepth: 0
    returnType: "ch.qos.logback.core.joran.spi.ConfigurationWatchList"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getObject(java.lang.String)"
    - "[ch.qos.logback.core.Context].getObject(java.lang.String)"
    functionUses: 6
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:86,1"
      Dst: "[ch.qos.logback.core.Context].getObject(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 96
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].getCopyOfFileWatchList()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ConfigurationWatchList"
    linkageType: null
    functionLinenumber: 75
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>(java.util.Collection)"
    functionUses: 3
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:76,1"
      Dst: "[java.util.ArrayList].<init>(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].changeDetected()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ConfigurationWatchList"
    linkageType: null
    functionLinenumber: 79
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.util.COWArrayList].get(int)"
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    - "[java.lang.Long].longValue()"
    - "[java.io.File].lastModified()"
    functionUses: 2
    ICount: 19
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:81"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:88"
        BranchSideFuncs:
        - "get(int)"
      - BranchSide: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:87"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:84"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:80"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:79"
        BranchSideFuncs:
        - "size()"
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:80,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:82,1"
      Dst: "[java.util.List].get(int)"
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:82,1"
      Dst: "[java.lang.Long].longValue()"
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:84,1"
      Dst: "[java.io.File].lastModified()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.spi.ConfigurationEvent].newConfigurationChangeDetectedEvent(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.spi.ConfigurationEvent"
    linkageType: null
    functionLinenumber: 58
    functionDepth: 1
    returnType: "ch.qos.logback.core.spi.ConfigurationEvent"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ConfigurationEvent].<init>(ch.qos.logback.core.spi.ConfigurationEvent$EventType,java.lang.Object)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ConfigurationEvent:59,1"
      Dst: "[ch.qos.logback.core.spi.ConfigurationEvent].<init>(ch.qos.logback.core.spi.ConfigurationEvent$EventType,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ReconfigureOnChangeTask].cancelFutureInvocationsOfThisTaskInstance()"
    functionSourceFile: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask"
    linkageType: null
    functionLinenumber: 82
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.classic.joran.ReconfigureOnChangeTask].toString()"
    - "[java.util.concurrent.Future].cancel(boolean)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 8
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:84"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:87"
        BranchSideFuncs:
        - "toString()"
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:86"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:83,1"
      Dst: "[java.util.concurrent.Future].cancel(boolean)"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:85,1"
      Dst: "[ch.qos.logback.classic.joran.ReconfigureOnChangeTask].toString()"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:85,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.joran.ReconfigureOnChangeTask].toString()"
    functionSourceFile: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask"
    linkageType: null
    functionLinenumber: 141
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(long)"
    functionUses: 4
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:142,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].getMainURL()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ConfigurationWatchList"
    linkageType: null
    functionLinenumber: 71
    functionDepth: 0
    returnType: "java.net.URL"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ReconfigureOnChangeTask].performXMLConfiguration(ch.qos.logback.classic.LoggerContext,java.net.URL)"
    functionSourceFile: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask"
    linkageType: null
    functionLinenumber: 89
    functionDepth: 7
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.classic.LoggerContext"
    - "java.net.URL"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator].<init>()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.status.StatusUtil].<init>(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.joran.GenericXMLConfigurator].recallSafeConfiguration()"
    - "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].getMainWatchURL(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.classic.LoggerContext].reset()"
    - "[ch.qos.logback.core.joran.GenericXMLConfigurator].doConfigure(java.net.URL)"
    - "[ch.qos.logback.core.status.StatusUtil].hasXMLParsingErrors(long)"
    - "[ch.qos.logback.classic.joran.ReconfigureOnChangeTask].fallbackConfiguration(ch.qos.logback.classic.LoggerContext,ch.qos.logback.core.model.Model,java.net.URL)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String,java.lang.Throwable)"
    - "[java.lang.System].currentTimeMillis()"
    functionUses: 1
    ICount: 24
    EdgeCount: 11
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:100"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:106"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:105"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:90,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator].<init>()"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:91,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:92,1"
      Dst: "[ch.qos.logback.core.status.StatusUtil].<init>(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:93,1"
      Dst: "[ch.qos.logback.core.joran.GenericXMLConfigurator].recallSafeConfiguration()"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:94,1"
      Dst: "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].getMainWatchURL(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:95,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].reset()"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:96,1"
      Dst: "[java.lang.System].currentTimeMillis()"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:98,1"
      Dst: "[ch.qos.logback.core.joran.GenericXMLConfigurator].doConfigure(java.net.URL)"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:100,1"
      Dst: "[ch.qos.logback.core.status.StatusUtil].hasXMLParsingErrors(long)"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:101,1"
      Dst: "[ch.qos.logback.classic.joran.ReconfigureOnChangeTask].fallbackConfiguration(ch.qos.logback.classic.LoggerContext,ch.qos.logback.core.model.Model,java.net.URL)"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:104,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase].<init>()"
    functionUses: 7
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:43,1"
      Dst: "[ch.qos.logback.core.joran.JoranConfiguratorBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 67
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:45"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:44"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:47"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:46,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.status.StatusUtil].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.status.StatusUtil"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - "[java.lang.Object].<init>()"
    - "[ch.qos.logback.core.Context].getStatusManager()"
    functionUses: 4
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.StatusUtil:33,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.status.StatusUtil:34,1"
      Dst: "[ch.qos.logback.core.Context].getStatusManager()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].getMainWatchURL(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil"
    linkageType: null
    functionLinenumber: 53
    functionDepth: 1
    returnType: "java.net.URL"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].getConfigurationWatchList(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].getMainURL()"
    functionUses: 3
    ICount: 6
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:55"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:58"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:57"
        BranchSideFuncs:
        - "getMainURL()"
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:54,1"
      Dst: "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].getConfigurationWatchList(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:58,1"
      Dst: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].getMainURL()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].reset()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 358
    functionDepth: 5
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].reset()"
    - "[ch.qos.logback.classic.LoggerContext].initEvaluatorMap()"
    - "[ch.qos.logback.core.ContextBase].initCollisionMaps()"
    - "[ch.qos.logback.classic.Logger].recursiveReset()"
    - "[ch.qos.logback.classic.LoggerContext].resetTurboFilterList()"
    - "[ch.qos.logback.classic.LoggerContext].cancelScheduledTasks()"
    - "[ch.qos.logback.classic.LoggerContext].fireOnReset()"
    - "[ch.qos.logback.classic.LoggerContext].resetListenersExceptResetResistant()"
    - "[ch.qos.logback.classic.LoggerContext].resetStatusListenersExceptResetResistant()"
    functionUses: 6
    ICount: 15
    EdgeCount: 9
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:360,1"
      Dst: "[ch.qos.logback.core.ContextBase].reset()"
    - Src: "ch.qos.logback.classic.LoggerContext:361,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].initEvaluatorMap()"
    - Src: "ch.qos.logback.classic.LoggerContext:362,1"
      Dst: "[ch.qos.logback.core.ContextBase].initCollisionMaps()"
    - Src: "ch.qos.logback.classic.LoggerContext:363,1"
      Dst: "[ch.qos.logback.classic.Logger].recursiveReset()"
    - Src: "ch.qos.logback.classic.LoggerContext:364,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].resetTurboFilterList()"
    - Src: "ch.qos.logback.classic.LoggerContext:365,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].cancelScheduledTasks()"
    - Src: "ch.qos.logback.classic.LoggerContext:366,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].fireOnReset()"
    - Src: "ch.qos.logback.classic.LoggerContext:367,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].resetListenersExceptResetResistant()"
    - Src: "ch.qos.logback.classic.LoggerContext:368,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].resetStatusListenersExceptResetResistant()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.StatusUtil].hasXMLParsingErrors(long)"
    functionSourceFile: "ch.qos.logback.core.status.StatusUtil"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusUtil].containsMatch(long,int,java.lang.String)"
    functionUses: 3
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.StatusUtil:85,1"
      Dst: "[ch.qos.logback.core.status.StatusUtil].containsMatch(long,int,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ReconfigureOnChangeTask].fallbackConfiguration(ch.qos.logback.classic.LoggerContext,ch.qos.logback.core.model.Model,java.net.URL)"
    functionSourceFile: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask"
    linkageType: null
    functionLinenumber: 113
    functionDepth: 6
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.classic.LoggerContext"
    - "ch.qos.logback.core.model.Model"
    - "java.net.URL"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator].<init>()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].getConfigurationWatchList(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].buildClone()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.classic.LoggerContext].reset()"
    - "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].registerConfigurationWatchList(ch.qos.logback.core.Context,ch.qos.logback.core.joran.spi.ConfigurationWatchList)"
    - "[ch.qos.logback.core.model.ModelUtil].resetForReuse(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.joran.GenericXMLConfigurator].processModel(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.joran.GenericXMLConfigurator].registerSafeConfiguration(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.ContextBase].fireConfigurationEvent(ch.qos.logback.core.spi.ConfigurationEvent)"
    - "[ch.qos.logback.core.spi.ConfigurationEvent].newConfigurationEndedEvent(java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.Context].fireConfigurationEvent(ch.qos.logback.core.spi.ConfigurationEvent)"
    functionUses: 2
    ICount: 32
    EdgeCount: 17
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:119"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:123"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:122"
        BranchSideFuncs:
        - "registerSafeConfiguration(ch.qos.logback.core.model.Model)"
        - "addWarn(java.lang.String)"
        - "registerConfigurationWatchList(ch.qos.logback.core.Context,ch.qos.logback.core.joran.spi.ConfigurationWatchList)"
        - "addError(java.lang.String,java.lang.Throwable)"
        - "resetForReuse(ch.qos.logback.core.model.Model)"
        - "newConfigurationEndedEvent(java.lang.Object)"
        - "reset()"
        - "fireConfigurationEvent(ch.qos.logback.core.spi.ConfigurationEvent)"
        - "processModel(ch.qos.logback.core.model.Model)"
        - "addInfo(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:114,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator].<init>()"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:115,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:116,1"
      Dst: "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].getConfigurationWatchList(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:117,1"
      Dst: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].buildClone()"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:120,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:124,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:124,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:126,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].reset()"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:127,1"
      Dst: "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].registerConfigurationWatchList(ch.qos.logback.core.Context,ch.qos.logback.core.joran.spi.ConfigurationWatchList)"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:128,1"
      Dst: "[ch.qos.logback.core.model.ModelUtil].resetForReuse(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:129,1"
      Dst: "[ch.qos.logback.core.joran.GenericXMLConfigurator].processModel(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:131,1"
      Dst: "[ch.qos.logback.core.joran.GenericXMLConfigurator].registerSafeConfiguration(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:132,1"
      Dst: "[ch.qos.logback.core.spi.ConfigurationEvent].newConfigurationEndedEvent(java.lang.Object)"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:132,1"
      Dst: "[ch.qos.logback.core.Context].fireConfigurationEvent(ch.qos.logback.core.spi.ConfigurationEvent)"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:135,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].buildClone()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ConfigurationWatchList"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 2
    returnType: "ch.qos.logback.core.joran.spi.ConfigurationWatchList"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].<init>()"
    - "[java.util.ArrayList].<init>(java.util.Collection)"
    functionUses: 1
    ICount: 14
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:34,1"
      Dst: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].<init>()"
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:36,1"
      Dst: "[java.util.ArrayList].<init>(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].registerConfigurationWatchList(ch.qos.logback.core.Context,ch.qos.logback.core.joran.spi.ConfigurationWatchList)"
    functionSourceFile: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil"
    linkageType: null
    functionLinenumber: 36
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.joran.spi.ConfigurationWatchList"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].putObject(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.Context].putObject(java.lang.String,java.lang.Object)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:37,1"
      Dst: "[ch.qos.logback.core.Context].putObject(java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ModelUtil].resetForReuse(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.ModelUtil"
    linkageType: null
    functionLinenumber: 13
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].resetForReuse()"
    functionUses: 3
    ICount: 5
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.ModelUtil:14"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.ModelUtil:16"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.ModelUtil:15"
        BranchSideFuncs:
        - "resetForReuse()"
    Callsites:
    - Src: "ch.qos.logback.core.model.ModelUtil:16,1"
      Dst: "[ch.qos.logback.core.model.Model].resetForReuse()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ConfigurationEvent].newConfigurationEndedEvent(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.spi.ConfigurationEvent"
    linkageType: null
    functionLinenumber: 64
    functionDepth: 1
    returnType: "ch.qos.logback.core.spi.ConfigurationEvent"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ConfigurationEvent].<init>(ch.qos.logback.core.spi.ConfigurationEvent$EventType,java.lang.Object)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ConfigurationEvent:65,1"
      Dst: "[ch.qos.logback.core.spi.ConfigurationEvent].<init>(ch.qos.logback.core.spi.ConfigurationEvent$EventType,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 74
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 96
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 7
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:97,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:97,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:97,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ReconfigureOnChangeTask].cancelFutureInvocationsOfThisTaskInstance()"
    functionSourceFile: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask"
    linkageType: null
    functionLinenumber: 82
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.classic.joran.ReconfigureOnChangeTask].toString()"
    - "[java.util.concurrent.Future].cancel(boolean)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 8
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:84"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:87"
        BranchSideFuncs:
        - "toString()"
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:86"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:83,1"
      Dst: "[java.util.concurrent.Future].cancel(boolean)"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:85,1"
      Dst: "[ch.qos.logback.classic.joran.ReconfigureOnChangeTask].toString()"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:85,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.joran.ReconfigureOnChangeTask].performXMLConfiguration(ch.qos.logback.classic.LoggerContext,java.net.URL)"
    functionSourceFile: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask"
    linkageType: null
    functionLinenumber: 89
    functionDepth: 7
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.classic.LoggerContext"
    - "java.net.URL"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator].<init>()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.status.StatusUtil].<init>(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.joran.GenericXMLConfigurator].recallSafeConfiguration()"
    - "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].getMainWatchURL(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.classic.LoggerContext].reset()"
    - "[ch.qos.logback.core.joran.GenericXMLConfigurator].doConfigure(java.net.URL)"
    - "[ch.qos.logback.core.status.StatusUtil].hasXMLParsingErrors(long)"
    - "[ch.qos.logback.classic.joran.ReconfigureOnChangeTask].fallbackConfiguration(ch.qos.logback.classic.LoggerContext,ch.qos.logback.core.model.Model,java.net.URL)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String,java.lang.Throwable)"
    - "[java.lang.System].currentTimeMillis()"
    functionUses: 1
    ICount: 24
    EdgeCount: 11
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:100"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:106"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:105"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:90,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator].<init>()"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:91,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:92,1"
      Dst: "[ch.qos.logback.core.status.StatusUtil].<init>(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:93,1"
      Dst: "[ch.qos.logback.core.joran.GenericXMLConfigurator].recallSafeConfiguration()"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:94,1"
      Dst: "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].getMainWatchURL(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:95,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].reset()"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:96,1"
      Dst: "[java.lang.System].currentTimeMillis()"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:98,1"
      Dst: "[ch.qos.logback.core.joran.GenericXMLConfigurator].doConfigure(java.net.URL)"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:100,1"
      Dst: "[ch.qos.logback.core.status.StatusUtil].hasXMLParsingErrors(long)"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:101,1"
      Dst: "[ch.qos.logback.classic.joran.ReconfigureOnChangeTask].fallbackConfiguration(ch.qos.logback.classic.LoggerContext,ch.qos.logback.core.model.Model,java.net.URL)"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:104,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.joran.ReconfigureOnChangeTask].fallbackConfiguration(ch.qos.logback.classic.LoggerContext,ch.qos.logback.core.model.Model,java.net.URL)"
    functionSourceFile: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask"
    linkageType: null
    functionLinenumber: 113
    functionDepth: 6
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.classic.LoggerContext"
    - "ch.qos.logback.core.model.Model"
    - "java.net.URL"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator].<init>()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].getConfigurationWatchList(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].buildClone()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.classic.LoggerContext].reset()"
    - "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].registerConfigurationWatchList(ch.qos.logback.core.Context,ch.qos.logback.core.joran.spi.ConfigurationWatchList)"
    - "[ch.qos.logback.core.model.ModelUtil].resetForReuse(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.joran.GenericXMLConfigurator].processModel(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.joran.GenericXMLConfigurator].registerSafeConfiguration(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.ContextBase].fireConfigurationEvent(ch.qos.logback.core.spi.ConfigurationEvent)"
    - "[ch.qos.logback.core.spi.ConfigurationEvent].newConfigurationEndedEvent(java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.Context].fireConfigurationEvent(ch.qos.logback.core.spi.ConfigurationEvent)"
    functionUses: 2
    ICount: 32
    EdgeCount: 17
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:119"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:123"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:122"
        BranchSideFuncs:
        - "registerSafeConfiguration(ch.qos.logback.core.model.Model)"
        - "addWarn(java.lang.String)"
        - "registerConfigurationWatchList(ch.qos.logback.core.Context,ch.qos.logback.core.joran.spi.ConfigurationWatchList)"
        - "addError(java.lang.String,java.lang.Throwable)"
        - "resetForReuse(ch.qos.logback.core.model.Model)"
        - "newConfigurationEndedEvent(java.lang.Object)"
        - "reset()"
        - "fireConfigurationEvent(ch.qos.logback.core.spi.ConfigurationEvent)"
        - "processModel(ch.qos.logback.core.model.Model)"
        - "addInfo(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:114,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator].<init>()"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:115,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:116,1"
      Dst: "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].getConfigurationWatchList(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:117,1"
      Dst: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].buildClone()"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:120,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:124,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:124,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:126,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].reset()"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:127,1"
      Dst: "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].registerConfigurationWatchList(ch.qos.logback.core.Context,ch.qos.logback.core.joran.spi.ConfigurationWatchList)"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:128,1"
      Dst: "[ch.qos.logback.core.model.ModelUtil].resetForReuse(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:129,1"
      Dst: "[ch.qos.logback.core.joran.GenericXMLConfigurator].processModel(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:131,1"
      Dst: "[ch.qos.logback.core.joran.GenericXMLConfigurator].registerSafeConfiguration(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:132,1"
      Dst: "[ch.qos.logback.core.spi.ConfigurationEvent].newConfigurationEndedEvent(java.lang.Object)"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:132,1"
      Dst: "[ch.qos.logback.core.Context].fireConfigurationEvent(ch.qos.logback.core.spi.ConfigurationEvent)"
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:135,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ReconfigureOnChangeTask].toString()"
    functionSourceFile: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask"
    linkageType: null
    functionLinenumber: 141
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(long)"
    functionUses: 4
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask:142,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ReconfigureOnChangeTask].setScheduredFuture(java.util.concurrent.ScheduledFuture)"
    functionSourceFile: "ch.qos.logback.classic.joran.ReconfigureOnChangeTask"
    linkageType: null
    functionLinenumber: 146
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.concurrent.ScheduledFuture"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].<init>(java.lang.String,ch.qos.logback.classic.Logger,ch.qos.logback.classic.LoggerContext)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "ch.qos.logback.classic.Logger"
    - "ch.qos.logback.classic.LoggerContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 2
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:105,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].getEffectiveLevel()"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 111
    functionDepth: 2
    returnType: "ch.qos.logback.classic.Level"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Level].toLevel(int)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:112,1"
      Dst: "[ch.qos.logback.classic.Level].toLevel(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].getEffectiveLevelInt()"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].getLevel()"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 119
    functionDepth: 0
    returnType: "ch.qos.logback.classic.Level"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].getName()"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 123
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 6
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].isRootLogger()"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 128
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:129"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:128"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].getChildByName(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 132
    functionDepth: 1
    returnType: "ch.qos.logback.classic.Logger"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.util.COWArrayList].get(int)"
    - "[ch.qos.logback.classic.Logger].getName()"
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 1
    ICount: 19
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:133"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:136"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:135"
        BranchSideFuncs:
        - "size()"
    - Branch String: "ch.qos.logback.classic.Logger:137"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:146"
        BranchSideFuncs:
        - "getName()"
        - "get(int)"
      - BranchSide: "ch.qos.logback.classic.Logger:145"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:141"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:136"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:135"
        BranchSideFuncs:
        - "size()"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:136,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.classic.Logger:138,1"
      Dst: "[java.util.List].get(int)"
    - Src: "ch.qos.logback.classic.Logger:139,1"
      Dst: "[ch.qos.logback.classic.Logger].getName()"
    - Src: "ch.qos.logback.classic.Logger:141,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].setLevel(ch.qos.logback.classic.Level)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 150
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.Level"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].isRootLogger()"
    - "[ch.qos.logback.classic.Logger].getEffectiveLevel()"
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.util.COWArrayList].get(int)"
    - "[ch.qos.logback.classic.Logger].handleParentLevelChange(int)"
    - "[ch.qos.logback.classic.LoggerContext].fireOnLevelChange(ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    functionUses: 6
    ICount: 37
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:151"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:154"
        BranchSideFuncs:
        - "isRootLogger()"
    - Branch String: "ch.qos.logback.classic.Logger:155"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:159"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:158"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:155"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:159"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:158"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:160"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:164"
        BranchSideFuncs:
        - "getEffectiveLevel()"
      - BranchSide: "ch.qos.logback.classic.Logger:163"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:167"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:176"
        BranchSideFuncs:
        - "size()"
      - BranchSide: "ch.qos.logback.classic.Logger:175"
        BranchSideFuncs:
        - "fireOnLevelChange(ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level)"
    - Branch String: "ch.qos.logback.classic.Logger:169"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:175"
        BranchSideFuncs:
        - "fireOnLevelChange(ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level)"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:155,1"
      Dst: "[ch.qos.logback.classic.Logger].isRootLogger()"
    - Src: "ch.qos.logback.classic.Logger:156,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.classic.Logger:162,1"
      Dst: "[ch.qos.logback.classic.Logger].getEffectiveLevel()"
    - Src: "ch.qos.logback.classic.Logger:168,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.classic.Logger:170,1"
      Dst: "[java.util.List].get(int)"
    - Src: "ch.qos.logback.classic.Logger:172,1"
      Dst: "[ch.qos.logback.classic.Logger].handleParentLevelChange(int)"
    - Src: "ch.qos.logback.classic.Logger:176,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].fireOnLevelChange(ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 13
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.classic.Logger].handleParentLevelChange(int)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 187
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.util.COWArrayList].get(int)"
    - "[ch.qos.logback.classic.Logger].handleParentLevelChange(int)"
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    functionUses: 2
    ICount: 18
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:188"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:200"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:199"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:192"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:200"
        BranchSideFuncs:
        - "size()"
      - BranchSide: "ch.qos.logback.classic.Logger:199"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:194"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:199"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:193,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.classic.Logger:195,1"
      Dst: "[java.util.List].get(int)"
    - Src: "ch.qos.logback.classic.Logger:196,1"
      Dst: "[ch.qos.logback.classic.Logger].handleParentLevelChange(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.classic.Logger].detachAndStopAllAppenders()"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 207
    functionDepth: 3
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.AppenderAttachableImpl].detachAndStopAllAppenders()"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:208"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:211"
        BranchSideFuncs:
        - "detachAndStopAllAppenders()"
      - BranchSide: "ch.qos.logback.classic.Logger:210"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:209,1"
      Dst: "[ch.qos.logback.core.spi.AppenderAttachableImpl].detachAndStopAllAppenders()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].detachAppender(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.AppenderAttachableImpl].detachAppender(java.lang.String)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:214"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:217"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:216"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:217,1"
      Dst: "[ch.qos.logback.core.spi.AppenderAttachableImpl].detachAppender(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.AppenderAttachableImpl].detachAppender(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.AppenderAttachableImpl"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 3
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].asTypedArray()"
    - "[ch.qos.logback.core.Appender].getName()"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[ch.qos.logback.core.util.COWArrayList].remove(java.lang.Object)"
    functionUses: 0
    ICount: 21
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.AppenderAttachableImpl:129"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:132"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:131"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.AppenderAttachableImpl:133"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:139"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:138"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.AppenderAttachableImpl:134"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:132"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:131"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:133,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].asTypedArray()"
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:134,1"
      Dst: "[ch.qos.logback.core.Appender].getName()"
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:134,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:135,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].remove(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.Logger].addAppender(ch.qos.logback.core.Appender)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 222
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Appender"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.AppenderAttachableImpl].<init>()"
    - "[ch.qos.logback.core.spi.AppenderAttachableImpl].addAppender(ch.qos.logback.core.Appender)"
    functionUses: 3
    ICount: 10
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:223"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:226"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "ch.qos.logback.classic.Logger:225"
        BranchSideFuncs:
        - "addAppender(ch.qos.logback.core.Appender)"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:224,1"
      Dst: "[ch.qos.logback.core.spi.AppenderAttachableImpl].<init>()"
    - Src: "ch.qos.logback.classic.Logger:226,1"
      Dst: "[ch.qos.logback.core.spi.AppenderAttachableImpl].addAppender(ch.qos.logback.core.Appender)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].isAttached(ch.qos.logback.core.Appender)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Appender"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.AppenderAttachableImpl].isAttached(ch.qos.logback.core.Appender)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:230"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:233"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:232"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:233,1"
      Dst: "[ch.qos.logback.core.spi.AppenderAttachableImpl].isAttached(ch.qos.logback.core.Appender)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.AppenderAttachableImpl].isAttached(ch.qos.logback.core.Appender)"
    functionSourceFile: "ch.qos.logback.core.spi.AppenderAttachableImpl"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Appender"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.AppenderAttachableImpl:92"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:95"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:94"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.AppenderAttachableImpl:95"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:99"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:98"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.AppenderAttachableImpl:96"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:98"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:97"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:95,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:95,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:95,1"
      Dst: "[java.util.Iterator].next()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].iteratorForAppenders()"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "java.util.Iterator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.List].iterator()"
    - "[ch.qos.logback.core.spi.AppenderAttachableImpl].iteratorForAppenders()"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:238"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:241"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:240"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:239,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.classic.Logger:241,1"
      Dst: "[ch.qos.logback.core.spi.AppenderAttachableImpl].iteratorForAppenders()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.AppenderAttachableImpl].iteratorForAppenders()"
    functionSourceFile: "ch.qos.logback.core.spi.AppenderAttachableImpl"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.Iterator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:64,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].iterator()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].getAppender(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.core.Appender"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.AppenderAttachableImpl].getAppender(java.lang.String)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:245"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:248"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:247"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:248,1"
      Dst: "[ch.qos.logback.core.spi.AppenderAttachableImpl].getAppender(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.AppenderAttachableImpl].getAppender(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.AppenderAttachableImpl"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.Appender"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[ch.qos.logback.core.Appender].getName()"
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.AppenderAttachableImpl:74"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:77"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:76"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.AppenderAttachableImpl:77"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:82"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:81"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.AppenderAttachableImpl:78"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:81"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:80"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:77,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:77,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:77,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:78,1"
      Dst: "[ch.qos.logback.core.Appender].getName()"
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:78,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].callAppenders(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 256
    functionDepth: 5
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].appendLoopOnAppenders(ch.qos.logback.classic.spi.ILoggingEvent)"
    - "[ch.qos.logback.classic.LoggerContext].noAppenderDefinedWarning(ch.qos.logback.classic.Logger)"
    functionUses: 4
    ICount: 16
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:258"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:265"
        BranchSideFuncs:
        - "appendLoopOnAppenders(ch.qos.logback.classic.spi.ILoggingEvent)"
      - BranchSide: "ch.qos.logback.classic.Logger:264"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:260"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:257"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:256"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:265"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:268"
        BranchSideFuncs:
        - "noAppenderDefinedWarning(ch.qos.logback.classic.Logger)"
      - BranchSide: "ch.qos.logback.classic.Logger:267"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:259,1"
      Dst: "[ch.qos.logback.classic.Logger].appendLoopOnAppenders(ch.qos.logback.classic.spi.ILoggingEvent)"
    - Src: "ch.qos.logback.classic.Logger:266,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].noAppenderDefinedWarning(ch.qos.logback.classic.Logger)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.classic.Logger].appendLoopOnAppenders(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 270
    functionDepth: 4
    returnType: "int"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.AppenderAttachableImpl].appendLoopOnAppenders(java.lang.Object)"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:271"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:274"
        BranchSideFuncs:
        - "appendLoopOnAppenders(java.lang.Object)"
      - BranchSide: "ch.qos.logback.classic.Logger:273"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:272,1"
      Dst: "[ch.qos.logback.core.spi.AppenderAttachableImpl].appendLoopOnAppenders(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].detachAppender(ch.qos.logback.core.Appender)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 3
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Appender"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.AppenderAttachableImpl].detachAppender(ch.qos.logback.core.Appender)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:282"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:285"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:284"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:285,1"
      Dst: "[ch.qos.logback.core.spi.AppenderAttachableImpl].detachAppender(ch.qos.logback.core.Appender)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.AppenderAttachableImpl].detachAppender(ch.qos.logback.core.Appender)"
    functionSourceFile: "ch.qos.logback.core.spi.AppenderAttachableImpl"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Appender"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].remove(java.lang.Object)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.AppenderAttachableImpl:116"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:120"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.AppenderAttachableImpl:119"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.AppenderAttachableImpl:120,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].remove(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].createChildByLastNamePart(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.classic.Logger"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.util.LoggerNameUtil].getFirstSeparatorIndexOf(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.util.concurrent.CopyOnWriteArrayList].<init>()"
    - "[ch.qos.logback.classic.Logger].isRootLogger()"
    - "[ch.qos.logback.classic.Logger].<init>(java.lang.String,ch.qos.logback.classic.Logger,ch.qos.logback.classic.LoggerContext)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 0
    ICount: 32
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:304"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:309"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:308"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:309"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:313"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:312"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:313"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:316"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:315"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:303,1"
      Dst: "[ch.qos.logback.classic.util.LoggerNameUtil].getFirstSeparatorIndexOf(java.lang.String)"
    - Src: "ch.qos.logback.classic.Logger:305,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.Logger:305,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.classic.Logger:310,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].<init>()"
    - Src: "ch.qos.logback.classic.Logger:313,1"
      Dst: "[ch.qos.logback.classic.Logger].isRootLogger()"
    - Src: "ch.qos.logback.classic.Logger:314,1"
      Dst: "[ch.qos.logback.classic.Logger].<init>(java.lang.String,ch.qos.logback.classic.Logger,ch.qos.logback.classic.LoggerContext)"
    - Src: "ch.qos.logback.classic.Logger:316,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.classic.Logger:318,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.util.LoggerNameUtil].getFirstSeparatorIndexOf(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.util.LoggerNameUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "int"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.util.LoggerNameUtil].getSeparatorIndexOf(java.lang.String,int)"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LoggerNameUtil:27,1"
      Dst: "[ch.qos.logback.classic.util.LoggerNameUtil].getSeparatorIndexOf(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].isRootLogger()"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 128
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:129"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:128"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].<init>(java.lang.String,ch.qos.logback.classic.Logger,ch.qos.logback.classic.LoggerContext)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "ch.qos.logback.classic.Logger"
    - "ch.qos.logback.classic.LoggerContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 2
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:105,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].localLevelReset()"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 323
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].isRootLogger()"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:325"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:328"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:327"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:325,1"
      Dst: "[ch.qos.logback.classic.Logger].isRootLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].recursiveReset()"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 332
    functionDepth: 4
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].detachAndStopAllAppenders()"
    - "[ch.qos.logback.classic.Logger].localLevelReset()"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.classic.Logger].recursiveReset()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    functionUses: 2
    ICount: 16
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:336"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:339"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:338"
        BranchSideFuncs:
        - "iterator()"
    - Branch String: "ch.qos.logback.classic.Logger:339"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:342"
        BranchSideFuncs:
        - "iterator()"
        - "recursiveReset()"
      - BranchSide: "ch.qos.logback.classic.Logger:341"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:333,1"
      Dst: "[ch.qos.logback.classic.Logger].detachAndStopAllAppenders()"
    - Src: "ch.qos.logback.classic.Logger:334,1"
      Dst: "[ch.qos.logback.classic.Logger].localLevelReset()"
    - Src: "ch.qos.logback.classic.Logger:339,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.classic.Logger:339,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.classic.Logger:339,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.classic.Logger:340,1"
      Dst: "[ch.qos.logback.classic.Logger].recursiveReset()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].createChildByName(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 349
    functionDepth: 1
    returnType: "ch.qos.logback.classic.Logger"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.util.LoggerNameUtil].getSeparatorIndexOf(java.lang.String,int)"
    - "[ch.qos.logback.classic.Logger].<init>(java.lang.String,ch.qos.logback.classic.Logger,ch.qos.logback.classic.LoggerContext)"
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.lang.String].length()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,int)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.util.concurrent.CopyOnWriteArrayList].<init>()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 29
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:351"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:356"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:355"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:356"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:360"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:359"
        BranchSideFuncs:
        - "add(java.lang.Object)"
        - "<init>(java.lang.String,ch.qos.logback.classic.Logger,ch.qos.logback.classic.LoggerContext)"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:350,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.classic.Logger:350,1"
      Dst: "[ch.qos.logback.classic.util.LoggerNameUtil].getSeparatorIndexOf(java.lang.String,int)"
    - Src: "ch.qos.logback.classic.Logger:353,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,int)"
    - Src: "ch.qos.logback.classic.Logger:353,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.classic.Logger:357,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].<init>()"
    - Src: "ch.qos.logback.classic.Logger:360,1"
      Dst: "[ch.qos.logback.classic.Logger].<init>(java.lang.String,ch.qos.logback.classic.Logger,ch.qos.logback.classic.LoggerContext)"
    - Src: "ch.qos.logback.classic.Logger:361,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 374
    functionDepth: 10
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 5
    ICount: 20
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:378"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:382"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:381"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:379"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Branch String: "ch.qos.logback.classic.Logger:382"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:375,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.Logger:386,1"
      Dst: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].filterAndLog_1(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 391
    functionDepth: 10
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_1(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 1
    ICount: 22
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:394"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:398"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:397"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:395"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:402"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:401"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Branch String: "ch.qos.logback.classic.Logger:398"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:402"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:401"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:392,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_1(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.Logger:402,1"
      Dst: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_1(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 266
    functionDepth: 1
    returnType: "ch.qos.logback.core.spi.FilterReply"
    argCount: 6
    argTypes:
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Logger"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.TurboFilterList].getTurboFilterChainDecision(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[java.util.concurrent.CopyOnWriteArrayList].size()"
    functionUses: 1
    ICount: 17
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.LoggerContext:267"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:270"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:269"
        BranchSideFuncs:
        - "getTurboFilterChainDecision(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:267,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].size()"
    - Src: "ch.qos.logback.classic.LoggerContext:270,1"
      Dst: "[ch.qos.logback.classic.spi.TurboFilterList].getTurboFilterChainDecision(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 423
    functionDepth: 9
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].<init>(java.lang.String,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Throwable,java.lang.Object[])"
    - "[ch.qos.logback.classic.spi.LoggingEvent].addMarker(org.slf4j.Marker)"
    - "[ch.qos.logback.classic.Logger].callAppenders(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 2
    ICount: 12
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:424,1"
      Dst: "[ch.qos.logback.classic.spi.LoggingEvent].<init>(java.lang.String,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Throwable,java.lang.Object[])"
    - Src: "ch.qos.logback.classic.Logger:425,1"
      Dst: "[ch.qos.logback.classic.spi.LoggingEvent].addMarker(org.slf4j.Marker)"
    - Src: "ch.qos.logback.classic.Logger:426,1"
      Dst: "[ch.qos.logback.classic.Logger].callAppenders(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].filterAndLog_2(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 10
    returnType: "void"
    argCount: 7
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Object"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_2(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 0
    ICount: 24
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:411"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:415"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:414"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:412"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:419"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:418"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:415"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:419"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:418"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:408,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_2(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.Logger:419,1"
      Dst: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_2(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.spi.FilterReply"
    argCount: 7
    argTypes:
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Logger"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Object"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.CopyOnWriteArrayList].size()"
    - "[ch.qos.logback.classic.spi.TurboFilterList].getTurboFilterChainDecision(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 0
    ICount: 19
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.LoggerContext:275"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:278"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:277"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:275,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].size()"
    - Src: "ch.qos.logback.classic.LoggerContext:278,1"
      Dst: "[ch.qos.logback.classic.spi.TurboFilterList].getTurboFilterChainDecision(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 423
    functionDepth: 9
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].<init>(java.lang.String,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Throwable,java.lang.Object[])"
    - "[ch.qos.logback.classic.spi.LoggingEvent].addMarker(org.slf4j.Marker)"
    - "[ch.qos.logback.classic.Logger].callAppenders(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 2
    ICount: 12
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:424,1"
      Dst: "[ch.qos.logback.classic.spi.LoggingEvent].<init>(java.lang.String,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Throwable,java.lang.Object[])"
    - Src: "ch.qos.logback.classic.Logger:425,1"
      Dst: "[ch.qos.logback.classic.spi.LoggingEvent].addMarker(org.slf4j.Marker)"
    - Src: "ch.qos.logback.classic.Logger:426,1"
      Dst: "[ch.qos.logback.classic.Logger].callAppenders(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 423
    functionDepth: 9
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].<init>(java.lang.String,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Throwable,java.lang.Object[])"
    - "[ch.qos.logback.classic.spi.LoggingEvent].addMarker(org.slf4j.Marker)"
    - "[ch.qos.logback.classic.Logger].callAppenders(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 2
    ICount: 12
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:424,1"
      Dst: "[ch.qos.logback.classic.spi.LoggingEvent].<init>(java.lang.String,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Throwable,java.lang.Object[])"
    - Src: "ch.qos.logback.classic.Logger:425,1"
      Dst: "[ch.qos.logback.classic.spi.LoggingEvent].addMarker(org.slf4j.Marker)"
    - Src: "ch.qos.logback.classic.Logger:426,1"
      Dst: "[ch.qos.logback.classic.Logger].callAppenders(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].trace(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 11
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:430,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 374
    functionDepth: 10
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 5
    ICount: 20
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:378"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:382"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:381"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:379"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Branch String: "ch.qos.logback.classic.Logger:382"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:375,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.Logger:386,1"
      Dst: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].trace(java.lang.String,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 11
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_1(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:434,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_1(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].filterAndLog_1(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 391
    functionDepth: 10
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_1(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 1
    ICount: 22
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:394"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:398"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:397"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:395"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:402"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:401"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Branch String: "ch.qos.logback.classic.Logger:398"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:402"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:401"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:392,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_1(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.Logger:402,1"
      Dst: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].trace(java.lang.String,java.lang.Object,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 11
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_2(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:438,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_2(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].filterAndLog_2(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 10
    returnType: "void"
    argCount: 7
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Object"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_2(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 0
    ICount: 24
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:411"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:415"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:414"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:412"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:419"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:418"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:415"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:419"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:418"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:408,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_2(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.Logger:419,1"
      Dst: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].trace(java.lang.String,java.lang.Object[])"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 11
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:442,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 374
    functionDepth: 10
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 5
    ICount: 20
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:378"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:382"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:381"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:379"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Branch String: "ch.qos.logback.classic.Logger:382"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:375,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.Logger:386,1"
      Dst: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].trace(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 11
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:446,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 374
    functionDepth: 10
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 5
    ICount: 20
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:378"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:382"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:381"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:379"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Branch String: "ch.qos.logback.classic.Logger:382"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:375,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.Logger:386,1"
      Dst: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].trace(org.slf4j.Marker,java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 11
    returnType: "void"
    argCount: 2
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:450,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 374
    functionDepth: 10
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 5
    ICount: 20
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:378"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:382"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:381"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:379"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Branch String: "ch.qos.logback.classic.Logger:382"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:375,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.Logger:386,1"
      Dst: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].trace(org.slf4j.Marker,java.lang.String,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 11
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_1(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:454,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_1(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].filterAndLog_1(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 391
    functionDepth: 10
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_1(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 1
    ICount: 22
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:394"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:398"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:397"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:395"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:402"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:401"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Branch String: "ch.qos.logback.classic.Logger:398"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:402"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:401"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:392,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_1(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.Logger:402,1"
      Dst: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].trace(org.slf4j.Marker,java.lang.String,java.lang.Object,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 11
    returnType: "void"
    argCount: 4
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_2(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:458,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_2(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].filterAndLog_2(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 10
    returnType: "void"
    argCount: 7
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Object"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_2(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 0
    ICount: 24
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:411"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:415"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:414"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:412"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:419"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:418"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:415"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:419"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:418"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:408,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_2(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.Logger:419,1"
      Dst: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].trace(org.slf4j.Marker,java.lang.String,java.lang.Object[])"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 11
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:462,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 374
    functionDepth: 10
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 5
    ICount: 20
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:378"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:382"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:381"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:379"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Branch String: "ch.qos.logback.classic.Logger:382"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:375,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.Logger:386,1"
      Dst: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].trace(org.slf4j.Marker,java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 11
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:466,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 374
    functionDepth: 10
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 5
    ICount: 20
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:378"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:382"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:381"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:379"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Branch String: "ch.qos.logback.classic.Logger:382"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:375,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.Logger:386,1"
      Dst: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].isDebugEnabled()"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 469
    functionDepth: 4
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].isDebugEnabled(org.slf4j.Marker)"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:470,1"
      Dst: "[ch.qos.logback.classic.Logger].isDebugEnabled(org.slf4j.Marker)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].isDebugEnabled(org.slf4j.Marker)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 473
    functionDepth: 3
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "org.slf4j.Marker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].callTurboFilters(org.slf4j.Marker,ch.qos.logback.classic.Level)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.FilterReply)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 22
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:475"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:477"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:476"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:476"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:476"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:475"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:477"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:479"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:478"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:479"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:482"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:481"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:474,1"
      Dst: "[ch.qos.logback.classic.Logger].callTurboFilters(org.slf4j.Marker,ch.qos.logback.classic.Level)"
    - Src: "ch.qos.logback.classic.Logger:482,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.FilterReply)"
    - Src: "ch.qos.logback.classic.Logger:482,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].callTurboFilters(org.slf4j.Marker,ch.qos.logback.classic.Level)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 755
    functionDepth: 2
    returnType: "ch.qos.logback.core.spi.FilterReply"
    argCount: 2
    argTypes:
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 6
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:756,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].isDebugEnabled(org.slf4j.Marker)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 473
    functionDepth: 3
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "org.slf4j.Marker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].callTurboFilters(org.slf4j.Marker,ch.qos.logback.classic.Level)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.FilterReply)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 22
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:475"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:477"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:476"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:476"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:476"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:475"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:477"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:479"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:478"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:479"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:482"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:481"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:474,1"
      Dst: "[ch.qos.logback.classic.Logger].callTurboFilters(org.slf4j.Marker,ch.qos.logback.classic.Level)"
    - Src: "ch.qos.logback.classic.Logger:482,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.FilterReply)"
    - Src: "ch.qos.logback.classic.Logger:482,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].debug(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 486
    functionDepth: 11
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 2
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:487,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 374
    functionDepth: 10
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 5
    ICount: 20
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:378"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:382"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:381"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:379"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Branch String: "ch.qos.logback.classic.Logger:382"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:375,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.Logger:386,1"
      Dst: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].debug(java.lang.String,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 490
    functionDepth: 11
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_1(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionUses: 2
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:491,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_1(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].filterAndLog_1(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 391
    functionDepth: 10
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_1(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 1
    ICount: 22
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:394"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:398"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:397"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:395"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:402"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:401"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Branch String: "ch.qos.logback.classic.Logger:398"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:402"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:401"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:392,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_1(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.Logger:402,1"
      Dst: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].debug(java.lang.String,java.lang.Object,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 11
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_2(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:495,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_2(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].filterAndLog_2(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 10
    returnType: "void"
    argCount: 7
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Object"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_2(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 0
    ICount: 24
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:411"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:415"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:414"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:412"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:419"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:418"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:415"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:419"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:418"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:408,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_2(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.Logger:419,1"
      Dst: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].debug(java.lang.String,java.lang.Object[])"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 11
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:499,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 374
    functionDepth: 10
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 5
    ICount: 20
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:378"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:382"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:381"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:379"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Branch String: "ch.qos.logback.classic.Logger:382"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:375,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.Logger:386,1"
      Dst: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].debug(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 11
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:503,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 374
    functionDepth: 10
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 5
    ICount: 20
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:378"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:382"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:381"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:379"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Branch String: "ch.qos.logback.classic.Logger:382"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:375,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.Logger:386,1"
      Dst: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].debug(org.slf4j.Marker,java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 11
    returnType: "void"
    argCount: 2
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:507,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 374
    functionDepth: 10
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 5
    ICount: 20
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:378"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:382"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:381"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:379"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Branch String: "ch.qos.logback.classic.Logger:382"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:375,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.Logger:386,1"
      Dst: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].debug(org.slf4j.Marker,java.lang.String,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 11
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_1(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:511,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_1(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].filterAndLog_1(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 391
    functionDepth: 10
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_1(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 1
    ICount: 22
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:394"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:398"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:397"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:395"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:402"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:401"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Branch String: "ch.qos.logback.classic.Logger:398"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:402"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:401"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:392,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_1(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.Logger:402,1"
      Dst: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].debug(org.slf4j.Marker,java.lang.String,java.lang.Object,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 11
    returnType: "void"
    argCount: 4
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_2(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:515,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_2(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].filterAndLog_2(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 10
    returnType: "void"
    argCount: 7
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Object"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_2(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 0
    ICount: 24
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:411"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:415"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:414"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:412"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:419"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:418"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:415"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:419"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:418"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:408,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_2(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.Logger:419,1"
      Dst: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].debug(org.slf4j.Marker,java.lang.String,java.lang.Object[])"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 11
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:519,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 374
    functionDepth: 10
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 5
    ICount: 20
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:378"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:382"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:381"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:379"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Branch String: "ch.qos.logback.classic.Logger:382"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:375,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.Logger:386,1"
      Dst: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].debug(org.slf4j.Marker,java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 11
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:523,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 374
    functionDepth: 10
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 5
    ICount: 20
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:378"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:382"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:381"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:379"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Branch String: "ch.qos.logback.classic.Logger:382"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:375,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.Logger:386,1"
      Dst: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].error(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 526
    functionDepth: 11
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 2
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:527,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 374
    functionDepth: 10
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 5
    ICount: 20
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:378"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:382"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:381"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:379"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Branch String: "ch.qos.logback.classic.Logger:382"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:375,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.Logger:386,1"
      Dst: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].error(java.lang.String,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 11
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_1(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:531,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_1(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].filterAndLog_1(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 391
    functionDepth: 10
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_1(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 1
    ICount: 22
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:394"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:398"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:397"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:395"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:402"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:401"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Branch String: "ch.qos.logback.classic.Logger:398"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:402"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:401"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:392,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_1(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.Logger:402,1"
      Dst: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].error(java.lang.String,java.lang.Object,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 11
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_2(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:535,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_2(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].filterAndLog_2(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 10
    returnType: "void"
    argCount: 7
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Object"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_2(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 0
    ICount: 24
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:411"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:415"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:414"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:412"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:419"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:418"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:415"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:419"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:418"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:408,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_2(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.Logger:419,1"
      Dst: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].error(java.lang.String,java.lang.Object[])"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 11
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:539,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 374
    functionDepth: 10
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 5
    ICount: 20
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:378"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:382"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:381"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:379"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Branch String: "ch.qos.logback.classic.Logger:382"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:375,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.Logger:386,1"
      Dst: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].error(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 542
    functionDepth: 11
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 4
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:543,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].error(org.slf4j.Marker,java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 11
    returnType: "void"
    argCount: 2
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:547,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 374
    functionDepth: 10
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 5
    ICount: 20
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:378"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:382"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:381"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:379"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Branch String: "ch.qos.logback.classic.Logger:382"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:375,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.Logger:386,1"
      Dst: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].error(org.slf4j.Marker,java.lang.String,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 11
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_1(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:551,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_1(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].filterAndLog_1(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 391
    functionDepth: 10
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_1(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 1
    ICount: 22
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:394"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:398"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:397"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:395"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:402"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:401"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Branch String: "ch.qos.logback.classic.Logger:398"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:402"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:401"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:392,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_1(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.Logger:402,1"
      Dst: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].error(org.slf4j.Marker,java.lang.String,java.lang.Object,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 11
    returnType: "void"
    argCount: 4
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_2(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:555,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_2(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].filterAndLog_2(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 10
    returnType: "void"
    argCount: 7
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Object"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_2(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 0
    ICount: 24
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:411"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:415"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:414"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:412"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:419"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:418"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:415"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:419"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:418"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:408,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_2(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.Logger:419,1"
      Dst: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].error(org.slf4j.Marker,java.lang.String,java.lang.Object[])"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 11
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:559,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 374
    functionDepth: 10
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 5
    ICount: 20
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:378"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:382"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:381"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:379"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Branch String: "ch.qos.logback.classic.Logger:382"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:375,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.Logger:386,1"
      Dst: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].error(org.slf4j.Marker,java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 11
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:563,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 374
    functionDepth: 10
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 5
    ICount: 20
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:378"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:382"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:381"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:379"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Branch String: "ch.qos.logback.classic.Logger:382"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:375,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.Logger:386,1"
      Dst: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].isInfoEnabled()"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 566
    functionDepth: 4
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].isInfoEnabled(org.slf4j.Marker)"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:567,1"
      Dst: "[ch.qos.logback.classic.Logger].isInfoEnabled(org.slf4j.Marker)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].isInfoEnabled(org.slf4j.Marker)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 570
    functionDepth: 3
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "org.slf4j.Marker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].callTurboFilters(org.slf4j.Marker,ch.qos.logback.classic.Level)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.FilterReply)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 22
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:572"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:574"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:573"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:573"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:573"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:572"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:574"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:576"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:575"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:576"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:579"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:578"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:571,1"
      Dst: "[ch.qos.logback.classic.Logger].callTurboFilters(org.slf4j.Marker,ch.qos.logback.classic.Level)"
    - Src: "ch.qos.logback.classic.Logger:579,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.FilterReply)"
    - Src: "ch.qos.logback.classic.Logger:579,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].callTurboFilters(org.slf4j.Marker,ch.qos.logback.classic.Level)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 755
    functionDepth: 2
    returnType: "ch.qos.logback.core.spi.FilterReply"
    argCount: 2
    argTypes:
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 6
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:756,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].isInfoEnabled(org.slf4j.Marker)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 570
    functionDepth: 3
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "org.slf4j.Marker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].callTurboFilters(org.slf4j.Marker,ch.qos.logback.classic.Level)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.FilterReply)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 22
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:572"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:574"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:573"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:573"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:573"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:572"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:574"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:576"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:575"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:576"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:579"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:578"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:571,1"
      Dst: "[ch.qos.logback.classic.Logger].callTurboFilters(org.slf4j.Marker,ch.qos.logback.classic.Level)"
    - Src: "ch.qos.logback.classic.Logger:579,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.FilterReply)"
    - Src: "ch.qos.logback.classic.Logger:579,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].info(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 583
    functionDepth: 11
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 17
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:584,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].info(java.lang.String,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 11
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_1(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:588,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_1(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].filterAndLog_1(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 391
    functionDepth: 10
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_1(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 1
    ICount: 22
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:394"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:398"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:397"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:395"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:402"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:401"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Branch String: "ch.qos.logback.classic.Logger:398"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:402"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:401"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:392,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_1(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.Logger:402,1"
      Dst: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].info(java.lang.String,java.lang.Object,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 11
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_2(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:592,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_2(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].filterAndLog_2(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 10
    returnType: "void"
    argCount: 7
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Object"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_2(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 0
    ICount: 24
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:411"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:415"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:414"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:412"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:419"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:418"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:415"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:419"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:418"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:408,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_2(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.Logger:419,1"
      Dst: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].info(java.lang.String,java.lang.Object[])"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 11
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:596,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 374
    functionDepth: 10
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 5
    ICount: 20
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:378"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:382"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:381"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:379"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Branch String: "ch.qos.logback.classic.Logger:382"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:375,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.Logger:386,1"
      Dst: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].info(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 11
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:600,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 374
    functionDepth: 10
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 5
    ICount: 20
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:378"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:382"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:381"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:379"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Branch String: "ch.qos.logback.classic.Logger:382"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:375,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.Logger:386,1"
      Dst: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].info(org.slf4j.Marker,java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 11
    returnType: "void"
    argCount: 2
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:604,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 374
    functionDepth: 10
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 5
    ICount: 20
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:378"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:382"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:381"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:379"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Branch String: "ch.qos.logback.classic.Logger:382"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:375,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.Logger:386,1"
      Dst: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].info(org.slf4j.Marker,java.lang.String,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 11
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_1(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:608,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_1(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].filterAndLog_1(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 391
    functionDepth: 10
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_1(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 1
    ICount: 22
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:394"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:398"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:397"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:395"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:402"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:401"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Branch String: "ch.qos.logback.classic.Logger:398"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:402"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:401"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:392,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_1(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.Logger:402,1"
      Dst: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].info(org.slf4j.Marker,java.lang.String,java.lang.Object,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 11
    returnType: "void"
    argCount: 4
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_2(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:612,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_2(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].filterAndLog_2(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 10
    returnType: "void"
    argCount: 7
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Object"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_2(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 0
    ICount: 24
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:411"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:415"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:414"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:412"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:419"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:418"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:415"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:419"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:418"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:408,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_2(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.Logger:419,1"
      Dst: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].info(org.slf4j.Marker,java.lang.String,java.lang.Object[])"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 11
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:616,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 374
    functionDepth: 10
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 5
    ICount: 20
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:378"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:382"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:381"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:379"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Branch String: "ch.qos.logback.classic.Logger:382"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:375,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.Logger:386,1"
      Dst: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].info(org.slf4j.Marker,java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 11
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:620,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 374
    functionDepth: 10
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 5
    ICount: 20
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:378"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:382"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:381"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:379"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Branch String: "ch.qos.logback.classic.Logger:382"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:375,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.Logger:386,1"
      Dst: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].isTraceEnabled()"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 623
    functionDepth: 4
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].isTraceEnabled(org.slf4j.Marker)"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:624,1"
      Dst: "[ch.qos.logback.classic.Logger].isTraceEnabled(org.slf4j.Marker)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].isTraceEnabled(org.slf4j.Marker)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 627
    functionDepth: 3
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "org.slf4j.Marker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].callTurboFilters(org.slf4j.Marker,ch.qos.logback.classic.Level)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.FilterReply)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 22
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:629"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:631"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:630"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:630"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:630"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:629"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:631"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:633"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:632"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:633"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:636"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:635"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:628,1"
      Dst: "[ch.qos.logback.classic.Logger].callTurboFilters(org.slf4j.Marker,ch.qos.logback.classic.Level)"
    - Src: "ch.qos.logback.classic.Logger:636,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.FilterReply)"
    - Src: "ch.qos.logback.classic.Logger:636,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].callTurboFilters(org.slf4j.Marker,ch.qos.logback.classic.Level)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 755
    functionDepth: 2
    returnType: "ch.qos.logback.core.spi.FilterReply"
    argCount: 2
    argTypes:
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 6
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:756,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].isTraceEnabled(org.slf4j.Marker)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 627
    functionDepth: 3
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "org.slf4j.Marker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].callTurboFilters(org.slf4j.Marker,ch.qos.logback.classic.Level)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.FilterReply)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 22
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:629"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:631"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:630"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:630"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:630"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:629"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:631"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:633"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:632"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:633"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:636"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:635"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:628,1"
      Dst: "[ch.qos.logback.classic.Logger].callTurboFilters(org.slf4j.Marker,ch.qos.logback.classic.Level)"
    - Src: "ch.qos.logback.classic.Logger:636,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.FilterReply)"
    - Src: "ch.qos.logback.classic.Logger:636,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].isErrorEnabled()"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 640
    functionDepth: 4
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].isErrorEnabled(org.slf4j.Marker)"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:641,1"
      Dst: "[ch.qos.logback.classic.Logger].isErrorEnabled(org.slf4j.Marker)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].isErrorEnabled(org.slf4j.Marker)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 644
    functionDepth: 3
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "org.slf4j.Marker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].callTurboFilters(org.slf4j.Marker,ch.qos.logback.classic.Level)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.FilterReply)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 23
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:646"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:648"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:647"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:647"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:647"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:646"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:648"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:650"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:649"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:650"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:653"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:652"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:645,1"
      Dst: "[ch.qos.logback.classic.Logger].callTurboFilters(org.slf4j.Marker,ch.qos.logback.classic.Level)"
    - Src: "ch.qos.logback.classic.Logger:653,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.FilterReply)"
    - Src: "ch.qos.logback.classic.Logger:653,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].callTurboFilters(org.slf4j.Marker,ch.qos.logback.classic.Level)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 755
    functionDepth: 2
    returnType: "ch.qos.logback.core.spi.FilterReply"
    argCount: 2
    argTypes:
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 6
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:756,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].isErrorEnabled(org.slf4j.Marker)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 644
    functionDepth: 3
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "org.slf4j.Marker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].callTurboFilters(org.slf4j.Marker,ch.qos.logback.classic.Level)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.FilterReply)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 23
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:646"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:648"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:647"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:647"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:647"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:646"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:648"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:650"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:649"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:650"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:653"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:652"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:645,1"
      Dst: "[ch.qos.logback.classic.Logger].callTurboFilters(org.slf4j.Marker,ch.qos.logback.classic.Level)"
    - Src: "ch.qos.logback.classic.Logger:653,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.FilterReply)"
    - Src: "ch.qos.logback.classic.Logger:653,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].isWarnEnabled()"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 657
    functionDepth: 4
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].isWarnEnabled(org.slf4j.Marker)"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:658,1"
      Dst: "[ch.qos.logback.classic.Logger].isWarnEnabled(org.slf4j.Marker)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].isWarnEnabled(org.slf4j.Marker)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 661
    functionDepth: 3
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "org.slf4j.Marker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].callTurboFilters(org.slf4j.Marker,ch.qos.logback.classic.Level)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.FilterReply)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 22
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:663"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:665"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:664"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:664"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:664"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:663"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:665"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:667"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:666"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:667"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:670"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:669"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:662,1"
      Dst: "[ch.qos.logback.classic.Logger].callTurboFilters(org.slf4j.Marker,ch.qos.logback.classic.Level)"
    - Src: "ch.qos.logback.classic.Logger:670,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.FilterReply)"
    - Src: "ch.qos.logback.classic.Logger:670,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].callTurboFilters(org.slf4j.Marker,ch.qos.logback.classic.Level)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 755
    functionDepth: 2
    returnType: "ch.qos.logback.core.spi.FilterReply"
    argCount: 2
    argTypes:
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 6
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:756,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].isWarnEnabled(org.slf4j.Marker)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 661
    functionDepth: 3
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "org.slf4j.Marker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].callTurboFilters(org.slf4j.Marker,ch.qos.logback.classic.Level)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.FilterReply)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 22
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:663"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:665"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:664"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:664"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:664"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:663"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:665"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:667"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:666"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:667"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:670"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:669"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:662,1"
      Dst: "[ch.qos.logback.classic.Logger].callTurboFilters(org.slf4j.Marker,ch.qos.logback.classic.Level)"
    - Src: "ch.qos.logback.classic.Logger:670,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.FilterReply)"
    - Src: "ch.qos.logback.classic.Logger:670,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].isEnabledFor(org.slf4j.Marker,ch.qos.logback.classic.Level)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 675
    functionDepth: 3
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].callTurboFilters(org.slf4j.Marker,ch.qos.logback.classic.Level)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.FilterReply)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 23
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:677"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:679"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:678"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:678"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:678"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:677"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:679"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:681"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:680"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:681"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:684"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:683"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:676,1"
      Dst: "[ch.qos.logback.classic.Logger].callTurboFilters(org.slf4j.Marker,ch.qos.logback.classic.Level)"
    - Src: "ch.qos.logback.classic.Logger:684,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.FilterReply)"
    - Src: "ch.qos.logback.classic.Logger:684,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].isEnabledFor(ch.qos.logback.classic.Level)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 688
    functionDepth: 4
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.Level"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].isEnabledFor(org.slf4j.Marker,ch.qos.logback.classic.Level)"
    functionUses: 3
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:689,1"
      Dst: "[ch.qos.logback.classic.Logger].isEnabledFor(org.slf4j.Marker,ch.qos.logback.classic.Level)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].warn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 11
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:693,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 374
    functionDepth: 10
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 5
    ICount: 20
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:378"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:382"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:381"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:379"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Branch String: "ch.qos.logback.classic.Logger:382"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:375,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.Logger:386,1"
      Dst: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].warn(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 696
    functionDepth: 11
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:697,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].warn(java.lang.String,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 11
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_1(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:701,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_1(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].filterAndLog_1(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 391
    functionDepth: 10
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_1(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 1
    ICount: 22
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:394"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:398"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:397"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:395"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:402"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:401"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Branch String: "ch.qos.logback.classic.Logger:398"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:402"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:401"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:392,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_1(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.Logger:402,1"
      Dst: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].warn(java.lang.String,java.lang.Object,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 11
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_2(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:705,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_2(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].filterAndLog_2(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 10
    returnType: "void"
    argCount: 7
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Object"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_2(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 0
    ICount: 24
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:411"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:415"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:414"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:412"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:419"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:418"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:415"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:419"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:418"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:408,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_2(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.Logger:419,1"
      Dst: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].warn(java.lang.String,java.lang.Object[])"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 11
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:709,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 374
    functionDepth: 10
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 5
    ICount: 20
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:378"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:382"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:381"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:379"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Branch String: "ch.qos.logback.classic.Logger:382"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:375,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.Logger:386,1"
      Dst: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].warn(org.slf4j.Marker,java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 11
    returnType: "void"
    argCount: 2
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:713,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 374
    functionDepth: 10
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 5
    ICount: 20
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:378"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:382"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:381"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:379"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Branch String: "ch.qos.logback.classic.Logger:382"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:375,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.Logger:386,1"
      Dst: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].warn(org.slf4j.Marker,java.lang.String,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 11
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_1(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:717,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_1(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].filterAndLog_1(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 391
    functionDepth: 10
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_1(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 1
    ICount: 22
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:394"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:398"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:397"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:395"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:402"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:401"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Branch String: "ch.qos.logback.classic.Logger:398"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:402"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:401"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:392,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_1(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.Logger:402,1"
      Dst: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].warn(org.slf4j.Marker,java.lang.String,java.lang.Object[])"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 11
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:721,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 374
    functionDepth: 10
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 5
    ICount: 20
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:378"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:382"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:381"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:379"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Branch String: "ch.qos.logback.classic.Logger:382"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:375,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.Logger:386,1"
      Dst: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].warn(org.slf4j.Marker,java.lang.String,java.lang.Object,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 11
    returnType: "void"
    argCount: 4
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_2(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:725,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_2(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].filterAndLog_2(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 10
    returnType: "void"
    argCount: 7
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Object"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_2(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 0
    ICount: 24
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:411"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:415"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:414"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:412"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:419"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:418"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:415"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:419"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:418"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:408,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_2(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.Logger:419,1"
      Dst: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].warn(org.slf4j.Marker,java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 11
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:729,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 374
    functionDepth: 10
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 5
    ICount: 20
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:378"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:382"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:381"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:379"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Branch String: "ch.qos.logback.classic.Logger:382"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:375,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.Logger:386,1"
      Dst: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].isAdditive()"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].setAdditive(boolean)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 736
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].toString()"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 740
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 3
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:741,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].callTurboFilters(org.slf4j.Marker,ch.qos.logback.classic.Level)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 755
    functionDepth: 2
    returnType: "ch.qos.logback.core.spi.FilterReply"
    argCount: 2
    argTypes:
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 6
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:756,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].getLoggerContext()"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 764
    functionDepth: 0
    returnType: "ch.qos.logback.classic.LoggerContext"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].makeLoggingEventBuilder(org.slf4j.event.Level)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "org.slf4j.spi.LoggingEventBuilder"
    argCount: 1
    argTypes:
    - "org.slf4j.event.Level"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.spi.DefaultLoggingEventBuilder].<init>(org.slf4j.Logger,org.slf4j.event.Level)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:775,1"
      Dst: "[org.slf4j.spi.DefaultLoggingEventBuilder].<init>(org.slf4j.Logger,org.slf4j.event.Level)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.spi.DefaultLoggingEventBuilder].<init>(org.slf4j.Logger,org.slf4j.event.Level)"
    functionSourceFile: "org.slf4j.spi.DefaultLoggingEventBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "org.slf4j.Logger"
    - "org.slf4j.event.Level"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[org.slf4j.event.DefaultLoggingEvent].<init>(org.slf4j.event.Level,org.slf4j.Logger)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:49,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "org.slf4j.spi.DefaultLoggingEventBuilder:51,1"
      Dst: "[org.slf4j.event.DefaultLoggingEvent].<init>(org.slf4j.event.Level,org.slf4j.Logger)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.DefaultLoggingEvent].<init>(org.slf4j.event.Level,org.slf4j.Logger)"
    functionSourceFile: "org.slf4j.event.DefaultLoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "org.slf4j.event.Level"
    - "org.slf4j.Logger"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.event.DefaultLoggingEvent:33,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].log(org.slf4j.Marker,java.lang.String,int,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 11
    returnType: "void"
    argCount: 6
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "int"
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Level].fromLocationAwareLoggerInteger(int)"
    - "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:779,1"
      Dst: "[ch.qos.logback.classic.Level].fromLocationAwareLoggerInteger(int)"
    - Src: "ch.qos.logback.classic.Logger:780,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Level].fromLocationAwareLoggerInteger(int)"
    functionSourceFile: "ch.qos.logback.classic.Level"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.classic.Level"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 17
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Level:275,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - Src: "ch.qos.logback.classic.Level:275,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 374
    functionDepth: 10
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.String"
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 5
    ICount: 20
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:378"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:382"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:381"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:379"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Branch String: "ch.qos.logback.classic.Logger:382"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:386"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:385"
        BranchSideFuncs:
        - "buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:375,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.Logger:386,1"
      Dst: "[ch.qos.logback.classic.Logger].buildLoggingEventAndAppend(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Logger].log(org.slf4j.event.LoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 9
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.slf4j.event.LoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.event.LoggingEvent].getLevel()"
    - "[ch.qos.logback.classic.Level].convertAnSLF4JLevel(org.slf4j.event.Level)"
    - "[org.slf4j.event.LoggingEvent].getCallerBoundary()"
    - "[org.slf4j.event.LoggingEvent].getMessage()"
    - "[org.slf4j.event.LoggingEvent].getThrowable()"
    - "[org.slf4j.event.LoggingEvent].getArgumentArray()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].<init>(java.lang.String,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Throwable,java.lang.Object[])"
    - "[org.slf4j.event.LoggingEvent].getMarkers()"
    - "[ch.qos.logback.classic.Logger$lambda_log_0__102].bootstrap$(ch.qos.logback.classic.spi.LoggingEvent)"
    - "[java.lang.Iterable].forEach(java.util.function.Consumer)"
    - "[org.slf4j.event.LoggingEvent].getKeyValuePairs()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].setKeyValuePairs(java.util.List)"
    - "[ch.qos.logback.classic.Logger].callAppenders(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 0
    ICount: 21
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:800"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:804"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:803"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:808"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:812"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:811"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:791,1"
      Dst: "[org.slf4j.event.LoggingEvent].getLevel()"
    - Src: "ch.qos.logback.classic.Logger:792,1"
      Dst: "[ch.qos.logback.classic.Level].convertAnSLF4JLevel(org.slf4j.event.Level)"
    - Src: "ch.qos.logback.classic.Logger:799,1"
      Dst: "[org.slf4j.event.LoggingEvent].getCallerBoundary()"
    - Src: "ch.qos.logback.classic.Logger:804,1"
      Dst: "[org.slf4j.event.LoggingEvent].getMessage()"
    - Src: "ch.qos.logback.classic.Logger:805,1"
      Dst: "[org.slf4j.event.LoggingEvent].getThrowable()"
    - Src: "ch.qos.logback.classic.Logger:805,1"
      Dst: "[org.slf4j.event.LoggingEvent].getArgumentArray()"
    - Src: "ch.qos.logback.classic.Logger:805,1"
      Dst: "[ch.qos.logback.classic.spi.LoggingEvent].<init>(java.lang.String,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Throwable,java.lang.Object[])"
    - Src: "ch.qos.logback.classic.Logger:806,1"
      Dst: "[org.slf4j.event.LoggingEvent].getMarkers()"
    - Src: "ch.qos.logback.classic.Logger:809,1"
      Dst: "[ch.qos.logback.classic.Logger$lambda_log_0__102].bootstrap$(ch.qos.logback.classic.spi.LoggingEvent)"
    - Src: "ch.qos.logback.classic.Logger:809,1"
      Dst: "[java.lang.Iterable].forEach(java.util.function.Consumer)"
    - Src: "ch.qos.logback.classic.Logger:812,1"
      Dst: "[org.slf4j.event.LoggingEvent].getKeyValuePairs()"
    - Src: "ch.qos.logback.classic.Logger:812,1"
      Dst: "[ch.qos.logback.classic.spi.LoggingEvent].setKeyValuePairs(java.util.List)"
    - Src: "ch.qos.logback.classic.Logger:817,1"
      Dst: "[ch.qos.logback.classic.Logger].callAppenders(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.Level].convertAnSLF4JLevel(org.slf4j.event.Level)"
    functionSourceFile: "ch.qos.logback.classic.Level"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.classic.Level"
    argCount: 1
    argTypes:
    - "org.slf4j.event.Level"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.event.Level].toInt()"
    - "[ch.qos.logback.classic.Level].fromLocationAwareLoggerInteger(int)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Level:112,1"
      Dst: "[org.slf4j.event.Level].toInt()"
    - Src: "ch.qos.logback.classic.Level:113,1"
      Dst: "[ch.qos.logback.classic.Level].fromLocationAwareLoggerInteger(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.Level].toInt()"
    functionSourceFile: "org.slf4j.event.Level"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Level].fromLocationAwareLoggerInteger(int)"
    functionSourceFile: "ch.qos.logback.classic.Level"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.classic.Level"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 17
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Level:275,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - Src: "ch.qos.logback.classic.Level:275,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].<init>(java.lang.String,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Throwable,java.lang.Object[])"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: 120
    functionDepth: 8
    returnType: "void"
    argCount: 6
    argTypes:
    - "java.lang.String"
    - "ch.qos.logback.classic.Logger"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Throwable"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].getName()"
    - "[ch.qos.logback.classic.Logger].getLoggerContext()"
    - "[ch.qos.logback.classic.LoggerContext].getLoggerContextRemoteView()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].initTmestampFields(java.time.Instant)"
    - "[ch.qos.logback.classic.LoggerContext].getSequenceNumberGenerator()"
    - "[ch.qos.logback.core.spi.BasicSequenceNumberGenerator].nextSequenceNumber()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].extractThrowableAnRearrangeArguments(java.lang.Object[])"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].<init>(java.lang.Throwable)"
    - "[ch.qos.logback.classic.LoggerContext].isPackagingDataEnabled()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].calculatePackagingData()"
    - "[java.lang.Object].<init>()"
    - "[java.time.Clock].systemUTC()"
    - "[java.time.Clock].instant()"
    - "[ch.qos.logback.core.spi.SequenceNumberGenerator].nextSequenceNumber()"
    functionUses: 1
    ICount: 43
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:134"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:140"
        BranchSideFuncs:
        - "getSequenceNumberGenerator()"
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:139"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:136"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:140"
        BranchSideFuncs:
        - "nextSequenceNumber()"
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:139"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:140"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:144"
        BranchSideFuncs:
        - "extractThrowableAnRearrangeArguments(java.lang.Object[])"
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:143"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:144"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:151"
        BranchSideFuncs:
        - "isPackagingDataEnabled()"
        - "<init>(java.lang.Throwable)"
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:150"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:147"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:151"
        BranchSideFuncs:
        - "calculatePackagingData()"
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:150"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:147"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:151"
        BranchSideFuncs:
        - "calculatePackagingData()"
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:150"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:121,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:123,1"
      Dst: "[ch.qos.logback.classic.Logger].getName()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:124,1"
      Dst: "[ch.qos.logback.classic.Logger].getLoggerContext()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:125,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getLoggerContextRemoteView()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:131,1"
      Dst: "[java.time.Clock].systemUTC()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:131,1"
      Dst: "[java.time.Clock].instant()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:132,1"
      Dst: "[ch.qos.logback.classic.spi.LoggingEvent].initTmestampFields(java.time.Instant)"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:135,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getSequenceNumberGenerator()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:137,1"
      Dst: "[ch.qos.logback.core.spi.SequenceNumberGenerator].nextSequenceNumber()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:141,1"
      Dst: "[ch.qos.logback.classic.spi.LoggingEvent].extractThrowableAnRearrangeArguments(java.lang.Object[])"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:145,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxy].<init>(java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:147,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].isPackagingDataEnabled()"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:148,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxy].calculatePackagingData()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 7
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].setKeyValuePairs(java.util.List)"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].callAppenders(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 256
    functionDepth: 5
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].appendLoopOnAppenders(ch.qos.logback.classic.spi.ILoggingEvent)"
    - "[ch.qos.logback.classic.LoggerContext].noAppenderDefinedWarning(ch.qos.logback.classic.Logger)"
    functionUses: 4
    ICount: 16
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:258"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:265"
        BranchSideFuncs:
        - "appendLoopOnAppenders(ch.qos.logback.classic.spi.ILoggingEvent)"
      - BranchSide: "ch.qos.logback.classic.Logger:264"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:260"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:257"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:256"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:265"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:268"
        BranchSideFuncs:
        - "noAppenderDefinedWarning(ch.qos.logback.classic.Logger)"
      - BranchSide: "ch.qos.logback.classic.Logger:267"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:259,1"
      Dst: "[ch.qos.logback.classic.Logger].appendLoopOnAppenders(ch.qos.logback.classic.spi.ILoggingEvent)"
    - Src: "ch.qos.logback.classic.Logger:266,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].noAppenderDefinedWarning(ch.qos.logback.classic.Logger)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.classic.Logger].readResolve()"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].getName()"
    - "[org.slf4j.LoggerFactory].getLogger(java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:829,1"
      Dst: "[ch.qos.logback.classic.Logger].getName()"
    - Src: "ch.qos.logback.classic.Logger:829,1"
      Dst: "[org.slf4j.LoggerFactory].getLogger(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].getName()"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 123
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 6
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.LoggerFactory].getLogger(java.lang.String)"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 420
    functionDepth: 1
    returnType: "org.slf4j.Logger"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.LoggerFactory].getILoggerFactory()"
    - "[ch.qos.logback.classic.LoggerContext].getLogger(java.lang.String)"
    - "[org.slf4j.helpers.SubstituteLoggerFactory].getLogger(java.lang.String)"
    - "[org.slf4j.helpers.NOPLoggerFactory].getLogger(java.lang.String)"
    - "[org.slf4j.ILoggerFactory].getLogger(java.lang.String)"
    functionUses: 2
    ICount: 4
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.LoggerFactory:421,1"
      Dst: "[org.slf4j.LoggerFactory].getILoggerFactory()"
    - Src: "org.slf4j.LoggerFactory:422,1"
      Dst: "[org.slf4j.ILoggerFactory].getLogger(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].lambda$log$0(ch.qos.logback.classic.spi.LoggingEvent,org.slf4j.Marker)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.classic.spi.LoggingEvent"
    - "org.slf4j.Marker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].addMarker(org.slf4j.Marker)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:809,1"
      Dst: "[ch.qos.logback.classic.spi.LoggingEvent].addMarker(org.slf4j.Marker)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggingEvent].addMarker(org.slf4j.Marker)"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggingEvent"
    linkageType: null
    functionLinenumber: 419
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.slf4j.Marker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.util.ArrayList].<init>(int)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 12
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:420"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:423"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:422"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggingEvent:423"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:426"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggingEvent:425"
        BranchSideFuncs:
        - "add(java.lang.Object)"
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:424,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    - Src: "ch.qos.logback.classic.spi.LoggingEvent:426,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__41].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__41"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__41].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__41:-1,1"
      Dst: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__41].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__41].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__41"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__41:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__41].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__41"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__41:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__41].get()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__41"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.DefinePropertyAction].<init>()"
    functionUses: 3
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__41:-1,1"
      Dst: "[ch.qos.logback.core.joran.action.DefinePropertyAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.DefinePropertyAction].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.action.DefinePropertyAction"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.DefinePropertyAction:29,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__37].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__37"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__37].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__37:-1,1"
      Dst: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__37].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__37].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__37"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__37:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__37].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__37"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__37:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__37].get()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__37"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.TimestampAction].<init>()"
    functionUses: 3
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__37:-1,1"
      Dst: "[ch.qos.logback.core.joran.action.TimestampAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.TimestampAction].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.action.TimestampAction"
    linkageType: null
    functionLinenumber: 30
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.TimestampAction:31,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.status.WarnStatus"
    linkageType: null
    functionLinenumber: 18
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    functionUses: 12
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.WarnStatus:19,1"
      Dst: "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.status.WarnStatus"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionUses: 2
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.WarnStatus:23,1"
      Dst: "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__58].bootstrap$()"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__58"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__58].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__58:-1,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__58].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__58].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__58"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__58:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__58].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__58"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__58:-1,1"
      Dst: "[ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler"
    linkageType: null
    functionLinenumber: 20
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler:21,1"
      Dst: "[ch.qos.logback.core.model.processor.InsertFromJNDIModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.action.ConsolePluginAction].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.action.ConsolePluginAction"
    linkageType: null
    functionLinenumber: 24
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.Action].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.action.ConsolePluginAction:25,1"
      Dst: "[ch.qos.logback.core.joran.action.Action].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.action.ConsolePluginAction].begin(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.classic.joran.action.ConsolePluginAction"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.xml.sax.helpers.AttributesImpl].getValue(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - "[ch.qos.logback.classic.net.SocketAppender].<init>()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.classic.net.SocketAppender].setIncludeCallerData(boolean)"
    - "[ch.qos.logback.core.net.AbstractSocketAppender].setRemoteHost(java.lang.String)"
    - "[ch.qos.logback.core.net.AbstractSocketAppender].setPort(int)"
    - "[ch.qos.logback.core.net.AbstractSocketAppender].start()"
    - "[ch.qos.logback.classic.LoggerContext].getLogger(java.lang.String)"
    - "[ch.qos.logback.classic.Logger].addAppender(ch.qos.logback.core.Appender)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - "[java.lang.Integer].valueOf(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.lang.Integer].intValue()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Integer)"
    functionUses: 1
    ICount: 30
    EdgeCount: 13
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.joran.action.ConsolePluginAction:35"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.joran.action.ConsolePluginAction:39"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.joran.action.ConsolePluginAction:38"
        BranchSideFuncs:
        - "addError(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.classic.joran.action.ConsolePluginAction:32,1"
      Dst: "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - Src: "ch.qos.logback.classic.joran.action.ConsolePluginAction:39,1"
      Dst: "[java.lang.Integer].valueOf(java.lang.String)"
    - Src: "ch.qos.logback.classic.joran.action.ConsolePluginAction:41,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.joran.action.ConsolePluginAction:41,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.classic.joran.action.ConsolePluginAction:47,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - Src: "ch.qos.logback.classic.joran.action.ConsolePluginAction:48,1"
      Dst: "[ch.qos.logback.classic.net.SocketAppender].<init>()"
    - Src: "ch.qos.logback.classic.joran.action.ConsolePluginAction:49,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.joran.action.ConsolePluginAction:50,1"
      Dst: "[ch.qos.logback.classic.net.SocketAppender].setIncludeCallerData(boolean)"
    - Src: "ch.qos.logback.classic.joran.action.ConsolePluginAction:51,1"
      Dst: "[ch.qos.logback.core.net.AbstractSocketAppender].setRemoteHost(java.lang.String)"
    - Src: "ch.qos.logback.classic.joran.action.ConsolePluginAction:52,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "ch.qos.logback.classic.joran.action.ConsolePluginAction:52,1"
      Dst: "[ch.qos.logback.core.net.AbstractSocketAppender].setPort(int)"
    - Src: "ch.qos.logback.classic.joran.action.ConsolePluginAction:53,1"
      Dst: "[ch.qos.logback.core.net.AbstractSocketAppender].start()"
    - Src: "ch.qos.logback.classic.joran.action.ConsolePluginAction:54,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getLogger(java.lang.String)"
    - Src: "ch.qos.logback.classic.joran.action.ConsolePluginAction:55,1"
      Dst: "[ch.qos.logback.classic.Logger].addAppender(ch.qos.logback.core.Appender)"
    - Src: "ch.qos.logback.classic.joran.action.ConsolePluginAction:57,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Integer)"
    - Src: "ch.qos.logback.classic.joran.action.ConsolePluginAction:57,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 0
    returnType: "ch.qos.logback.core.Context"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 35
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SocketAppender].<init>()"
    functionSourceFile: "ch.qos.logback.classic.net.SocketAppender"
    linkageType: null
    functionLinenumber: 37
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.AbstractSocketAppender].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SocketAppender:38,1"
      Dst: "[ch.qos.logback.core.net.AbstractSocketAppender].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 67
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:45"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:44"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:47"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:46,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.net.SocketAppender].setIncludeCallerData(boolean)"
    functionSourceFile: "ch.qos.logback.classic.net.SocketAppender"
    linkageType: null
    functionLinenumber: 48
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].getLogger(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 128
    functionDepth: 2
    returnType: "ch.qos.logback.classic.Logger"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.util.LoggerNameUtil].getSeparatorIndexOf(java.lang.String,int)"
    - "[ch.qos.logback.classic.Logger].getChildByName(java.lang.String)"
    - "[ch.qos.logback.classic.Logger].createChildByName(java.lang.String)"
    - "[ch.qos.logback.classic.LoggerContext].incSize()"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - "[java.util.Map].get(java.lang.Object)"
    - "[java.lang.String].substring(int,int)"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 10
    ICount: 45
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.LoggerContext:129"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:135"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:134"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.LoggerContext:135"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:139"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:138"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.LoggerContext:146"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:154"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:153"
        BranchSideFuncs:
        - "getSeparatorIndexOf(java.lang.String,int)"
    - Branch String: "ch.qos.logback.classic.LoggerContext:155"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:158"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:157"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.LoggerContext:164"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:169"
        BranchSideFuncs:
        - "createChildByName(java.lang.String)"
        - "incSize()"
      - BranchSide: "ch.qos.logback.classic.LoggerContext:168"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.LoggerContext:171"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:174"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:173"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:130,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.classic.LoggerContext:135,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - Src: "ch.qos.logback.classic.LoggerContext:144,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "ch.qos.logback.classic.LoggerContext:154,1"
      Dst: "[ch.qos.logback.classic.util.LoggerNameUtil].getSeparatorIndexOf(java.lang.String,int)"
    - Src: "ch.qos.logback.classic.LoggerContext:158,1"
      Dst: "[java.lang.String].substring(int,int)"
    - Src: "ch.qos.logback.classic.LoggerContext:163,1"
      Dst: "[ch.qos.logback.classic.Logger].getChildByName(java.lang.String)"
    - Src: "ch.qos.logback.classic.LoggerContext:165,1"
      Dst: "[ch.qos.logback.classic.Logger].createChildByName(java.lang.String)"
    - Src: "ch.qos.logback.classic.LoggerContext:166,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - Src: "ch.qos.logback.classic.LoggerContext:167,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].incSize()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 16
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.Logger].addAppender(ch.qos.logback.core.Appender)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 222
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Appender"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.AppenderAttachableImpl].<init>()"
    - "[ch.qos.logback.core.spi.AppenderAttachableImpl].addAppender(ch.qos.logback.core.Appender)"
    functionUses: 3
    ICount: 10
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:223"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:226"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "ch.qos.logback.classic.Logger:225"
        BranchSideFuncs:
        - "addAppender(ch.qos.logback.core.Appender)"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:224,1"
      Dst: "[ch.qos.logback.core.spi.AppenderAttachableImpl].<init>()"
    - Src: "ch.qos.logback.classic.Logger:226,1"
      Dst: "[ch.qos.logback.core.spi.AppenderAttachableImpl].addAppender(ch.qos.logback.core.Appender)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.action.ConsolePluginAction].end(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.joran.action.ConsolePluginAction"
    linkageType: null
    functionLinenumber: 62
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.boolex.OnMarkerEvaluator].<init>()"
    functionSourceFile: "ch.qos.logback.classic.boolex.OnMarkerEvaluator"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.boolex.EventEvaluatorBase].<init>()"
    - "[java.util.ArrayList].<init>()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.boolex.OnMarkerEvaluator:31,1"
      Dst: "[ch.qos.logback.core.boolex.EventEvaluatorBase].<init>()"
    - Src: "ch.qos.logback.classic.boolex.OnMarkerEvaluator:33,1"
      Dst: "[java.util.ArrayList].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.boolex.OnMarkerEvaluator].addMarker(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.boolex.OnMarkerEvaluator"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.boolex.OnMarkerEvaluator:36,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.boolex.OnMarkerEvaluator].evaluate(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.boolex.OnMarkerEvaluator"
    linkageType: null
    functionLinenumber: 44
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getMarkerList()"
    - "[ch.qos.logback.core.util.COWArrayList].isEmpty()"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[org.slf4j.helpers.BasicMarker].contains(java.lang.String)"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getMarkerList()"
    - "[java.util.List].isEmpty()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[org.slf4j.Marker].contains(java.lang.String)"
    functionUses: 1
    ICount: 24
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.boolex.OnMarkerEvaluator:46"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.boolex.OnMarkerEvaluator:47"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.boolex.OnMarkerEvaluator:46"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.boolex.OnMarkerEvaluator:46"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.boolex.OnMarkerEvaluator:50"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.boolex.OnMarkerEvaluator:49"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.boolex.OnMarkerEvaluator:50"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.boolex.OnMarkerEvaluator:57"
        BranchSideFuncs:
        - "iterator()"
      - BranchSide: "ch.qos.logback.classic.boolex.OnMarkerEvaluator:56"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.boolex.OnMarkerEvaluator:51"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.boolex.OnMarkerEvaluator:56"
        BranchSideFuncs:
        - "iterator()"
        - "contains(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.boolex.OnMarkerEvaluator:55"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.boolex.OnMarkerEvaluator:52"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.boolex.OnMarkerEvaluator:55"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.boolex.OnMarkerEvaluator:54"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.boolex.OnMarkerEvaluator:45,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getMarkerList()"
    - Src: "ch.qos.logback.classic.boolex.OnMarkerEvaluator:46,1"
      Dst: "[java.util.List].isEmpty()"
    - Src: "ch.qos.logback.classic.boolex.OnMarkerEvaluator:50,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.classic.boolex.OnMarkerEvaluator:50,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.classic.boolex.OnMarkerEvaluator:50,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.classic.boolex.OnMarkerEvaluator:52,1"
      Dst: "[org.slf4j.Marker].contains(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 12
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.classic.boolex.OnMarkerEvaluator].evaluate(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.boolex.OnMarkerEvaluator"
    linkageType: null
    functionLinenumber: 30
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.boolex.OnMarkerEvaluator].evaluate(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 4
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.boolex.OnMarkerEvaluator:31,1"
      Dst: "[ch.qos.logback.classic.boolex.OnMarkerEvaluator].evaluate(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.boolex.OnMarkerEvaluator].evaluate(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.boolex.OnMarkerEvaluator"
    linkageType: null
    functionLinenumber: 44
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getMarkerList()"
    - "[ch.qos.logback.core.util.COWArrayList].isEmpty()"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[org.slf4j.helpers.BasicMarker].contains(java.lang.String)"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getMarkerList()"
    - "[java.util.List].isEmpty()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[org.slf4j.Marker].contains(java.lang.String)"
    functionUses: 1
    ICount: 24
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.boolex.OnMarkerEvaluator:46"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.boolex.OnMarkerEvaluator:47"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.boolex.OnMarkerEvaluator:46"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.boolex.OnMarkerEvaluator:46"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.boolex.OnMarkerEvaluator:50"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.boolex.OnMarkerEvaluator:49"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.boolex.OnMarkerEvaluator:50"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.boolex.OnMarkerEvaluator:57"
        BranchSideFuncs:
        - "iterator()"
      - BranchSide: "ch.qos.logback.classic.boolex.OnMarkerEvaluator:56"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.boolex.OnMarkerEvaluator:51"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.boolex.OnMarkerEvaluator:56"
        BranchSideFuncs:
        - "iterator()"
        - "contains(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.boolex.OnMarkerEvaluator:55"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.boolex.OnMarkerEvaluator:52"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.boolex.OnMarkerEvaluator:55"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.boolex.OnMarkerEvaluator:54"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.boolex.OnMarkerEvaluator:45,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getMarkerList()"
    - Src: "ch.qos.logback.classic.boolex.OnMarkerEvaluator:46,1"
      Dst: "[java.util.List].isEmpty()"
    - Src: "ch.qos.logback.classic.boolex.OnMarkerEvaluator:50,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.classic.boolex.OnMarkerEvaluator:50,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.classic.boolex.OnMarkerEvaluator:50,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.classic.boolex.OnMarkerEvaluator:52,1"
      Dst: "[org.slf4j.Marker].contains(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 12
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.model.ModelUtil].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.ModelUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.ModelUtil:10,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ModelUtil].resetForReuse(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.ModelUtil"
    linkageType: null
    functionLinenumber: 13
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].resetForReuse()"
    functionUses: 3
    ICount: 5
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.ModelUtil:14"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.ModelUtil:16"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.ModelUtil:15"
        BranchSideFuncs:
        - "resetForReuse()"
    Callsites:
    - Src: "ch.qos.logback.core.model.ModelUtil:16,1"
      Dst: "[ch.qos.logback.core.model.Model].resetForReuse()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ModelUtil].setProperty(ch.qos.logback.core.model.processor.ModelInterpretationContext,java.lang.String,java.lang.String,ch.qos.logback.core.joran.action.ActionUtil$Scope)"
    functionSourceFile: "ch.qos.logback.core.model.ModelUtil"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 1
    returnType: "void"
    argCount: 4
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "java.lang.String"
    - "java.lang.String"
    - "ch.qos.logback.core.joran.action.ActionUtil$Scope"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].addSubstitutionProperty(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - "[ch.qos.logback.classic.LoggerContext].putProperty(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.ContextBase].putProperty(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].setSystemProperty(ch.qos.logback.core.spi.ContextAware,java.lang.String,java.lang.String)"
    - "[java.lang.Enum].ordinal()"
    - "[ch.qos.logback.core.Context].putProperty(java.lang.String,java.lang.String)"
    functionUses: 1
    ICount: 15
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.ModelUtil:24,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "ch.qos.logback.core.model.ModelUtil:26,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].addSubstitutionProperty(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.model.ModelUtil:29,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - Src: "ch.qos.logback.core.model.ModelUtil:29,1"
      Dst: "[ch.qos.logback.core.Context].putProperty(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.model.ModelUtil:32,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].setSystemProperty(ch.qos.logback.core.spi.ContextAware,java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.model.ModelUtil].setProperties(ch.qos.logback.core.model.processor.ModelInterpretationContext,java.util.Properties,ch.qos.logback.core.joran.action.ActionUtil$Scope)"
    functionSourceFile: "ch.qos.logback.core.model.ModelUtil"
    linkageType: null
    functionLinenumber: 40
    functionDepth: 2
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "java.util.Properties"
    - "ch.qos.logback.core.joran.action.ActionUtil$Scope"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].addSubstitutionProperties(java.util.Properties)"
    - "[ch.qos.logback.core.util.ContextUtil].<init>(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - "[ch.qos.logback.core.util.ContextUtil].addProperties(java.util.Properties)"
    - "[ch.qos.logback.core.util.OptionHelper].setSystemProperties(ch.qos.logback.core.spi.ContextAware,java.util.Properties)"
    - "[java.lang.Enum].ordinal()"
    functionUses: 1
    ICount: 16
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.ModelUtil:41,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "ch.qos.logback.core.model.ModelUtil:43,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].addSubstitutionProperties(java.util.Properties)"
    - Src: "ch.qos.logback.core.model.ModelUtil:46,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - Src: "ch.qos.logback.core.model.ModelUtil:46,1"
      Dst: "[ch.qos.logback.core.util.ContextUtil].<init>(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.model.ModelUtil:47,1"
      Dst: "[ch.qos.logback.core.util.ContextUtil].addProperties(java.util.Properties)"
    - Src: "ch.qos.logback.core.model.ModelUtil:50,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].setSystemProperties(ch.qos.logback.core.spi.ContextAware,java.util.Properties)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.joran.spi.JoranException].<init>(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.JoranException"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Exception].<init>(java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.JoranException:21,1"
      Dst: "[java.lang.Exception].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.JoranException].<init>(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.JoranException"
    linkageType: null
    functionLinenumber: 24
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Exception].<init>(java.lang.String,java.lang.Throwable)"
    functionUses: 7
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.JoranException:25,1"
      Dst: "[java.lang.Exception].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.ImplicitModelDataForComplexProperty].<init>(ch.qos.logback.core.joran.util.PropertySetter,ch.qos.logback.core.util.AggregationType,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.action.ImplicitModelDataForComplexProperty"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.util.PropertySetter"
    - "ch.qos.logback.core.util.AggregationType"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.ImplicitModelData].<init>(ch.qos.logback.core.joran.util.PropertySetter,ch.qos.logback.core.util.AggregationType,java.lang.String)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.ImplicitModelDataForComplexProperty:28,1"
      Dst: "[ch.qos.logback.core.joran.action.ImplicitModelData].<init>(ch.qos.logback.core.joran.util.PropertySetter,ch.qos.logback.core.util.AggregationType,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.ImplicitModelDataForComplexProperty].getNestedComplexProperty()"
    functionSourceFile: "ch.qos.logback.core.joran.action.ImplicitModelDataForComplexProperty"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 8
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.ImplicitModelDataForComplexProperty].setNestedComplexProperty(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.joran.action.ImplicitModelDataForComplexProperty"
    linkageType: null
    functionLinenumber: 35
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.property.ResourceExistsPropertyDefiner].<init>()"
    functionSourceFile: "ch.qos.logback.core.property.ResourceExistsPropertyDefiner"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.PropertyDefinerBase].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.property.ResourceExistsPropertyDefiner:34,1"
      Dst: "[ch.qos.logback.core.PropertyDefinerBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.property.ResourceExistsPropertyDefiner].getResource()"
    functionSourceFile: "ch.qos.logback.core.property.ResourceExistsPropertyDefiner"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.property.ResourceExistsPropertyDefiner].setResource(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.property.ResourceExistsPropertyDefiner"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.property.ResourceExistsPropertyDefiner].getPropertyValue()"
    functionSourceFile: "ch.qos.logback.core.property.ResourceExistsPropertyDefiner"
    linkageType: null
    functionLinenumber: 58
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.util.Loader].getResourceBySelfClassLoader(java.lang.String)"
    - "[ch.qos.logback.core.PropertyDefinerBase].booleanAsStr(boolean)"
    functionUses: 1
    ICount: 14
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.property.ResourceExistsPropertyDefiner:59"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.property.ResourceExistsPropertyDefiner:64"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.property.ResourceExistsPropertyDefiner:63"
        BranchSideFuncs:
        - "booleanAsStr(boolean)"
        - "getResourceBySelfClassLoader(java.lang.String)"
    - Branch String: "ch.qos.logback.core.property.ResourceExistsPropertyDefiner:65"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.property.ResourceExistsPropertyDefiner:63"
        BranchSideFuncs:
        - "booleanAsStr(boolean)"
        - "getResourceBySelfClassLoader(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.property.ResourceExistsPropertyDefiner:59,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Src: "ch.qos.logback.core.property.ResourceExistsPropertyDefiner:60,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.property.ResourceExistsPropertyDefiner:64,1"
      Dst: "[ch.qos.logback.core.util.Loader].getResourceBySelfClassLoader(java.lang.String)"
    - Src: "ch.qos.logback.core.property.ResourceExistsPropertyDefiner:65,1"
      Dst: "[ch.qos.logback.core.PropertyDefinerBase].booleanAsStr(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 282
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    - "[java.lang.String].length()"
    functionUses: 62
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].length()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.Loader].getResourceBySelfClassLoader(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.Loader"
    linkageType: null
    functionLinenumber: 114
    functionDepth: 2
    returnType: "java.net.URL"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].getClassLoaderOfClass(java.lang.Class)"
    - "[ch.qos.logback.core.util.Loader].getResource(java.lang.String,java.lang.ClassLoader)"
    functionUses: 6
    ICount: 4
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.Loader:115,1"
      Dst: "[ch.qos.logback.core.util.Loader].getClassLoaderOfClass(java.lang.Class)"
    - Src: "ch.qos.logback.core.util.Loader:115,1"
      Dst: "[ch.qos.logback.core.util.Loader].getResource(java.lang.String,java.lang.ClassLoader)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__51].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__51"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__51].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__51:-1,1"
      Dst: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__51].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__51].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__51"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__51:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__51].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__51"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__51:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__51].get()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__51"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.conditional.ThenAction].<init>()"
    functionUses: 3
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__51:-1,1"
      Dst: "[ch.qos.logback.core.joran.conditional.ThenAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.conditional.ThenAction].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.conditional.ThenAction"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.conditional.ThenAction:24,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].<init>()"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileFilterUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:23,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].sortFileArrayByName(java.io.File[])"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileFilterUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.File[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.FileFilterUtil$1].<init>()"
    - "[java.util.Arrays].sort(java.lang.Object[],java.util.Comparator)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:26,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileFilterUtil$1].<init>()"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:26,1"
      Dst: "[java.util.Arrays].sort(java.lang.Object[],java.util.Comparator)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.FileFilterUtil$1].<init>()"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileFilterUtil$1"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil$1:26,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].reverseSortFileArrayByName(java.io.File[])"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileFilterUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.File[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.FileFilterUtil$2].<init>()"
    - "[java.util.Arrays].sort(java.lang.Object[],java.util.Comparator)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:36,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileFilterUtil$2].<init>()"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:36,1"
      Dst: "[java.util.Arrays].sort(java.lang.Object[],java.util.Comparator)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.FileFilterUtil$2].<init>()"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileFilterUtil$2"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil$2:36,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].afterLastSlash(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileFilterUtil"
    linkageType: null
    functionLinenumber: 45
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].lastIndexOf(int)"
    - "[java.lang.String].substring(int)"
    functionUses: 5
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.FileFilterUtil:47"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:50"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:49"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:46,1"
      Dst: "[java.lang.String].lastIndexOf(int)"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:50,1"
      Dst: "[java.lang.String].substring(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].isEmptyDirectory(java.io.File)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileFilterUtil"
    linkageType: null
    functionLinenumber: 54
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.File].isDirectory()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.io.File].list()"
    functionUses: 1
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.FileFilterUtil:55"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:58"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:57"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileFilterUtil:59"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:60"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:59"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileFilterUtil:59"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:62"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:61"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:55,1"
      Dst: "[java.io.File].isDirectory()"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:56,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File)"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:56,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:58,1"
      Dst: "[java.io.File].list()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].filesInFolderMatchingStemRegex(java.io.File,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileFilterUtil"
    linkageType: null
    functionLinenumber: 75
    functionDepth: 2
    returnType: "java.io.File[]"
    argCount: 2
    argTypes:
    - "java.io.File"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.FileFilterUtil$lambda_filesInFolderMatchingStemRegex_0__92].accept(java.io.File,java.lang.String)"
    - "[ch.qos.logback.core.rolling.helper.FileFilterUtil$lambda_filesInFolderMatchingStemRegex_0__92].bootstrap$(java.util.regex.Pattern)"
    - "[java.io.File].exists()"
    - "[java.io.File].isDirectory()"
    - "[java.util.regex.Pattern].compile(java.lang.String)"
    - "[java.io.File].listFiles(java.io.FilenameFilter)"
    functionUses: 2
    ICount: 15
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.FileFilterUtil:76"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:79"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:78"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileFilterUtil:79"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:80"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:79"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileFilterUtil:79"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:84"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:83"
        BranchSideFuncs:
        - "accept(java.io.File,java.lang.String)"
        - "bootstrap$(java.util.regex.Pattern)"
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:79,1"
      Dst: "[java.io.File].exists()"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:79,1"
      Dst: "[java.io.File].isDirectory()"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:84,1"
      Dst: "[java.util.regex.Pattern].compile(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:85,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileFilterUtil$lambda_filesInFolderMatchingStemRegex_0__92].bootstrap$(java.util.regex.Pattern)"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:85,1"
      Dst: "[java.io.File].listFiles(java.io.FilenameFilter)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.rolling.helper.FileFilterUtil$lambda_filesInFolderMatchingStemRegex_0__92].bootstrap$(java.util.regex.Pattern)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileFilterUtil$lambda_filesInFolderMatchingStemRegex_0__92"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.io.FilenameFilter"
    argCount: 1
    argTypes:
    - "java.util.regex.Pattern"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.FileFilterUtil$lambda_filesInFolderMatchingStemRegex_0__92].<init>(java.util.regex.Pattern)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil$lambda_filesInFolderMatchingStemRegex_0__92:-1,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileFilterUtil$lambda_filesInFolderMatchingStemRegex_0__92].<init>(java.util.regex.Pattern)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].findHighestCounter(java.io.File[],java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileFilterUtil"
    linkageType: null
    functionLinenumber: 88
    functionDepth: 1
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.io.File[]"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.FileFilterUtil].extractCounter(java.io.File,java.lang.String)"
    functionUses: 1
    ICount: 13
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.FileFilterUtil:90"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:95"
        BranchSideFuncs:
        - "extractCounter(java.io.File,java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:94"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileFilterUtil:92"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:89"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:88"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:91,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].extractCounter(java.io.File,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].extractCounter(java.io.File,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileFilterUtil"
    linkageType: null
    functionLinenumber: 98
    functionDepth: 0
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.io.File"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.regex.Pattern].compile(java.lang.String)"
    - "[java.io.File].getName()"
    - "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - "[java.util.regex.Matcher].matches()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - "[java.util.regex.Matcher].group(int)"
    - "[java.lang.Integer].parseInt(java.lang.String)"
    functionUses: 1
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.FileFilterUtil:103"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:106"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:105"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:99,1"
      Dst: "[java.util.regex.Pattern].compile(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:100,1"
      Dst: "[java.io.File].getName()"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:102,1"
      Dst: "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:103,1"
      Dst: "[java.util.regex.Matcher].matches()"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:104,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:104,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:106,1"
      Dst: "[java.util.regex.Matcher].group(int)"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:107,1"
      Dst: "[java.lang.Integer].parseInt(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].extractCounter(java.io.File,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileFilterUtil"
    linkageType: null
    functionLinenumber: 98
    functionDepth: 0
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.io.File"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.regex.Pattern].compile(java.lang.String)"
    - "[java.io.File].getName()"
    - "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - "[java.util.regex.Matcher].matches()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - "[java.util.regex.Matcher].group(int)"
    - "[java.lang.Integer].parseInt(java.lang.String)"
    functionUses: 1
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.FileFilterUtil:103"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:106"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:105"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:99,1"
      Dst: "[java.util.regex.Pattern].compile(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:100,1"
      Dst: "[java.io.File].getName()"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:102,1"
      Dst: "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:103,1"
      Dst: "[java.util.regex.Matcher].matches()"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:104,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:104,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:106,1"
      Dst: "[java.util.regex.Matcher].group(int)"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:107,1"
      Dst: "[java.lang.Integer].parseInt(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].slashify(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileFilterUtil"
    linkageType: null
    functionLinenumber: 110
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].replace(char,char)"
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:111,1"
      Dst: "[java.lang.String].replace(char,char)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].removeEmptyParentDirectories(java.io.File,int)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileFilterUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.io.File"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.File].getParentFile()"
    - "[java.io.File].isDirectory()"
    - "[ch.qos.logback.core.rolling.helper.FileFilterUtil].isEmptyDirectory(java.io.File)"
    - "[java.io.File].delete()"
    - "[ch.qos.logback.core.rolling.helper.FileFilterUtil].removeEmptyParentDirectories(java.io.File,int)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.FileFilterUtil:116"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:119"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:118"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileFilterUtil:120"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:124"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:123"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileFilterUtil:120"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:124"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:123"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:119,1"
      Dst: "[java.io.File].getParentFile()"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:120,1"
      Dst: "[java.io.File].isDirectory()"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:120,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].isEmptyDirectory(java.io.File)"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:121,1"
      Dst: "[java.io.File].delete()"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:122,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].removeEmptyParentDirectories(java.io.File,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].isEmptyDirectory(java.io.File)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileFilterUtil"
    linkageType: null
    functionLinenumber: 54
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.File].isDirectory()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.io.File].list()"
    functionUses: 1
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.FileFilterUtil:55"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:58"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:57"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileFilterUtil:59"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:60"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:59"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileFilterUtil:59"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:62"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:61"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:55,1"
      Dst: "[java.io.File].isDirectory()"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:56,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File)"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:56,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:58,1"
      Dst: "[java.io.File].list()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].lambda$filesInFolderMatchingStemRegex$0(java.util.regex.Pattern,java.io.File,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileFilterUtil"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 0
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "java.util.regex.Pattern"
    - "java.io.File"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - "[java.util.regex.Matcher].matches()"
    functionUses: 1
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:85,1"
      Dst: "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:85,1"
      Dst: "[java.util.regex.Matcher].matches()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.status.ErrorStatus"
    linkageType: null
    functionLinenumber: 18
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    functionUses: 7
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.ErrorStatus:19,1"
      Dst: "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.status.ErrorStatus"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionUses: 14
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.ErrorStatus:23,1"
      Dst: "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.KeyValuePairConverter].<init>()"
    functionSourceFile: "ch.qos.logback.classic.pattern.KeyValuePairConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.ClassicConverter].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.KeyValuePairConverter:21,1"
      Dst: "[ch.qos.logback.classic.pattern.ClassicConverter].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.KeyValuePairConverter].start()"
    functionSourceFile: "ch.qos.logback.classic.pattern.KeyValuePairConverter"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.DynamicConverter].getFirstOption()"
    - "[ch.qos.logback.classic.pattern.KeyValuePairConverter].optionStrToSpec(java.lang.String)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].start()"
    functionUses: 6
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.KeyValuePairConverter:47,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].getFirstOption()"
    - Src: "ch.qos.logback.classic.pattern.KeyValuePairConverter:48,1"
      Dst: "[ch.qos.logback.classic.pattern.KeyValuePairConverter].optionStrToSpec(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.KeyValuePairConverter:49,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.KeyValuePairConverter].optionStrToSpec(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.pattern.KeyValuePairConverter"
    linkageType: null
    functionLinenumber: 52
    functionDepth: 0
    returnType: "ch.qos.logback.classic.pattern.KeyValuePairConverter$ValueQuoteSpecification"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    functionUses: 1
    ICount: 22
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.KeyValuePairConverter:53"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.KeyValuePairConverter:55"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.KeyValuePairConverter:54"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.KeyValuePairConverter:55"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.KeyValuePairConverter:57"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.KeyValuePairConverter:56"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.KeyValuePairConverter:57"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.KeyValuePairConverter:59"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.KeyValuePairConverter:58"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.KeyValuePairConverter:59"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.KeyValuePairConverter:61"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.KeyValuePairConverter:60"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.KeyValuePairConverter:55,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.KeyValuePairConverter].optionStrToSpec(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.pattern.KeyValuePairConverter"
    linkageType: null
    functionLinenumber: 52
    functionDepth: 0
    returnType: "ch.qos.logback.classic.pattern.KeyValuePairConverter$ValueQuoteSpecification"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    functionUses: 1
    ICount: 22
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.KeyValuePairConverter:53"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.KeyValuePairConverter:55"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.KeyValuePairConverter:54"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.KeyValuePairConverter:55"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.KeyValuePairConverter:57"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.KeyValuePairConverter:56"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.KeyValuePairConverter:57"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.KeyValuePairConverter:59"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.KeyValuePairConverter:58"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.KeyValuePairConverter:59"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.KeyValuePairConverter:61"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.KeyValuePairConverter:60"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.KeyValuePairConverter:55,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.KeyValuePairConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.pattern.KeyValuePairConverter"
    linkageType: null
    functionLinenumber: 66
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getKeyValuePairs()"
    - "[ch.qos.logback.core.util.COWArrayList].isEmpty()"
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.util.COWArrayList].get(int)"
    - "[ch.qos.logback.classic.pattern.KeyValuePairConverter$ValueQuoteSpecification].asChar()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getKeyValuePairs()"
    - "[java.util.List].isEmpty()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.String].valueOf(java.lang.Object)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 33
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.KeyValuePairConverter:68"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.KeyValuePairConverter:69"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.KeyValuePairConverter:68"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.KeyValuePairConverter:68"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.KeyValuePairConverter:72"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.KeyValuePairConverter:71"
        BranchSideFuncs:
        - "size()"
    - Branch String: "ch.qos.logback.classic.pattern.KeyValuePairConverter:73"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.KeyValuePairConverter:87"
        BranchSideFuncs:
        - "get(int)"
      - BranchSide: "ch.qos.logback.classic.pattern.KeyValuePairConverter:86"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.KeyValuePairConverter:75"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.KeyValuePairConverter:77"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.KeyValuePairConverter:76"
        BranchSideFuncs:
        - "asChar()"
    - Branch String: "ch.qos.logback.classic.pattern.KeyValuePairConverter:80"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.KeyValuePairConverter:82"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.KeyValuePairConverter:81"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.KeyValuePairConverter:83"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.KeyValuePairConverter:72"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.KeyValuePairConverter:71"
        BranchSideFuncs:
        - "size()"
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.KeyValuePairConverter:67,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getKeyValuePairs()"
    - Src: "ch.qos.logback.classic.pattern.KeyValuePairConverter:68,1"
      Dst: "[java.util.List].isEmpty()"
    - Src: "ch.qos.logback.classic.pattern.KeyValuePairConverter:72,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.classic.pattern.KeyValuePairConverter:73,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.classic.pattern.KeyValuePairConverter:74,1"
      Dst: "[java.util.List].get(int)"
    - Src: "ch.qos.logback.classic.pattern.KeyValuePairConverter:76,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.classic.pattern.KeyValuePairConverter:77,1"
      Dst: "[java.lang.String].valueOf(java.lang.Object)"
    - Src: "ch.qos.logback.classic.pattern.KeyValuePairConverter:77,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.KeyValuePairConverter:79,1"
      Dst: "[ch.qos.logback.classic.pattern.KeyValuePairConverter$ValueQuoteSpecification].asChar()"
    - Src: "ch.qos.logback.classic.pattern.KeyValuePairConverter:81,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "ch.qos.logback.classic.pattern.KeyValuePairConverter:87,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 13
    CyclomaticComplexity: 6
  - functionName: "[ch.qos.logback.classic.pattern.KeyValuePairConverter$ValueQuoteSpecification].asChar()"
    functionSourceFile: "ch.qos.logback.classic.pattern.KeyValuePairConverter$ValueQuoteSpecification"
    linkageType: null
    functionLinenumber: 30
    functionDepth: 0
    returnType: "java.lang.Character"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].ordinal()"
    - "[java.lang.Character].valueOf(char)"
    - "[java.lang.IllegalStateException].<init>()"
    functionUses: 1
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.KeyValuePairConverter$ValueQuoteSpecification:31,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "ch.qos.logback.classic.pattern.KeyValuePairConverter$ValueQuoteSpecification:35,1"
      Dst: "[java.lang.Character].valueOf(char)"
    - Src: "ch.qos.logback.classic.pattern.KeyValuePairConverter$ValueQuoteSpecification:39,1"
      Dst: "[java.lang.IllegalStateException].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.KeyValuePairConverter].convert(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.pattern.KeyValuePairConverter"
    linkageType: null
    functionLinenumber: 20
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.KeyValuePairConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 11
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.KeyValuePairConverter:21,1"
      Dst: "[ch.qos.logback.classic.pattern.KeyValuePairConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.KeyValuePairConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.pattern.KeyValuePairConverter"
    linkageType: null
    functionLinenumber: 66
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getKeyValuePairs()"
    - "[ch.qos.logback.core.util.COWArrayList].isEmpty()"
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.util.COWArrayList].get(int)"
    - "[ch.qos.logback.classic.pattern.KeyValuePairConverter$ValueQuoteSpecification].asChar()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getKeyValuePairs()"
    - "[java.util.List].isEmpty()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.String].valueOf(java.lang.Object)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 33
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.KeyValuePairConverter:68"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.KeyValuePairConverter:69"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.KeyValuePairConverter:68"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.KeyValuePairConverter:68"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.KeyValuePairConverter:72"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.KeyValuePairConverter:71"
        BranchSideFuncs:
        - "size()"
    - Branch String: "ch.qos.logback.classic.pattern.KeyValuePairConverter:73"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.KeyValuePairConverter:87"
        BranchSideFuncs:
        - "get(int)"
      - BranchSide: "ch.qos.logback.classic.pattern.KeyValuePairConverter:86"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.KeyValuePairConverter:75"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.KeyValuePairConverter:77"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.KeyValuePairConverter:76"
        BranchSideFuncs:
        - "asChar()"
    - Branch String: "ch.qos.logback.classic.pattern.KeyValuePairConverter:80"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.KeyValuePairConverter:82"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.KeyValuePairConverter:81"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.KeyValuePairConverter:83"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.KeyValuePairConverter:72"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.KeyValuePairConverter:71"
        BranchSideFuncs:
        - "size()"
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.KeyValuePairConverter:67,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getKeyValuePairs()"
    - Src: "ch.qos.logback.classic.pattern.KeyValuePairConverter:68,1"
      Dst: "[java.util.List].isEmpty()"
    - Src: "ch.qos.logback.classic.pattern.KeyValuePairConverter:72,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.classic.pattern.KeyValuePairConverter:73,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.classic.pattern.KeyValuePairConverter:74,1"
      Dst: "[java.util.List].get(int)"
    - Src: "ch.qos.logback.classic.pattern.KeyValuePairConverter:76,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.classic.pattern.KeyValuePairConverter:77,1"
      Dst: "[java.lang.String].valueOf(java.lang.Object)"
    - Src: "ch.qos.logback.classic.pattern.KeyValuePairConverter:77,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.KeyValuePairConverter:79,1"
      Dst: "[ch.qos.logback.classic.pattern.KeyValuePairConverter$ValueQuoteSpecification].asChar()"
    - Src: "ch.qos.logback.classic.pattern.KeyValuePairConverter:81,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "ch.qos.logback.classic.pattern.KeyValuePairConverter:87,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 13
    CyclomaticComplexity: 6
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_0__64].bootstrap$(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_0__64"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_0__64].<init>(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_0__64:-1,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_0__64].<init>(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_0__64].<init>(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_0__64"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_0__64:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_0__64].get()"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_0__64"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker].lambda$link$0()"
    functionUses: 3
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_0__64:-1,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker].lambda$link$0()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker].lambda$link$0()"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker"
    linkageType: null
    functionLinenumber: 74
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser].<init>(ch.qos.logback.core.Context,java.lang.Class)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:75,1"
      Dst: "[ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser].<init>(ch.qos.logback.core.Context,java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser].<init>(ch.qos.logback.core.Context,java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser"
    linkageType: null
    functionLinenumber: 24
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 3
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser:25,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DenyModelFilter].<init>(java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DenyModelFilter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DenyModelFilter:10,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DenyModelFilter].decide(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DenyModelFilter"
    linkageType: null
    functionLinenumber: 16
    functionDepth: 0
    returnType: "ch.qos.logback.core.spi.FilterReply"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    functionUses: 3
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.DenyModelFilter:17"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.DenyModelFilter:21"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.DenyModelFilter:20"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DenyModelFilter:17,1"
      Dst: "[java.lang.Object].getClass()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLNestedComponentRegistryRules].<init>()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLNestedComponentRegistryRules"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLNestedComponentRegistryRules:24,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLNestedComponentRegistryRules].addDefaultNestedComponentRegistryRules(ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLNestedComponentRegistryRules"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry].add(java.lang.Class,java.lang.String,java.lang.Class)"
    functionUses: 1
    ICount: 9
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLNestedComponentRegistryRules:27,1"
      Dst: "[ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry].add(java.lang.Class,java.lang.String,java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.jul.JULHelper].<init>()"
    functionSourceFile: "ch.qos.logback.classic.jul.JULHelper"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.jul.JULHelper:19,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.jul.JULHelper].isRegularNonRootLogger(java.util.logging.Logger)"
    functionSourceFile: "ch.qos.logback.classic.jul.JULHelper"
    linkageType: null
    functionLinenumber: 21
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.util.logging.Logger"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.logging.Logger].getName()"
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 1
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.jul.JULHelper:22"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.jul.JULHelper:24"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.jul.JULHelper:23"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.jul.JULHelper:24"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.jul.JULHelper:23"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.jul.JULHelper:24,1"
      Dst: "[java.util.logging.Logger].getName()"
    - Src: "ch.qos.logback.classic.jul.JULHelper:24,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.jul.JULHelper].isRoot(java.util.logging.Logger)"
    functionSourceFile: "ch.qos.logback.classic.jul.JULHelper"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.util.logging.Logger"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.logging.Logger].getName()"
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.jul.JULHelper:28"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.jul.JULHelper:30"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.jul.JULHelper:29"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.jul.JULHelper:30,1"
      Dst: "[java.util.logging.Logger].getName()"
    - Src: "ch.qos.logback.classic.jul.JULHelper:30,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.jul.JULHelper].asJULLevel(ch.qos.logback.classic.Level)"
    functionSourceFile: "ch.qos.logback.classic.jul.JULHelper"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 0
    returnType: "java.util.logging.Level"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.Level"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.classic.Level)"
    functionUses: 1
    ICount: 25
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.jul.JULHelper:34"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.jul.JULHelper:37"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.jul.JULHelper:36"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.jul.JULHelper:35,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.classic.jul.JULHelper:53,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.classic.Level)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 11
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.jul.JULHelper].asJULLoggerName(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.jul.JULHelper"
    linkageType: null
    functionLinenumber: 57
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 1
    ICount: 6
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.jul.JULHelper:58"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.jul.JULHelper:61"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.jul.JULHelper:60"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.jul.JULHelper:58,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.jul.JULHelper].asJULLogger(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.jul.JULHelper"
    linkageType: null
    functionLinenumber: 64
    functionDepth: 1
    returnType: "java.util.logging.Logger"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.jul.JULHelper].asJULLoggerName(java.lang.String)"
    - "[java.util.logging.Logger].getLogger(java.lang.String)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.jul.JULHelper:65,1"
      Dst: "[ch.qos.logback.classic.jul.JULHelper].asJULLoggerName(java.lang.String)"
    - Src: "ch.qos.logback.classic.jul.JULHelper:66,1"
      Dst: "[java.util.logging.Logger].getLogger(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.jul.JULHelper].asJULLogger(ch.qos.logback.classic.Logger)"
    functionSourceFile: "ch.qos.logback.classic.jul.JULHelper"
    linkageType: null
    functionLinenumber: 69
    functionDepth: 2
    returnType: "java.util.logging.Logger"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.Logger"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.jul.JULHelper].asJULLogger(java.lang.String)"
    - "[ch.qos.logback.classic.Logger].getName()"
    functionUses: 1
    ICount: 4
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.jul.JULHelper:70,1"
      Dst: "[ch.qos.logback.classic.Logger].getName()"
    - Src: "ch.qos.logback.classic.jul.JULHelper:70,1"
      Dst: "[ch.qos.logback.classic.jul.JULHelper].asJULLogger(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.util.DefaultClassNameHelper].<init>()"
    functionSourceFile: "ch.qos.logback.classic.model.util.DefaultClassNameHelper"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:30,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.util.DefaultClassNameHelper].injectDefaultComponentClasses(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.classic.model.util.DefaultClassNameHelper"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.Model"
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.model.util.DefaultClassNameHelper].applyInjectionRules(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.Model].getSubModels()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[ch.qos.logback.classic.model.util.DefaultClassNameHelper].injectDefaultComponentClasses(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.Model)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:46"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:49"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:48"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:44,1"
      Dst: "[ch.qos.logback.classic.model.util.DefaultClassNameHelper].applyInjectionRules(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:46,1"
      Dst: "[ch.qos.logback.core.model.Model].getSubModels()"
    - Src: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:46,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:46,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:46,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:47,1"
      Dst: "[ch.qos.logback.classic.model.util.DefaultClassNameHelper].injectDefaultComponentClasses(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.Model)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.model.util.DefaultClassNameHelper].applyInjectionRules(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.classic.model.util.DefaultClassNameHelper"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.Model"
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.util.TagUtil].unifiedTag(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.ComponentModel].getClassName()"
    - "[java.lang.String].isEmpty()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.ComponentModel].setClassName(java.lang.String)"
    functionUses: 0
    ICount: 31
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:52"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:55"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:54"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:58"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:72"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:71"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:62"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:63"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:62"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:62"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:72"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:71"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:63"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:72"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:71"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:64"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:68"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:67"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:64"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:68"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:67"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:55,1"
      Dst: "[ch.qos.logback.core.model.util.TagUtil].unifiedTag(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:60,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].getClassName()"
    - Src: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:62,1"
      Dst: "[java.lang.String].isEmpty()"
    - Src: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:63,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:63,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:63,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:64,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:65,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].setClassName(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 12
    CyclomaticComplexity: 7
  - functionName: "[ch.qos.logback.core.model.util.TagUtil].unifiedTag(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.util.TagUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].getTag()"
    - "[java.lang.String].charAt(int)"
    - "[java.lang.Character].isUpperCase(char)"
    - "[java.lang.Character].toLowerCase(char)"
    - "[java.lang.String].substring(int)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(char,java.lang.String)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.util.TagUtil:24"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.util.TagUtil:28"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.util.TagUtil:27"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.util.TagUtil:21,1"
      Dst: "[ch.qos.logback.core.model.Model].getTag()"
    - Src: "ch.qos.logback.core.model.util.TagUtil:23,1"
      Dst: "[java.lang.String].charAt(int)"
    - Src: "ch.qos.logback.core.model.util.TagUtil:24,1"
      Dst: "[java.lang.Character].isUpperCase(char)"
    - Src: "ch.qos.logback.core.model.util.TagUtil:25,1"
      Dst: "[java.lang.Character].toLowerCase(char)"
    - Src: "ch.qos.logback.core.model.util.TagUtil:26,1"
      Dst: "[java.lang.String].substring(int)"
    - Src: "ch.qos.logback.core.model.util.TagUtil:26,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(char,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ComponentModel].getClassName()"
    functionSourceFile: "ch.qos.logback.core.model.ComponentModel"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 11
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ComponentModel].setClassName(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.ComponentModel"
    linkageType: null
    functionLinenumber: 47
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 9
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].getSubModels()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 120
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 8
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.util.DefaultClassNameHelper].applyInjectionRules(ch.qos.logback.core.model.Model,ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.classic.model.util.DefaultClassNameHelper"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.Model"
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.util.TagUtil].unifiedTag(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.model.ComponentModel].getClassName()"
    - "[java.lang.String].isEmpty()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[ch.qos.logback.core.model.ComponentModel].setClassName(java.lang.String)"
    functionUses: 0
    ICount: 31
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:52"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:55"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:54"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:58"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:72"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:71"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:62"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:63"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:62"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:62"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:72"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:71"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:63"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:72"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:71"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:64"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:68"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:67"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:64"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:68"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:67"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:55,1"
      Dst: "[ch.qos.logback.core.model.util.TagUtil].unifiedTag(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:60,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].getClassName()"
    - Src: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:62,1"
      Dst: "[java.lang.String].isEmpty()"
    - Src: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:63,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:63,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:63,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:64,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "ch.qos.logback.classic.model.util.DefaultClassNameHelper:65,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].setClassName(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 12
    CyclomaticComplexity: 7
  - functionName: "[ch.qos.logback.core.pattern.color.BoldCyanCompositeConverter].<init>()"
    functionSourceFile: "ch.qos.logback.core.pattern.color.BoldCyanCompositeConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.color.ForegroundCompositeConverterBase].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.color.BoldCyanCompositeConverter:27,1"
      Dst: "[ch.qos.logback.core.pattern.color.ForegroundCompositeConverterBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.color.BoldCyanCompositeConverter].getForegroundColorCode(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.pattern.color.BoldCyanCompositeConverter"
    linkageType: null
    functionLinenumber: 30
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.LevelToSyslogSeverity].<init>()"
    functionSourceFile: "ch.qos.logback.classic.util.LevelToSyslogSeverity"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LevelToSyslogSeverity:20,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.LevelToSyslogSeverity].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.util.LevelToSyslogSeverity"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getLevel()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.classic.Level)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 12
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.LevelToSyslogSeverity:28,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    - Src: "ch.qos.logback.classic.util.LevelToSyslogSeverity:41,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.classic.Level)"
    - Src: "ch.qos.logback.classic.util.LevelToSyslogSeverity:41,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ReconfigureOnChangeTaskListener].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.ReconfigureOnChangeTaskListener"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ReconfigureOnChangeTaskListener:16,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ReconfigureOnChangeTaskListener].enteredRunMethod()"
    functionSourceFile: "ch.qos.logback.classic.joran.ReconfigureOnChangeTaskListener"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ReconfigureOnChangeTaskListener].changeDetected()"
    functionSourceFile: "ch.qos.logback.classic.joran.ReconfigureOnChangeTaskListener"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ReconfigureOnChangeTaskListener].doneReconfiguring()"
    functionSourceFile: "ch.qos.logback.classic.joran.ReconfigureOnChangeTaskListener"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.sanity.SanityChecker$lambda_deepFindNestedSubModelsOfType_0__68].bootstrap$(ch.qos.logback.core.joran.sanity.SanityChecker,java.lang.Class,java.util.List)"
    functionSourceFile: "ch.qos.logback.core.joran.sanity.SanityChecker$lambda_deepFindNestedSubModelsOfType_0__68"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Consumer"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.sanity.SanityChecker"
    - "java.lang.Class"
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.sanity.SanityChecker$lambda_deepFindNestedSubModelsOfType_0__68].<init>(ch.qos.logback.core.joran.sanity.SanityChecker,java.lang.Class,java.util.List)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.sanity.SanityChecker$lambda_deepFindNestedSubModelsOfType_0__68:-1,1"
      Dst: "[ch.qos.logback.core.joran.sanity.SanityChecker$lambda_deepFindNestedSubModelsOfType_0__68].<init>(ch.qos.logback.core.joran.sanity.SanityChecker,java.lang.Class,java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.sanity.SanityChecker$lambda_deepFindNestedSubModelsOfType_0__68].<init>(ch.qos.logback.core.joran.sanity.SanityChecker,java.lang.Class,java.util.List)"
    functionSourceFile: "ch.qos.logback.core.joran.sanity.SanityChecker$lambda_deepFindNestedSubModelsOfType_0__68"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.sanity.SanityChecker"
    - "java.lang.Class"
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.sanity.SanityChecker$lambda_deepFindNestedSubModelsOfType_0__68:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.sanity.SanityChecker$lambda_deepFindNestedSubModelsOfType_0__68].<init>(ch.qos.logback.core.joran.sanity.SanityChecker,java.lang.Class,java.util.List)"
    functionSourceFile: "ch.qos.logback.core.joran.sanity.SanityChecker$lambda_deepFindNestedSubModelsOfType_0__68"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.sanity.SanityChecker"
    - "java.lang.Class"
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.sanity.SanityChecker$lambda_deepFindNestedSubModelsOfType_0__68:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.sanity.SanityChecker$lambda_deepFindNestedSubModelsOfType_0__68].accept(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.joran.sanity.SanityChecker$lambda_deepFindNestedSubModelsOfType_0__68"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.sanity.SanityChecker].lambda$deepFindNestedSubModelsOfType$0(java.lang.Class,java.util.List,ch.qos.logback.core.model.Model)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.sanity.SanityChecker$lambda_deepFindNestedSubModelsOfType_0__68:-1,1"
      Dst: "[ch.qos.logback.core.joran.sanity.SanityChecker].lambda$deepFindNestedSubModelsOfType$0(java.lang.Class,java.util.List,ch.qos.logback.core.model.Model)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.LiteralConverter].<init>(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.pattern.LiteralConverter"
    linkageType: null
    functionLinenumber: 19
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.Converter].<init>()"
    functionUses: 3
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.LiteralConverter:20,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.LiteralConverter].convert(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.pattern.LiteralConverter"
    linkageType: null
    functionLinenumber: 24
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 10
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.EventEvaluatorModelHandler].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler"
    linkageType: null
    functionLinenumber: 21
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:22,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.EventEvaluatorModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler"
    linkageType: null
    functionLinenumber: 25
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.EventEvaluatorModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:26,1"
      Dst: "[ch.qos.logback.core.model.processor.EventEvaluatorModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.EventEvaluatorModelHandler].getSupportedModelClass()"
    functionSourceFile: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler"
    linkageType: null
    functionLinenumber: 30
    functionDepth: 0
    returnType: "java.lang.Class"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.EventEvaluatorModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler"
    linkageType: null
    functionLinenumber: 35
    functionDepth: 13
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.ComponentModel].getClassName()"
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - "[ch.qos.logback.core.model.processor.EventEvaluatorModelHandler].defaultClassName(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.EventEvaluatorModel)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getImport(java.lang.String)"
    - "[ch.qos.logback.core.model.NamedComponentModel].getName()"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.boolex.EventEvaluatorBase].setName(java.lang.String)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].pushObject(java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAware].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.boolex.EventEvaluator].setName(java.lang.String)"
    functionUses: 3
    ICount: 38
    EdgeCount: 15
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:39"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:51"
        BranchSideFuncs:
        - "defaultClassName(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.EventEvaluatorModel)"
        - "isNullOrEmptyOrAllSpaces(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:50"
        BranchSideFuncs:
        - "getImport(java.lang.String)"
    - Branch String: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:41"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:47"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:46"
        BranchSideFuncs:
        - "addInfo(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:38,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].getClassName()"
    - Src: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:39,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:40,1"
      Dst: "[ch.qos.logback.core.model.processor.EventEvaluatorModelHandler].defaultClassName(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.EventEvaluatorModel)"
    - Src: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:43,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:47,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:47,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:51,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getImport(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:54,1"
      Dst: "[ch.qos.logback.core.model.NamedComponentModel].getName()"
    - Src: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:54,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:56,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:58,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:59,1"
      Dst: "[ch.qos.logback.core.boolex.EventEvaluator].setName(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:60,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].pushObject(java.lang.Object)"
    - Src: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:64,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.model.ComponentModel].getClassName()"
    functionSourceFile: "ch.qos.logback.core.model.ComponentModel"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 11
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 282
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    - "[java.lang.String].length()"
    functionUses: 62
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].length()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.model.processor.EventEvaluatorModelHandler].defaultClassName(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.EventEvaluatorModel)"
    functionSourceFile: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler"
    linkageType: null
    functionLinenumber: 69
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.EventEvaluatorModel"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getDefaultNestedComponentRegistry()"
    - "[ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry].findDefaultComponentTypeByTag(java.lang.String)"
    - "[ch.qos.logback.core.model.Model].getTag()"
    functionUses: 1
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:70,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getDefaultNestedComponentRegistry()"
    - Src: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:71,1"
      Dst: "[ch.qos.logback.core.model.Model].getTag()"
    - Src: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:71,1"
      Dst: "[ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry].findDefaultComponentTypeByTag(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getDefaultNestedComponentRegistry()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 190
    functionDepth: 0
    returnType: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 5
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].getTag()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 16
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry].findDefaultComponentTypeByTag(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry"
    linkageType: null
    functionLinenumber: 44
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map].get(java.lang.Object)"
    - "[java.lang.Class].getCanonicalName()"
    functionUses: 1
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry:46"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry:49"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry:48"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry:45,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry:49,1"
      Dst: "[java.lang.Class].getCanonicalName()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getImport(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 287
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map].get(java.lang.Object)"
    functionUses: 9
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:288"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:291"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:290"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:292"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:295"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:294"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:291,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.NamedComponentModel].getName()"
    functionSourceFile: "ch.qos.logback.core.model.NamedComponentModel"
    linkageType: null
    functionLinenumber: 35
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 152
    functionDepth: 12
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.OptionHelper].substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 26
    ICount: 11
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:153"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:158"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:157"
        BranchSideFuncs:
        - "substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:158,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:160,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:160,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 3
    returnType: "java.lang.Object"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Class"
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].getClassLoaderOfObject(java.lang.Object)"
    - "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,java.lang.ClassLoader)"
    functionUses: 12
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:32,1"
      Dst: "[ch.qos.logback.core.util.Loader].getClassLoaderOfObject(java.lang.Object)"
    - Src: "ch.qos.logback.core.util.OptionHelper:33,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,java.lang.ClassLoader)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].pushObject(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 126
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].push(java.lang.Object)"
    functionUses: 12
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:127,1"
      Dst: "[java.util.Stack].push(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 74
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.EventEvaluatorModelHandler].defaultClassName(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.EventEvaluatorModel)"
    functionSourceFile: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler"
    linkageType: null
    functionLinenumber: 69
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.EventEvaluatorModel"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getDefaultNestedComponentRegistry()"
    - "[ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry].findDefaultComponentTypeByTag(java.lang.String)"
    - "[ch.qos.logback.core.model.Model].getTag()"
    functionUses: 1
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:70,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getDefaultNestedComponentRegistry()"
    - Src: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:71,1"
      Dst: "[ch.qos.logback.core.model.Model].getTag()"
    - Src: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:71,1"
      Dst: "[ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry].findDefaultComponentTypeByTag(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.EventEvaluatorModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler"
    linkageType: null
    functionLinenumber: 75
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.boolex.JaninoEventEvaluatorBase].start()"
    - "[ch.qos.logback.core.boolex.EventEvaluatorBase].start()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.boolex.EventEvaluatorBase].getName()"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekObject()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].popObject()"
    - "[ch.qos.logback.core.ContextBase].getObject(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.LifeCycle].start()"
    - "[ch.qos.logback.core.boolex.EventEvaluator].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[ch.qos.logback.core.Context].getObject(java.lang.String)"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.boolex.EventEvaluator)"
    functionUses: 3
    ICount: 37
    EdgeCount: 11
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:76"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:80"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:79"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:80"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:85"
        BranchSideFuncs:
        - "start()"
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:84"
        BranchSideFuncs:
        - "peekObject()"
    - Branch String: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:87"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:90"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:89"
        BranchSideFuncs:
        - "popObject()"
        - "getObject(java.lang.String)"
    - Branch String: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:96"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:99"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:98"
        BranchSideFuncs:
        - "getName()"
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:81,1"
      Dst: "[ch.qos.logback.core.spi.LifeCycle].start()"
    - Src: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:82,1"
      Dst: "[ch.qos.logback.core.boolex.EventEvaluator].getName()"
    - Src: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:82,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:82,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:85,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekObject()"
    - Src: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:88,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:90,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].popObject()"
    - Src: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:95,1"
      Dst: "[ch.qos.logback.core.Context].getObject(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:97,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:99,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - Src: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:102,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.boolex.EventEvaluator)"
    - Src: "ch.qos.logback.core.model.processor.EventEvaluatorModelHandler:102,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 12
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekObject()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 122
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].peek()"
    functionUses: 16
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:123,1"
      Dst: "[java.util.Stack].peek()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 96
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].popObject()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 130
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].pop()"
    functionUses: 12
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:131,1"
      Dst: "[java.util.Stack].pop()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 74
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.StatusListenerConfigHelper].<init>()"
    functionSourceFile: "ch.qos.logback.core.util.StatusListenerConfigHelper"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.StatusListenerConfigHelper:27,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.StatusListenerConfigHelper].installIfAsked(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.util.StatusListenerConfigHelper"
    linkageType: null
    functionLinenumber: 29
    functionDepth: 6
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.OptionHelper].getSystemProperty(java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - "[ch.qos.logback.core.util.StatusListenerConfigHelper].addStatusListener(ch.qos.logback.core.Context,java.lang.String)"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.StatusListenerConfigHelper:31"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StatusListenerConfigHelper:34"
        BranchSideFuncs:
        - "addStatusListener(ch.qos.logback.core.Context,java.lang.String)"
      - BranchSide: "ch.qos.logback.core.util.StatusListenerConfigHelper:33"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.StatusListenerConfigHelper:30,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].getSystemProperty(java.lang.String)"
    - Src: "ch.qos.logback.core.util.StatusListenerConfigHelper:31,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Src: "ch.qos.logback.core.util.StatusListenerConfigHelper:32,1"
      Dst: "[ch.qos.logback.core.util.StatusListenerConfigHelper].addStatusListener(ch.qos.logback.core.Context,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.StatusListenerConfigHelper].addStatusListener(ch.qos.logback.core.Context,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.StatusListenerConfigHelper"
    linkageType: null
    functionLinenumber: 37
    functionDepth: 5
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.OnConsoleStatusListener].<init>()"
    - "[ch.qos.logback.core.util.StatusListenerConfigHelper].createListenerPerClassName(ch.qos.logback.core.Context,java.lang.String)"
    - "[ch.qos.logback.core.util.StatusListenerConfigHelper].initAndAddListener(ch.qos.logback.core.Context,ch.qos.logback.core.status.StatusListener)"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    functionUses: 1
    ICount: 15
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.StatusListenerConfigHelper:38"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StatusListenerConfigHelper:39"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "ch.qos.logback.core.util.StatusListenerConfigHelper:38"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "ch.qos.logback.core.util.StatusListenerConfigHelper:38"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StatusListenerConfigHelper:41"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "ch.qos.logback.core.util.StatusListenerConfigHelper:40"
        BranchSideFuncs:
        - "createListenerPerClassName(ch.qos.logback.core.Context,java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.util.StatusListenerConfigHelper:38,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - Src: "ch.qos.logback.core.util.StatusListenerConfigHelper:39,1"
      Dst: "[ch.qos.logback.core.status.OnConsoleStatusListener].<init>()"
    - Src: "ch.qos.logback.core.util.StatusListenerConfigHelper:41,1"
      Dst: "[ch.qos.logback.core.util.StatusListenerConfigHelper].createListenerPerClassName(ch.qos.logback.core.Context,java.lang.String)"
    - Src: "ch.qos.logback.core.util.StatusListenerConfigHelper:43,1"
      Dst: "[ch.qos.logback.core.util.StatusListenerConfigHelper].initAndAddListener(ch.qos.logback.core.Context,ch.qos.logback.core.status.StatusListener)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.util.StatusListenerConfigHelper].initAndAddListener(ch.qos.logback.core.Context,ch.qos.logback.core.status.StatusListener)"
    functionSourceFile: "ch.qos.logback.core.util.StatusListenerConfigHelper"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.status.StatusListener"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggerContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.LayoutBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.BasicStatusManager].add(ch.qos.logback.core.status.StatusListener)"
    - "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - "[ch.qos.logback.classic.net.SocketReceiver].run()"
    - "[ch.qos.logback.core.boolex.Matcher].start()"
    - "[ch.qos.logback.classic.turbo.MarkerFilter].start()"
    - "[ch.qos.logback.classic.pattern.SyslogStartConverter].start()"
    - "[ch.qos.logback.classic.pattern.KeyValuePairConverter].start()"
    - "[ch.qos.logback.classic.jul.LevelChangePropagator].start()"
    - "[ch.qos.logback.core.AsyncAppenderBase].start()"
    - "[ch.qos.logback.core.pattern.PatternLayoutBase].start()"
    - "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP].start()"
    - "[ch.qos.logback.core.net.server.SSLServerSocketAppenderBase].start()"
    - "[ch.qos.logback.core.status.OnPrintStreamStatusListenerBase].start()"
    - "[ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy].start()"
    - "[ch.qos.logback.core.testUtil.StringListAppender].start()"
    - "[ch.qos.logback.core.filter.EvaluatorFilter].start()"
    - "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].start()"
    - "[ch.qos.logback.classic.html.HTMLLayout].start()"
    - "[ch.qos.logback.classic.pattern.MDCConverter].start()"
    - "[ch.qos.logback.core.net.SMTPAppenderBase].start()"
    - "[ch.qos.logback.core.status.OnFileStatusListener].start()"
    - "[ch.qos.logback.classic.log4j.XMLLayout].start()"
    - "[ch.qos.logback.classic.net.SMTPAppender].start()"
    - "[ch.qos.logback.core.read.CyclicBufferAppender].start()"
    - "[ch.qos.logback.core.boolex.JaninoEventEvaluatorBase].start()"
    - "[ch.qos.logback.core.FileAppender].start()"
    - "[ch.qos.logback.classic.pattern.DateConverter].start()"
    - "[ch.qos.logback.classic.pattern.PropertyConverter].start()"
    - "[ch.qos.logback.classic.encoder.PatternLayoutEncoder].start()"
    - "[ch.qos.logback.classic.layout.TTLLLayout].start()"
    - "[ch.qos.logback.core.rolling.FixedWindowRollingPolicy].start()"
    - "[ch.qos.logback.classic.turbo.MDCFilter].start()"
    - "[ch.qos.logback.classic.pattern.NamedConverter].start()"
    - "[ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy].start()"
    - "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase].start()"
    - "[ch.qos.logback.core.OutputStreamAppender].start()"
    - "[ch.qos.logback.classic.filter.ThresholdFilter].start()"
    - "[ch.qos.logback.core.net.server.AbstractServerSocketAppender].start()"
    - "[ch.qos.logback.classic.pattern.CallerDataConverter].start()"
    - "[ch.qos.logback.classic.pattern.SequenceNumberConverter].start()"
    - "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].start()"
    - "[ch.qos.logback.core.net.SyslogAppenderBase].start()"
    - "[ch.qos.logback.core.sift.SiftingAppenderBase].start()"
    - "[ch.qos.logback.core.rolling.RollingFileAppender].start()"
    - "[ch.qos.logback.core.rolling.helper.DateTokenConverter].start()"
    - "[ch.qos.logback.classic.LoggerContext].start()"
    - "[ch.qos.logback.classic.net.ReceiverBase].start()"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].start()"
    - "[ch.qos.logback.core.net.AbstractSocketAppender].start()"
    - "[ch.qos.logback.classic.turbo.DuplicateMessageFilter].start()"
    - "[ch.qos.logback.classic.turbo.DynamicThresholdFilter].start()"
    - "[ch.qos.logback.core.ConsoleAppender].start()"
    - "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].start()"
    - "[ch.qos.logback.classic.sift.MDCBasedDiscriminator].start()"
    - "[ch.qos.logback.core.pattern.ReplacingCompositeConverter].start()"
    - "[ch.qos.logback.core.html.HTMLLayoutBase].start()"
    - "[ch.qos.logback.classic.filter.LevelFilter].start()"
    - "[ch.qos.logback.classic.helpers.WithLayoutListAppender].start()"
    - "[ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy].start()"
    - "[ch.qos.logback.classic.net.SyslogAppender].start()"
    - "[ch.qos.logback.core.net.AbstractSSLSocketAppender].start()"
    - "[ch.qos.logback.classic.turbo.TurboFilter:ch.qos.logback.core.AppenderBase:ch.qos.logback.core.ContextBase:ch.qos.logback.core.LayoutBase:ch.qos.logback.core.UnsynchronizedAppenderBase:ch.qos.logback.core.boolex.EventEvaluatorBase:ch.qos.logback.core.encoder.EncoderBase:ch.qos.logback.core.filter.Filter:ch.qos.logback.core.pattern.DynamicConverter:ch.qos.logback.core.rolling.RollingPolicyBase:ch.qos.logback.core.rolling.TriggeringPolicyBase:ch.qos.logback.core.sift.AbstractDiscriminator:ch.qos.logback.core.testUtil.TrivialStatusListener].start()"
    - "[ch.qos.logback.core.spi.ContextAware].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.Context].getStatusManager()"
    - "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.StatusListener)"
    - "[ch.qos.logback.core.spi.LifeCycle].start()"
    functionUses: 1
    ICount: 15
    EdgeCount: 68
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.StatusListenerConfigHelper:47"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StatusListenerConfigHelper:56"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.StatusListenerConfigHelper:55"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.StatusListenerConfigHelper:48"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StatusListenerConfigHelper:51"
        BranchSideFuncs:
        - "setContext(ch.qos.logback.core.Context)"
      - BranchSide: "ch.qos.logback.core.util.StatusListenerConfigHelper:50"
        BranchSideFuncs:
        - "add(ch.qos.logback.core.status.StatusListener)"
        - "getStatusManager()"
    - Branch String: "ch.qos.logback.core.util.StatusListenerConfigHelper:52"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StatusListenerConfigHelper:56"
        BranchSideFuncs:
        - "run()"
        - "start()"
      - BranchSide: "ch.qos.logback.core.util.StatusListenerConfigHelper:55"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.StatusListenerConfigHelper:52"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StatusListenerConfigHelper:56"
        BranchSideFuncs:
        - "run()"
        - "start()"
      - BranchSide: "ch.qos.logback.core.util.StatusListenerConfigHelper:55"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.StatusListenerConfigHelper:49,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.util.StatusListenerConfigHelper:51,1"
      Dst: "[ch.qos.logback.core.Context].getStatusManager()"
    - Src: "ch.qos.logback.core.util.StatusListenerConfigHelper:51,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.StatusListener)"
    - Src: "ch.qos.logback.core.util.StatusListenerConfigHelper:53,1"
      Dst: "[ch.qos.logback.core.spi.LifeCycle].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.util.StatusListenerConfigHelper].createListenerPerClassName(ch.qos.logback.core.Context,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.StatusListenerConfigHelper"
    linkageType: null
    functionLinenumber: 59
    functionDepth: 4
    returnType: "ch.qos.logback.core.status.StatusListener"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,ch.qos.logback.core.Context)"
    - "[java.lang.Throwable].printStackTrace()"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.StatusListenerConfigHelper:60,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.util.StatusListenerConfigHelper:63,1"
      Dst: "[java.lang.Throwable].printStackTrace()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.StatusListenerConfigHelper].addOnConsoleListenerInstance(ch.qos.logback.core.Context,ch.qos.logback.core.status.OnConsoleStatusListener)"
    functionSourceFile: "ch.qos.logback.core.util.StatusListenerConfigHelper"
    linkageType: null
    functionLinenumber: 75
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.status.OnConsoleStatusListener"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.BasicStatusManager].add(ch.qos.logback.core.status.StatusListener)"
    - "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - "[ch.qos.logback.core.status.OnPrintStreamStatusListenerBase].start()"
    - "[ch.qos.logback.core.Context].getStatusManager()"
    - "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.StatusListener)"
    functionUses: 1
    ICount: 8
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.StatusListenerConfigHelper:78"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.StatusListenerConfigHelper:81"
        BranchSideFuncs:
        - "start()"
      - BranchSide: "ch.qos.logback.core.util.StatusListenerConfigHelper:80"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.StatusListenerConfigHelper:76,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.util.StatusListenerConfigHelper:77,1"
      Dst: "[ch.qos.logback.core.Context].getStatusManager()"
    - Src: "ch.qos.logback.core.util.StatusListenerConfigHelper:77,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.StatusListener)"
    - Src: "ch.qos.logback.core.util.StatusListenerConfigHelper:79,1"
      Dst: "[ch.qos.logback.core.status.OnPrintStreamStatusListenerBase].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.encoder.JsonEscapeUtil].<init>()"
    functionSourceFile: "ch.qos.logback.core.encoder.JsonEscapeUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.encoder.JsonEscapeUtil:17,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.encoder.JsonEscapeUtil]._computeEscapeCodeBelowASCII32(char)"
    functionSourceFile: "ch.qos.logback.core.encoder.JsonEscapeUtil"
    linkageType: null
    functionLinenumber: 63
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.StringBuilder].<init>(int)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 21
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.encoder.JsonEscapeUtil:64"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.encoder.JsonEscapeUtil:68"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.encoder.JsonEscapeUtil:67"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.encoder.JsonEscapeUtil:65,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.encoder.JsonEscapeUtil:68,1"
      Dst: "[java.lang.StringBuilder].<init>(int)"
    - Src: "ch.qos.logback.core.encoder.JsonEscapeUtil:69,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.core.encoder.JsonEscapeUtil:72,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.core.encoder.JsonEscapeUtil:77,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.encoder.JsonEscapeUtil].getObligatoryEscapeCode(char)"
    functionSourceFile: "ch.qos.logback.core.encoder.JsonEscapeUtil"
    linkageType: null
    functionLinenumber: 83
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.encoder.JsonEscapeUtil:84"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.encoder.JsonEscapeUtil:null"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.encoder.JsonEscapeUtil:86"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.encoder.JsonEscapeUtil:null"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.encoder.JsonEscapeUtil:88"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.encoder.JsonEscapeUtil:91"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.encoder.JsonEscapeUtil:90"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.encoder.JsonEscapeUtil].jsonEscapeString(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.encoder.JsonEscapeUtil"
    linkageType: null
    functionLinenumber: 94
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.encoder.JsonEscapeUtil].getObligatoryEscapeCode(char)"
    - "[java.lang.String].length()"
    - "[java.lang.StringBuilder].<init>(int)"
    - "[java.lang.String].charAt(int)"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 2
    ICount: 19
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.encoder.JsonEscapeUtil:99"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.encoder.JsonEscapeUtil:109"
        BranchSideFuncs:
        - "getObligatoryEscapeCode(char)"
      - BranchSide: "ch.qos.logback.core.encoder.JsonEscapeUtil:108"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.encoder.JsonEscapeUtil:102"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.encoder.JsonEscapeUtil:105"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.encoder.JsonEscapeUtil:104"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.encoder.JsonEscapeUtil:95,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.core.encoder.JsonEscapeUtil:98,1"
      Dst: "[java.lang.StringBuilder].<init>(int)"
    - Src: "ch.qos.logback.core.encoder.JsonEscapeUtil:100,1"
      Dst: "[java.lang.String].charAt(int)"
    - Src: "ch.qos.logback.core.encoder.JsonEscapeUtil:101,1"
      Dst: "[ch.qos.logback.core.encoder.JsonEscapeUtil].getObligatoryEscapeCode(char)"
    - Src: "ch.qos.logback.core.encoder.JsonEscapeUtil:103,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.core.encoder.JsonEscapeUtil:105,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.core.encoder.JsonEscapeUtil:109,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.encoder.JsonEscapeUtil].getObligatoryEscapeCode(char)"
    functionSourceFile: "ch.qos.logback.core.encoder.JsonEscapeUtil"
    linkageType: null
    functionLinenumber: 83
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.encoder.JsonEscapeUtil:84"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.encoder.JsonEscapeUtil:null"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.encoder.JsonEscapeUtil:86"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.encoder.JsonEscapeUtil:null"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.encoder.JsonEscapeUtil:88"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.encoder.JsonEscapeUtil:91"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.encoder.JsonEscapeUtil:90"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.ThreadConverter].<init>()"
    functionSourceFile: "ch.qos.logback.classic.pattern.ThreadConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.ClassicConverter].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.ThreadConverter:23,1"
      Dst: "[ch.qos.logback.classic.pattern.ClassicConverter].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.ThreadConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.pattern.ThreadConverter"
    linkageType: null
    functionLinenumber: 25
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].getThreadName()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getThreadName()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getThreadName()"
    functionUses: 1
    ICount: 4
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.ThreadConverter:26,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getThreadName()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.ThreadConverter].convert(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.pattern.ThreadConverter"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.ThreadConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 11
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.ThreadConverter:23,1"
      Dst: "[ch.qos.logback.classic.pattern.ThreadConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.ThreadConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.pattern.ThreadConverter"
    linkageType: null
    functionLinenumber: 25
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].getThreadName()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getThreadName()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getThreadName()"
    functionUses: 1
    ICount: 4
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.ThreadConverter:26,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getThreadName()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.OnErrorConsoleStatusListener].<init>()"
    functionSourceFile: "ch.qos.logback.core.status.OnErrorConsoleStatusListener"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.OnPrintStreamStatusListenerBase].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.OnErrorConsoleStatusListener:24,1"
      Dst: "[ch.qos.logback.core.status.OnPrintStreamStatusListenerBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.OnErrorConsoleStatusListener].getPrintStream()"
    functionSourceFile: "ch.qos.logback.core.status.OnErrorConsoleStatusListener"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 0
    returnType: "java.io.PrintStream"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SMTPAppender].<init>()"
    functionSourceFile: "ch.qos.logback.classic.net.SMTPAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.SMTPAppenderBase].<init>()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SMTPAppender:53,1"
      Dst: "[ch.qos.logback.core.net.SMTPAppenderBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SMTPAppender].start()"
    functionSourceFile: "ch.qos.logback.classic.net.SMTPAppender"
    linkageType: null
    functionLinenumber: 57
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.boolex.OnErrorEvaluator].<init>()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.boolex.EventEvaluatorBase].setName(java.lang.String)"
    - "[ch.qos.logback.core.boolex.EventEvaluatorBase].start()"
    - "[ch.qos.logback.core.net.SMTPAppenderBase].start()"
    functionUses: 6
    ICount: 12
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.net.SMTPAppender:58"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SMTPAppender:65"
        BranchSideFuncs:
        - "<init>()"
        - "setContext(ch.qos.logback.core.Context)"
        - "getContext()"
        - "setName(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.net.SMTPAppender:64"
        BranchSideFuncs:
        - "start()"
    Callsites:
    - Src: "ch.qos.logback.classic.net.SMTPAppender:59,1"
      Dst: "[ch.qos.logback.classic.boolex.OnErrorEvaluator].<init>()"
    - Src: "ch.qos.logback.classic.net.SMTPAppender:60,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - Src: "ch.qos.logback.classic.net.SMTPAppender:60,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.net.SMTPAppender:61,1"
      Dst: "[ch.qos.logback.core.boolex.EventEvaluatorBase].setName(java.lang.String)"
    - Src: "ch.qos.logback.classic.net.SMTPAppender:62,1"
      Dst: "[ch.qos.logback.core.boolex.EventEvaluatorBase].start()"
    - Src: "ch.qos.logback.classic.net.SMTPAppender:65,1"
      Dst: "[ch.qos.logback.core.net.SMTPAppenderBase].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.boolex.OnErrorEvaluator].<init>()"
    functionSourceFile: "ch.qos.logback.classic.boolex.OnErrorEvaluator"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.boolex.EventEvaluatorBase].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.boolex.OnErrorEvaluator:28,1"
      Dst: "[ch.qos.logback.core.boolex.EventEvaluatorBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 0
    returnType: "ch.qos.logback.core.Context"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 35
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 67
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:45"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:44"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:47"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:46,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.net.SMTPAppender].<init>(ch.qos.logback.core.boolex.EventEvaluator)"
    functionSourceFile: "ch.qos.logback.classic.net.SMTPAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.boolex.EventEvaluator"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.SMTPAppenderBase].<init>()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SMTPAppender:71,1"
      Dst: "[ch.qos.logback.core.net.SMTPAppenderBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SMTPAppender].subAppend(ch.qos.logback.core.helpers.CyclicBuffer,ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.net.SMTPAppender"
    linkageType: null
    functionLinenumber: 79
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.helpers.CyclicBuffer"
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].getCallerData()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getCallerData()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].prepareForDeferredProcessing()"
    - "[ch.qos.logback.core.helpers.CyclicBuffer].add(java.lang.Object)"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getCallerData()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].prepareForDeferredProcessing()"
    functionUses: 1
    ICount: 9
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.net.SMTPAppender:80"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SMTPAppender:83"
        BranchSideFuncs:
        - "getCallerData()"
      - BranchSide: "ch.qos.logback.classic.net.SMTPAppender:82"
        BranchSideFuncs:
        - "add(java.lang.Object)"
        - "prepareForDeferredProcessing()"
    Callsites:
    - Src: "ch.qos.logback.classic.net.SMTPAppender:81,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getCallerData()"
    - Src: "ch.qos.logback.classic.net.SMTPAppender:83,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].prepareForDeferredProcessing()"
    - Src: "ch.qos.logback.classic.net.SMTPAppender:84,1"
      Dst: "[ch.qos.logback.core.helpers.CyclicBuffer].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.helpers.CyclicBuffer].add(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.helpers.CyclicBuffer"
    linkageType: null
    functionLinenumber: 80
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 25
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.helpers.CyclicBuffer:82"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:85"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:84"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.helpers.CyclicBuffer:85"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:87"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:86"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.helpers.CyclicBuffer:87"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:89"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:88"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.classic.net.SMTPAppender].fillBuffer(ch.qos.logback.core.helpers.CyclicBuffer,java.lang.StringBuffer)"
    functionSourceFile: "ch.qos.logback.classic.net.SMTPAppender"
    linkageType: null
    functionLinenumber: 88
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.helpers.CyclicBuffer"
    - "java.lang.StringBuffer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.helpers.CyclicBuffer].length()"
    - "[ch.qos.logback.core.Layout:ch.qos.logback.core.helpers.CyclicBuffer].get()"
    - "[ch.qos.logback.classic.PatternLayout].doLayout(java.lang.Object)"
    - "[ch.qos.logback.core.layout.EchoLayout].doLayout(java.lang.Object)"
    - "[ch.qos.logback.classic.html.HTMLLayout].doLayout(java.lang.Object)"
    - "[ch.qos.logback.classic.log4j.XMLLayout].doLayout(java.lang.Object)"
    - "[ch.qos.logback.classic.layout.TTLLLayout].doLayout(java.lang.Object)"
    - "[ch.qos.logback.core.helpers.CyclicBuffer].get()"
    - "[ch.qos.logback.core.Layout].doLayout(java.lang.Object)"
    - "[java.lang.StringBuffer].append(java.lang.String)"
    functionUses: 1
    ICount: 14
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.net.SMTPAppender:90"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SMTPAppender:93"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SMTPAppender:89,1"
      Dst: "[ch.qos.logback.core.helpers.CyclicBuffer].length()"
    - Src: "ch.qos.logback.classic.net.SMTPAppender:91,1"
      Dst: "[ch.qos.logback.core.helpers.CyclicBuffer].get()"
    - Src: "ch.qos.logback.classic.net.SMTPAppender:92,1"
      Dst: "[ch.qos.logback.core.Layout].doLayout(java.lang.Object)"
    - Src: "ch.qos.logback.classic.net.SMTPAppender:92,1"
      Dst: "[java.lang.StringBuffer].append(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.helpers.CyclicBuffer].length()"
    functionSourceFile: "ch.qos.logback.core.helpers.CyclicBuffer"
    linkageType: null
    functionLinenumber: 135
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.helpers.CyclicBuffer].get()"
    functionSourceFile: "ch.qos.logback.core.helpers.CyclicBuffer"
    linkageType: null
    functionLinenumber: 111
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 20
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.helpers.CyclicBuffer:113"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:120"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:119"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.helpers.CyclicBuffer:117"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:120"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:119"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.net.SMTPAppender].eventMarksEndOfLife(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.net.SMTPAppender"
    linkageType: null
    functionLinenumber: 96
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getMarkerList()"
    - "[ch.qos.logback.core.util.COWArrayList].isEmpty()"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[org.slf4j.helpers.BasicMarker].contains(org.slf4j.Marker)"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getMarkerList()"
    - "[java.util.List].isEmpty()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[org.slf4j.Marker].contains(org.slf4j.Marker)"
    functionUses: 1
    ICount: 18
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.net.SMTPAppender:98"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SMTPAppender:99"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.net.SMTPAppender:98"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.net.SMTPAppender:98"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SMTPAppender:101"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.net.SMTPAppender:100"
        BranchSideFuncs:
        - "iterator()"
    - Branch String: "ch.qos.logback.classic.net.SMTPAppender:101"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SMTPAppender:106"
        BranchSideFuncs:
        - "iterator()"
        - "contains(org.slf4j.Marker)"
      - BranchSide: "ch.qos.logback.classic.net.SMTPAppender:105"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.net.SMTPAppender:102"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SMTPAppender:105"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.net.SMTPAppender:104"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SMTPAppender:97,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getMarkerList()"
    - Src: "ch.qos.logback.classic.net.SMTPAppender:98,1"
      Dst: "[java.util.List].isEmpty()"
    - Src: "ch.qos.logback.classic.net.SMTPAppender:101,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.classic.net.SMTPAppender:101,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.classic.net.SMTPAppender:101,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.classic.net.SMTPAppender:102,1"
      Dst: "[org.slf4j.Marker].contains(org.slf4j.Marker)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.net.SMTPAppender].makeSubjectLayout(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.net.SMTPAppender"
    linkageType: null
    functionLinenumber: 110
    functionDepth: 2
    returnType: "ch.qos.logback.core.Layout"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.PatternLayout].<init>()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - "[ch.qos.logback.core.LayoutBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.pattern.PatternLayoutBase].setPattern(java.lang.String)"
    - "[ch.qos.logback.core.pattern.PatternLayoutBase].setPostCompileProcessor(ch.qos.logback.core.pattern.PostCompileProcessor)"
    - "[ch.qos.logback.core.pattern.PatternLayoutBase].start()"
    functionUses: 1
    ICount: 12
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.net.SMTPAppender:111"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SMTPAppender:114"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.net.SMTPAppender:113"
        BranchSideFuncs:
        - "<init>()"
        - "setContext(ch.qos.logback.core.Context)"
        - "getContext()"
        - "start()"
        - "setPattern(java.lang.String)"
        - "setPostCompileProcessor(ch.qos.logback.core.pattern.PostCompileProcessor)"
    Callsites:
    - Src: "ch.qos.logback.classic.net.SMTPAppender:114,1"
      Dst: "[ch.qos.logback.classic.PatternLayout].<init>()"
    - Src: "ch.qos.logback.classic.net.SMTPAppender:115,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - Src: "ch.qos.logback.classic.net.SMTPAppender:115,1"
      Dst: "[ch.qos.logback.core.LayoutBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.net.SMTPAppender:116,1"
      Dst: "[ch.qos.logback.core.pattern.PatternLayoutBase].setPattern(java.lang.String)"
    - Src: "ch.qos.logback.classic.net.SMTPAppender:120,1"
      Dst: "[ch.qos.logback.core.pattern.PatternLayoutBase].setPostCompileProcessor(ch.qos.logback.core.pattern.PostCompileProcessor)"
    - Src: "ch.qos.logback.classic.net.SMTPAppender:121,1"
      Dst: "[ch.qos.logback.core.pattern.PatternLayoutBase].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.PatternLayout].<init>()"
    functionSourceFile: "ch.qos.logback.classic.PatternLayout"
    linkageType: null
    functionLinenumber: 163
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.PatternLayoutBase].<init>()"
    - "[ch.qos.logback.classic.pattern.EnsureExceptionHandling].<init>()"
    functionUses: 4
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.PatternLayout:164,1"
      Dst: "[ch.qos.logback.core.pattern.PatternLayoutBase].<init>()"
    - Src: "ch.qos.logback.classic.PatternLayout:165,1"
      Dst: "[ch.qos.logback.classic.pattern.EnsureExceptionHandling].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 0
    returnType: "ch.qos.logback.core.Context"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 35
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SMTPAppender].makeNewToPatternLayout(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.net.SMTPAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.classic.PatternLayout"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.PatternLayout].<init>()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[ch.qos.logback.core.pattern.PatternLayoutBase].setPattern(java.lang.String)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SMTPAppender:126,1"
      Dst: "[ch.qos.logback.classic.PatternLayout].<init>()"
    - Src: "ch.qos.logback.classic.net.SMTPAppender:127,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.net.SMTPAppender:127,1"
      Dst: "[ch.qos.logback.core.pattern.PatternLayoutBase].setPattern(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.PatternLayout].<init>()"
    functionSourceFile: "ch.qos.logback.classic.PatternLayout"
    linkageType: null
    functionLinenumber: 163
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.PatternLayoutBase].<init>()"
    - "[ch.qos.logback.classic.pattern.EnsureExceptionHandling].<init>()"
    functionUses: 4
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.PatternLayout:164,1"
      Dst: "[ch.qos.logback.core.pattern.PatternLayoutBase].<init>()"
    - Src: "ch.qos.logback.classic.PatternLayout:165,1"
      Dst: "[ch.qos.logback.classic.pattern.EnsureExceptionHandling].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SMTPAppender].isIncludeCallerData()"
    functionSourceFile: "ch.qos.logback.classic.net.SMTPAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SMTPAppender].setIncludeCallerData(boolean)"
    functionSourceFile: "ch.qos.logback.classic.net.SMTPAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SMTPAppender].getAsynchronousSendingFuture()"
    functionSourceFile: "ch.qos.logback.classic.net.SMTPAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.util.concurrent.Future"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SMTPAppender].subAppend(ch.qos.logback.core.helpers.CyclicBuffer,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.net.SMTPAppender"
    linkageType: null
    functionLinenumber: 40
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.helpers.CyclicBuffer"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.net.SMTPAppender].subAppend(ch.qos.logback.core.helpers.CyclicBuffer,ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SMTPAppender:41,1"
      Dst: "[ch.qos.logback.classic.net.SMTPAppender].subAppend(ch.qos.logback.core.helpers.CyclicBuffer,ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SMTPAppender].subAppend(ch.qos.logback.core.helpers.CyclicBuffer,ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.net.SMTPAppender"
    linkageType: null
    functionLinenumber: 79
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.helpers.CyclicBuffer"
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].getCallerData()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getCallerData()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].prepareForDeferredProcessing()"
    - "[ch.qos.logback.core.helpers.CyclicBuffer].add(java.lang.Object)"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getCallerData()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].prepareForDeferredProcessing()"
    functionUses: 1
    ICount: 9
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.net.SMTPAppender:80"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SMTPAppender:83"
        BranchSideFuncs:
        - "getCallerData()"
      - BranchSide: "ch.qos.logback.classic.net.SMTPAppender:82"
        BranchSideFuncs:
        - "add(java.lang.Object)"
        - "prepareForDeferredProcessing()"
    Callsites:
    - Src: "ch.qos.logback.classic.net.SMTPAppender:81,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getCallerData()"
    - Src: "ch.qos.logback.classic.net.SMTPAppender:83,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].prepareForDeferredProcessing()"
    - Src: "ch.qos.logback.classic.net.SMTPAppender:84,1"
      Dst: "[ch.qos.logback.core.helpers.CyclicBuffer].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.net.SMTPAppender].eventMarksEndOfLife(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.net.SMTPAppender"
    linkageType: null
    functionLinenumber: 40
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.net.SMTPAppender].eventMarksEndOfLife(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SMTPAppender:41,1"
      Dst: "[ch.qos.logback.classic.net.SMTPAppender].eventMarksEndOfLife(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SMTPAppender].eventMarksEndOfLife(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.net.SMTPAppender"
    linkageType: null
    functionLinenumber: 96
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getMarkerList()"
    - "[ch.qos.logback.core.util.COWArrayList].isEmpty()"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[org.slf4j.helpers.BasicMarker].contains(org.slf4j.Marker)"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getMarkerList()"
    - "[java.util.List].isEmpty()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[org.slf4j.Marker].contains(org.slf4j.Marker)"
    functionUses: 1
    ICount: 18
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.net.SMTPAppender:98"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SMTPAppender:99"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.net.SMTPAppender:98"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.net.SMTPAppender:98"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SMTPAppender:101"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.net.SMTPAppender:100"
        BranchSideFuncs:
        - "iterator()"
    - Branch String: "ch.qos.logback.classic.net.SMTPAppender:101"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SMTPAppender:106"
        BranchSideFuncs:
        - "iterator()"
        - "contains(org.slf4j.Marker)"
      - BranchSide: "ch.qos.logback.classic.net.SMTPAppender:105"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.net.SMTPAppender:102"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SMTPAppender:105"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.net.SMTPAppender:104"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SMTPAppender:97,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getMarkerList()"
    - Src: "ch.qos.logback.classic.net.SMTPAppender:98,1"
      Dst: "[java.util.List].isEmpty()"
    - Src: "ch.qos.logback.classic.net.SMTPAppender:101,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.classic.net.SMTPAppender:101,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.classic.net.SMTPAppender:101,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.classic.net.SMTPAppender:102,1"
      Dst: "[org.slf4j.Marker].contains(org.slf4j.Marker)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.turbo.MarkerFilter].<init>()"
    functionSourceFile: "ch.qos.logback.classic.turbo.MarkerFilter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.turbo.MatchingFilter].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.turbo.MarkerFilter:27,1"
      Dst: "[ch.qos.logback.classic.turbo.MatchingFilter].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.MarkerFilter].start()"
    functionSourceFile: "ch.qos.logback.classic.turbo.MarkerFilter"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.turbo.TurboFilter].start()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.classic.turbo.TurboFilter].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 5
    ICount: 9
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.turbo.MarkerFilter:33"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.turbo.MarkerFilter:36"
        BranchSideFuncs:
        - "start()"
      - BranchSide: "ch.qos.logback.classic.turbo.MarkerFilter:35"
        BranchSideFuncs:
        - "getName()"
        - "addError(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.classic.turbo.MarkerFilter:34,1"
      Dst: "[ch.qos.logback.classic.turbo.TurboFilter].start()"
    - Src: "ch.qos.logback.classic.turbo.MarkerFilter:36,1"
      Dst: "[ch.qos.logback.classic.turbo.TurboFilter].getName()"
    - Src: "ch.qos.logback.classic.turbo.MarkerFilter:36,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.turbo.MarkerFilter:36,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.MarkerFilter].decide(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.turbo.MarkerFilter"
    linkageType: null
    functionLinenumber: 41
    functionDepth: 0
    returnType: "ch.qos.logback.core.spi.FilterReply"
    argCount: 6
    argTypes:
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Logger"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.turbo.TurboFilter].isStarted()"
    - "[org.slf4j.helpers.BasicMarker].contains(org.slf4j.Marker)"
    - "[org.slf4j.Marker].contains(org.slf4j.Marker)"
    functionUses: 2
    ICount: 21
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.turbo.MarkerFilter:42"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.turbo.MarkerFilter:46"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.turbo.MarkerFilter:45"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.turbo.MarkerFilter:46"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.turbo.MarkerFilter:50"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.turbo.MarkerFilter:49"
        BranchSideFuncs:
        - "contains(org.slf4j.Marker)"
    - Branch String: "ch.qos.logback.classic.turbo.MarkerFilter:50"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.turbo.MarkerFilter:53"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.turbo.MarkerFilter:52"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.turbo.MarkerFilter:42,1"
      Dst: "[ch.qos.logback.classic.turbo.TurboFilter].isStarted()"
    - Src: "ch.qos.logback.classic.turbo.MarkerFilter:50,1"
      Dst: "[org.slf4j.Marker].contains(org.slf4j.Marker)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.MarkerFilter].setMarker(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.turbo.MarkerFilter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.MarkerFactory].getMarker(java.lang.String)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.turbo.MarkerFilter:63"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.turbo.MarkerFilter:66"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.turbo.MarkerFilter:65"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.turbo.MarkerFilter:64,1"
      Dst: "[org.slf4j.MarkerFactory].getMarker(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.MarkerFactory].getMarker(java.lang.String)"
    functionSourceFile: "org.slf4j.MarkerFactory"
    linkageType: null
    functionLinenumber: 71
    functionDepth: 0
    returnType: "org.slf4j.Marker"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.BasicMarkerFactory].getMarker(java.lang.String)"
    - "[org.slf4j.IMarkerFactory].getMarker(java.lang.String)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.MarkerFactory:72,1"
      Dst: "[org.slf4j.IMarkerFactory].getMarker(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__75].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__75"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__75].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__75:-1,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__75].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__75].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__75"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__75:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__75].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__75"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.DefineModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__75:-1,1"
      Dst: "[ch.qos.logback.core.model.processor.DefineModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.DefineModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.DefineModelHandler"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.DefineModelHandler"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.DefineModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.DefineModelHandler:44,1"
      Dst: "[ch.qos.logback.core.model.processor.DefineModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.RootLoggerModelHandler].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.classic.model.processor.RootLoggerModelHandler"
    linkageType: null
    functionLinenumber: 19
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.RootLoggerModelHandler:20,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.RootLoggerModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.classic.model.processor.RootLoggerModelHandler"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 1
    returnType: "ch.qos.logback.classic.model.processor.RootLoggerModelHandler"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.model.processor.RootLoggerModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.RootLoggerModelHandler:24,1"
      Dst: "[ch.qos.logback.classic.model.processor.RootLoggerModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.RootLoggerModelHandler].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.classic.model.processor.RootLoggerModelHandler"
    linkageType: null
    functionLinenumber: 19
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.RootLoggerModelHandler:20,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.RootLoggerModelHandler].getSupportedModelClass()"
    functionSourceFile: "ch.qos.logback.classic.model.processor.RootLoggerModelHandler"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 0
    returnType: "java.lang.Class"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.RootLoggerModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.classic.model.processor.RootLoggerModelHandler"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 13
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getLogger(java.lang.String)"
    - "[ch.qos.logback.classic.model.RootLoggerModel].getLevel()"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - "[ch.qos.logback.classic.Level].toLevel(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.classic.Logger].setLevel(ch.qos.logback.classic.Level)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].pushObject(java.lang.Object)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.classic.Level)"
    functionUses: 3
    ICount: 21
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.model.processor.RootLoggerModelHandler:41"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.processor.RootLoggerModelHandler:47"
        BranchSideFuncs:
        - "setLevel(ch.qos.logback.classic.Level)"
        - "toLevel(java.lang.String)"
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.model.processor.RootLoggerModelHandler:46"
        BranchSideFuncs:
        - "pushObject(java.lang.Object)"
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.RootLoggerModelHandler:38,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getLogger(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.RootLoggerModelHandler:40,1"
      Dst: "[ch.qos.logback.classic.model.RootLoggerModel].getLevel()"
    - Src: "ch.qos.logback.classic.model.processor.RootLoggerModelHandler:40,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.RootLoggerModelHandler:41,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.RootLoggerModelHandler:42,1"
      Dst: "[ch.qos.logback.classic.Level].toLevel(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.RootLoggerModelHandler:43,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.classic.Level)"
    - Src: "ch.qos.logback.classic.model.processor.RootLoggerModelHandler:43,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.RootLoggerModelHandler:44,1"
      Dst: "[ch.qos.logback.classic.Logger].setLevel(ch.qos.logback.classic.Level)"
    - Src: "ch.qos.logback.classic.model.processor.RootLoggerModelHandler:47,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].pushObject(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.LoggerContext].getLogger(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 128
    functionDepth: 2
    returnType: "ch.qos.logback.classic.Logger"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.util.LoggerNameUtil].getSeparatorIndexOf(java.lang.String,int)"
    - "[ch.qos.logback.classic.Logger].getChildByName(java.lang.String)"
    - "[ch.qos.logback.classic.Logger].createChildByName(java.lang.String)"
    - "[ch.qos.logback.classic.LoggerContext].incSize()"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - "[java.util.Map].get(java.lang.Object)"
    - "[java.lang.String].substring(int,int)"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 10
    ICount: 45
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.LoggerContext:129"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:135"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:134"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.LoggerContext:135"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:139"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:138"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.LoggerContext:146"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:154"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:153"
        BranchSideFuncs:
        - "getSeparatorIndexOf(java.lang.String,int)"
    - Branch String: "ch.qos.logback.classic.LoggerContext:155"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:158"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:157"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.LoggerContext:164"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:169"
        BranchSideFuncs:
        - "createChildByName(java.lang.String)"
        - "incSize()"
      - BranchSide: "ch.qos.logback.classic.LoggerContext:168"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.LoggerContext:171"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:174"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:173"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:130,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.classic.LoggerContext:135,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - Src: "ch.qos.logback.classic.LoggerContext:144,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "ch.qos.logback.classic.LoggerContext:154,1"
      Dst: "[ch.qos.logback.classic.util.LoggerNameUtil].getSeparatorIndexOf(java.lang.String,int)"
    - Src: "ch.qos.logback.classic.LoggerContext:158,1"
      Dst: "[java.lang.String].substring(int,int)"
    - Src: "ch.qos.logback.classic.LoggerContext:163,1"
      Dst: "[ch.qos.logback.classic.Logger].getChildByName(java.lang.String)"
    - Src: "ch.qos.logback.classic.LoggerContext:165,1"
      Dst: "[ch.qos.logback.classic.Logger].createChildByName(java.lang.String)"
    - Src: "ch.qos.logback.classic.LoggerContext:166,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - Src: "ch.qos.logback.classic.LoggerContext:167,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].incSize()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 16
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.model.RootLoggerModel].getLevel()"
    functionSourceFile: "ch.qos.logback.classic.model.RootLoggerModel"
    linkageType: null
    functionLinenumber: 41
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 152
    functionDepth: 12
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.OptionHelper].substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 26
    ICount: 11
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:153"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:158"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:157"
        BranchSideFuncs:
        - "substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:158,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:160,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:160,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 282
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    - "[java.lang.String].length()"
    functionUses: 62
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].length()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.Level].toLevel(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.Level"
    linkageType: null
    functionLinenumber: 154
    functionDepth: 1
    returnType: "ch.qos.logback.classic.Level"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Level].toLevel(java.lang.String,ch.qos.logback.classic.Level)"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Level:155,1"
      Dst: "[ch.qos.logback.classic.Level].toLevel(java.lang.String,ch.qos.logback.classic.Level)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].setLevel(ch.qos.logback.classic.Level)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 150
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.Level"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].isRootLogger()"
    - "[ch.qos.logback.classic.Logger].getEffectiveLevel()"
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.util.COWArrayList].get(int)"
    - "[ch.qos.logback.classic.Logger].handleParentLevelChange(int)"
    - "[ch.qos.logback.classic.LoggerContext].fireOnLevelChange(ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    functionUses: 6
    ICount: 37
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:151"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:154"
        BranchSideFuncs:
        - "isRootLogger()"
    - Branch String: "ch.qos.logback.classic.Logger:155"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:159"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:158"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:155"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:159"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:158"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:160"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:164"
        BranchSideFuncs:
        - "getEffectiveLevel()"
      - BranchSide: "ch.qos.logback.classic.Logger:163"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:167"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:176"
        BranchSideFuncs:
        - "size()"
      - BranchSide: "ch.qos.logback.classic.Logger:175"
        BranchSideFuncs:
        - "fireOnLevelChange(ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level)"
    - Branch String: "ch.qos.logback.classic.Logger:169"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:175"
        BranchSideFuncs:
        - "fireOnLevelChange(ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level)"
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:155,1"
      Dst: "[ch.qos.logback.classic.Logger].isRootLogger()"
    - Src: "ch.qos.logback.classic.Logger:156,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.classic.Logger:162,1"
      Dst: "[ch.qos.logback.classic.Logger].getEffectiveLevel()"
    - Src: "ch.qos.logback.classic.Logger:168,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.classic.Logger:170,1"
      Dst: "[java.util.List].get(int)"
    - Src: "ch.qos.logback.classic.Logger:172,1"
      Dst: "[ch.qos.logback.classic.Logger].handleParentLevelChange(int)"
    - Src: "ch.qos.logback.classic.Logger:176,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].fireOnLevelChange(ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 13
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].pushObject(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 126
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].push(java.lang.Object)"
    functionUses: 12
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:127,1"
      Dst: "[java.util.Stack].push(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.RootLoggerModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.classic.model.processor.RootLoggerModelHandler"
    linkageType: null
    functionLinenumber: 51
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekObject()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].popObject()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Object)"
    functionUses: 3
    ICount: 14
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.model.processor.RootLoggerModelHandler:52"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.processor.RootLoggerModelHandler:55"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.model.processor.RootLoggerModelHandler:54"
        BranchSideFuncs:
        - "peekObject()"
    - Branch String: "ch.qos.logback.classic.model.processor.RootLoggerModelHandler:56"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.processor.RootLoggerModelHandler:59"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.model.processor.RootLoggerModelHandler:58"
        BranchSideFuncs:
        - "popObject()"
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.RootLoggerModelHandler:55,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekObject()"
    - Src: "ch.qos.logback.classic.model.processor.RootLoggerModelHandler:57,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Object)"
    - Src: "ch.qos.logback.classic.model.processor.RootLoggerModelHandler:57,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.classic.model.processor.RootLoggerModelHandler:59,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].popObject()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekObject()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 122
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].peek()"
    functionUses: 16
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:123,1"
      Dst: "[java.util.Stack].peek()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 96
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].popObject()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 130
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].pop()"
    functionUses: 12
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:131,1"
      Dst: "[java.util.Stack].pop()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.color.GrayCompositeConverter].<init>()"
    functionSourceFile: "ch.qos.logback.core.pattern.color.GrayCompositeConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.color.ForegroundCompositeConverterBase].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.color.GrayCompositeConverter:26,1"
      Dst: "[ch.qos.logback.core.pattern.color.ForegroundCompositeConverterBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.color.GrayCompositeConverter].getForegroundColorCode(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.pattern.color.GrayCompositeConverter"
    linkageType: null
    functionLinenumber: 29
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.servlet.LogbackServletContextListener].<init>()"
    functionSourceFile: "ch.qos.logback.classic.servlet.LogbackServletContextListener"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.servlet.LogbackServletContextListener:20,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.classic.servlet.LogbackServletContextListener:22,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.servlet.LogbackServletContextListener].contextInitialized(jakarta.servlet.ServletContextEvent)"
    functionSourceFile: "ch.qos.logback.classic.servlet.LogbackServletContextListener"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "jakarta.servlet.ServletContextEvent"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.servlet.LogbackServletContextListener].contextDestroyed(jakarta.servlet.ServletContextEvent)"
    functionSourceFile: "ch.qos.logback.classic.servlet.LogbackServletContextListener"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 14
    returnType: "void"
    argCount: 1
    argTypes:
    - "jakarta.servlet.ServletContextEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.LoggerFactory].getILoggerFactory()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getCanonicalName()"
    - "[ch.qos.logback.core.ContextBase].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory].addInfo(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.classic.LoggerContext].stop()"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.servlet.LogbackServletContextListener:33"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.servlet.LogbackServletContextListener:40"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.servlet.LogbackServletContextListener:39"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.servlet.LogbackServletContextListener:32,1"
      Dst: "[org.slf4j.LoggerFactory].getILoggerFactory()"
    - Src: "ch.qos.logback.classic.servlet.LogbackServletContextListener:35,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.servlet.LogbackServletContextListener:36,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.classic.servlet.LogbackServletContextListener:36,1"
      Dst: "[java.lang.Class].getCanonicalName()"
    - Src: "ch.qos.logback.classic.servlet.LogbackServletContextListener:37,1"
      Dst: "[ch.qos.logback.core.ContextBase].getName()"
    - Src: "ch.qos.logback.classic.servlet.LogbackServletContextListener:37,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.classic.servlet.LogbackServletContextListener:36,1"
      Dst: "[ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory].addInfo(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.classic.servlet.LogbackServletContextListener:38,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].stop()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.LoggerFactory].getILoggerFactory()"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 471
    functionDepth: 11
    returnType: "org.slf4j.ILoggerFactory"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteServiceProvider].getLoggerFactory()"
    - "[ch.qos.logback.classic.spi.LogbackServiceProvider].getLoggerFactory()"
    - "[org.slf4j.helpers.NOP_FallbackServiceProvider].getLoggerFactory()"
    - "[org.slf4j.LoggerFactory].getProvider()"
    - "[org.slf4j.spi.SLF4JServiceProvider].getLoggerFactory()"
    functionUses: 1
    ICount: 3
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.LoggerFactory:472,1"
      Dst: "[org.slf4j.LoggerFactory].getProvider()"
    - Src: "org.slf4j.LoggerFactory:472,1"
      Dst: "[org.slf4j.spi.SLF4JServiceProvider].getLoggerFactory()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 67
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:45"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:44"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:47"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:46,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.ContextBase].getName()"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 157
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 12
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory].addInfo(java.lang.String,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 13
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory].addStatus(ch.qos.logback.core.status.Status)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory:22,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory:22,1"
      Dst: "[ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].stop()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 342
    functionDepth: 6
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].reset()"
    - "[ch.qos.logback.classic.LoggerContext].fireOnStop()"
    - "[ch.qos.logback.classic.LoggerContext].resetAllListeners()"
    - "[ch.qos.logback.core.ContextBase].stop()"
    functionUses: 2
    ICount: 6
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:343,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].reset()"
    - Src: "ch.qos.logback.classic.LoggerContext:344,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].fireOnStop()"
    - Src: "ch.qos.logback.classic.LoggerContext:345,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].resetAllListeners()"
    - Src: "ch.qos.logback.classic.LoggerContext:346,1"
      Dst: "[ch.qos.logback.core.ContextBase].stop()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.ActionUtil$Scope].values()"
    functionSourceFile: "ch.qos.logback.core.joran.action.ActionUtil$Scope"
    linkageType: null
    functionLinenumber: 20
    functionDepth: 0
    returnType: "ch.qos.logback.core.joran.action.ActionUtil$Scope[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].clone()"
    functionUses: 2
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.ActionUtil$Scope:21,1"
      Dst: "[java.lang.Object].clone()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.ActionUtil$Scope].valueOf(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.action.ActionUtil$Scope"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.core.joran.action.ActionUtil$Scope"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.ActionUtil$Scope:21,1"
      Dst: "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.ActionUtil$Scope].<init>(java.lang.String,int)"
    functionSourceFile: "ch.qos.logback.core.joran.action.ActionUtil$Scope"
    linkageType: null
    functionLinenumber: 20
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].<init>(java.lang.String,int)"
    functionUses: 3
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.ActionUtil$Scope:21,1"
      Dst: "[java.lang.Enum].<init>(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.ActionUtil$Scope].$values()"
    functionSourceFile: "ch.qos.logback.core.joran.action.ActionUtil$Scope"
    linkageType: null
    functionLinenumber: 20
    functionDepth: 0
    returnType: "ch.qos.logback.core.joran.action.ActionUtil$Scope[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.EnvUtilForTests].<init>()"
    functionSourceFile: "ch.qos.logback.core.testUtil.EnvUtilForTests"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.EnvUtilForTests:19,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.EnvUtilForTests].isGithubAction()"
    functionSourceFile: "ch.qos.logback.core.testUtil.EnvUtilForTests"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].getProperty(java.lang.String)"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.lang.String].startsWith(java.lang.String)"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.testUtil.EnvUtilForTests:29"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.testUtil.EnvUtilForTests:32"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.testUtil.EnvUtilForTests:31"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.testUtil.EnvUtilForTests:32"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.testUtil.EnvUtilForTests:35"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.testUtil.EnvUtilForTests:34"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.testUtil.EnvUtilForTests:32"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.testUtil.EnvUtilForTests:35"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.testUtil.EnvUtilForTests:34"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.EnvUtilForTests:26,1"
      Dst: "[java.lang.System].getProperty(java.lang.String)"
    - Src: "ch.qos.logback.core.testUtil.EnvUtilForTests:29,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.testUtil.EnvUtilForTests:32,1"
      Dst: "[java.lang.String].startsWith(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.testUtil.EnvUtilForTests].isWindows()"
    functionSourceFile: "ch.qos.logback.core.testUtil.EnvUtilForTests"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].getProperty(java.lang.String)"
    - "[java.lang.String].indexOf(java.lang.String)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.testUtil.EnvUtilForTests:39"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.testUtil.EnvUtilForTests:38"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.EnvUtilForTests:39,1"
      Dst: "[java.lang.System].getProperty(java.lang.String)"
    - Src: "ch.qos.logback.core.testUtil.EnvUtilForTests:39,1"
      Dst: "[java.lang.String].indexOf(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.testUtil.EnvUtilForTests].isMac()"
    functionSourceFile: "ch.qos.logback.core.testUtil.EnvUtilForTests"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].getProperty(java.lang.String)"
    - "[java.lang.String].indexOf(java.lang.String)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.testUtil.EnvUtilForTests:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.testUtil.EnvUtilForTests:42"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.EnvUtilForTests:43,1"
      Dst: "[java.lang.System].getProperty(java.lang.String)"
    - Src: "ch.qos.logback.core.testUtil.EnvUtilForTests:43,1"
      Dst: "[java.lang.String].indexOf(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.testUtil.EnvUtilForTests].isLinux()"
    functionSourceFile: "ch.qos.logback.core.testUtil.EnvUtilForTests"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].getProperty(java.lang.String)"
    - "[java.lang.String].indexOf(java.lang.String)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.testUtil.EnvUtilForTests:47"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.testUtil.EnvUtilForTests:46"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.EnvUtilForTests:47,1"
      Dst: "[java.lang.System].getProperty(java.lang.String)"
    - Src: "ch.qos.logback.core.testUtil.EnvUtilForTests:47,1"
      Dst: "[java.lang.String].indexOf(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.testUtil.EnvUtilForTests].isRunningOnSlowJenkins()"
    functionSourceFile: "ch.qos.logback.core.testUtil.EnvUtilForTests"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].getProperty(java.lang.String)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.testUtil.EnvUtilForTests:51"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.testUtil.EnvUtilForTests:50"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.EnvUtilForTests:51,1"
      Dst: "[java.lang.System].getProperty(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.testUtil.EnvUtilForTests].getLocalHostName()"
    functionSourceFile: "ch.qos.logback.core.testUtil.EnvUtilForTests"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.net.InetAddress].getLocalHost()"
    - "[java.net.InetAddress].getHostName()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.EnvUtilForTests:57,1"
      Dst: "[java.net.InetAddress].getLocalHost()"
    - Src: "ch.qos.logback.core.testUtil.EnvUtilForTests:58,1"
      Dst: "[java.net.InetAddress].getHostName()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.EnvUtilForTests].isLocalHostNameInList(java.lang.String[])"
    functionSourceFile: "ch.qos.logback.core.testUtil.EnvUtilForTests"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.testUtil.EnvUtilForTests].getLocalHostName()"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.testUtil.EnvUtilForTests:66"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.testUtil.EnvUtilForTests:69"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.testUtil.EnvUtilForTests:68"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.testUtil.EnvUtilForTests:69"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.testUtil.EnvUtilForTests:74"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.testUtil.EnvUtilForTests:73"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.testUtil.EnvUtilForTests:70"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.testUtil.EnvUtilForTests:69"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.testUtil.EnvUtilForTests:68"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.EnvUtilForTests:65,1"
      Dst: "[ch.qos.logback.core.testUtil.EnvUtilForTests].getLocalHostName()"
    - Src: "ch.qos.logback.core.testUtil.EnvUtilForTests:70,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.testUtil.EnvUtilForTests].getLocalHostName()"
    functionSourceFile: "ch.qos.logback.core.testUtil.EnvUtilForTests"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.net.InetAddress].getLocalHost()"
    - "[java.net.InetAddress].getHostName()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.EnvUtilForTests:57,1"
      Dst: "[java.net.InetAddress].getLocalHost()"
    - Src: "ch.qos.logback.core.testUtil.EnvUtilForTests:58,1"
      Dst: "[java.net.InetAddress].getHostName()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.EnvUtilForTests].getPathToBash()"
    functionSourceFile: "ch.qos.logback.core.testUtil.EnvUtilForTests"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.testUtil.EnvUtilForTests].isLinux()"
    - "[ch.qos.logback.core.testUtil.EnvUtilForTests].isLocalHostNameInList(java.lang.String[])"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.testUtil.EnvUtilForTests:78"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.testUtil.EnvUtilForTests:81"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.testUtil.EnvUtilForTests:80"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.testUtil.EnvUtilForTests:81"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.testUtil.EnvUtilForTests:84"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.testUtil.EnvUtilForTests:83"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.EnvUtilForTests:78,1"
      Dst: "[ch.qos.logback.core.testUtil.EnvUtilForTests].isLinux()"
    - Src: "ch.qos.logback.core.testUtil.EnvUtilForTests:81,1"
      Dst: "[ch.qos.logback.core.testUtil.EnvUtilForTests].isLocalHostNameInList(java.lang.String[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.EnvUtilForTests].isLinux()"
    functionSourceFile: "ch.qos.logback.core.testUtil.EnvUtilForTests"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].getProperty(java.lang.String)"
    - "[java.lang.String].indexOf(java.lang.String)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.testUtil.EnvUtilForTests:47"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.testUtil.EnvUtilForTests:46"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.EnvUtilForTests:47,1"
      Dst: "[java.lang.System].getProperty(java.lang.String)"
    - Src: "ch.qos.logback.core.testUtil.EnvUtilForTests:47,1"
      Dst: "[java.lang.String].indexOf(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.testUtil.EnvUtilForTests].isLocalHostNameInList(java.lang.String[])"
    functionSourceFile: "ch.qos.logback.core.testUtil.EnvUtilForTests"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.testUtil.EnvUtilForTests].getLocalHostName()"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.testUtil.EnvUtilForTests:66"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.testUtil.EnvUtilForTests:69"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.testUtil.EnvUtilForTests:68"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.testUtil.EnvUtilForTests:69"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.testUtil.EnvUtilForTests:74"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.testUtil.EnvUtilForTests:73"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.testUtil.EnvUtilForTests:70"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.testUtil.EnvUtilForTests:69"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.testUtil.EnvUtilForTests:68"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.EnvUtilForTests:65,1"
      Dst: "[ch.qos.logback.core.testUtil.EnvUtilForTests].getLocalHostName()"
    - Src: "ch.qos.logback.core.testUtil.EnvUtilForTests:70,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler:29,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler:33,1"
      Dst: "[ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler].getSupportedModelClass()"
    functionSourceFile: "ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler"
    linkageType: null
    functionLinenumber: 37
    functionDepth: 0
    returnType: "java.lang.Class"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.ComponentModel].getClassName()"
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getImport(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].pushObject(java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.model.processor.ModelHandlerException].<init>(java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAware].setContext(ch.qos.logback.core.Context)"
    functionUses: 3
    ICount: 31
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler:46"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler:51"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler:50"
        BranchSideFuncs:
        - "setContext(ch.qos.logback.core.Context)"
        - "instantiateByClassName(java.lang.String,java.lang.Class,ch.qos.logback.core.Context)"
        - "addError(java.lang.String,java.lang.Throwable)"
        - "getImport(java.lang.String)"
        - "pushObject(java.lang.Object)"
        - "addInfo(java.lang.String)"
        - "<init>(java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler:45,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].getClassName()"
    - Src: "ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler:46,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler:47,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler:51,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getImport(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler:55,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler:55,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler:57,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler:59,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler:61,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].pushObject(java.lang.Object)"
    - Src: "ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler:64,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler:65,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerException].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ComponentModel].getClassName()"
    functionSourceFile: "ch.qos.logback.core.model.ComponentModel"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 11
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 282
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    - "[java.lang.String].length()"
    functionUses: 62
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].length()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 96
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getImport(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 287
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map].get(java.lang.Object)"
    functionUses: 9
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:288"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:291"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:290"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:292"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:295"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:294"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:291,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 3
    returnType: "java.lang.Object"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Class"
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].getClassLoaderOfObject(java.lang.Object)"
    - "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,java.lang.ClassLoader)"
    functionUses: 12
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:32,1"
      Dst: "[ch.qos.logback.core.util.Loader].getClassLoaderOfObject(java.lang.Object)"
    - Src: "ch.qos.logback.core.util.OptionHelper:33,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,java.lang.ClassLoader)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].pushObject(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 126
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].push(java.lang.Object)"
    functionUses: 12
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:127,1"
      Dst: "[java.util.Stack].push(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 74
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelHandlerException].<init>(java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelHandlerException"
    linkageType: null
    functionLinenumber: 10
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Exception].<init>(java.lang.Throwable)"
    functionUses: 5
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelHandlerException:11,1"
      Dst: "[java.lang.Exception].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler"
    linkageType: null
    functionLinenumber: 69
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekObject()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].popObject()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.classic.LoggerContext:ch.qos.logback.core.ContextBase].setSequenceNumberGenerator(ch.qos.logback.core.spi.SequenceNumberGenerator)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Object)"
    - "[ch.qos.logback.core.Context].setSequenceNumberGenerator(ch.qos.logback.core.spi.SequenceNumberGenerator)"
    functionUses: 3
    ICount: 18
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler:70"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler:74"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler:73"
        BranchSideFuncs:
        - "peekObject()"
    - Branch String: "ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler:75"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler:78"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler:77"
        BranchSideFuncs:
        - "setSequenceNumberGenerator(ch.qos.logback.core.spi.SequenceNumberGenerator)"
        - "popObject()"
        - "addInfo(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler:74,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekObject()"
    - Src: "ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler:76,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler:78,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].popObject()"
    - Src: "ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler:80,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Object)"
    - Src: "ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler:80,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler:81,1"
      Dst: "[ch.qos.logback.core.Context].setSequenceNumberGenerator(ch.qos.logback.core.spi.SequenceNumberGenerator)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekObject()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 122
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].peek()"
    functionUses: 16
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:123,1"
      Dst: "[java.util.Stack].peek()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 96
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].popObject()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 130
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].pop()"
    functionUses: 12
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:131,1"
      Dst: "[java.util.Stack].pop()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ConsoleAppender].<init>()"
    functionSourceFile: "ch.qos.logback.core.ConsoleAppender"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.OutputStreamAppender].<init>()"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ConsoleAppender:44,1"
      Dst: "[ch.qos.logback.core.OutputStreamAppender].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ConsoleAppender].setTarget(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.ConsoleAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    - "[ch.qos.logback.core.joran.spi.ConsoleTarget].findByName(java.lang.String)"
    - "[ch.qos.logback.core.ConsoleAppender].targetWarn(java.lang.String)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.ConsoleAppender:62"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.ConsoleAppender:65"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.ConsoleAppender:64"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.ConsoleAppender:61,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.ConsoleAppender:61,1"
      Dst: "[ch.qos.logback.core.joran.spi.ConsoleTarget].findByName(java.lang.String)"
    - Src: "ch.qos.logback.core.ConsoleAppender:63,1"
      Dst: "[ch.qos.logback.core.ConsoleAppender].targetWarn(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.spi.ConsoleTarget].findByName(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ConsoleTarget"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.joran.spi.ConsoleTarget"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ConsoleTarget].values()"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.ConsoleTarget:76"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ConsoleTarget:81"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ConsoleTarget:80"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.ConsoleTarget:77"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ConsoleTarget:76"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ConsoleTarget:75"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ConsoleTarget:76,1"
      Dst: "[ch.qos.logback.core.joran.spi.ConsoleTarget].values()"
    - Src: "ch.qos.logback.core.joran.spi.ConsoleTarget:77,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.ConsoleAppender].targetWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.ConsoleAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ConsoleTarget].values()"
    - "[java.util.Arrays].toString(java.lang.Object[])"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.status.Status].add(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ConsoleAppender:80,1"
      Dst: "[ch.qos.logback.core.joran.spi.ConsoleTarget].values()"
    - Src: "ch.qos.logback.core.ConsoleAppender:80,1"
      Dst: "[java.util.Arrays].toString(java.lang.Object[])"
    - Src: "ch.qos.logback.core.ConsoleAppender:80,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.ConsoleAppender:80,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.ConsoleAppender:82,1"
      Dst: "[ch.qos.logback.core.status.Status].add(ch.qos.logback.core.status.Status)"
    - Src: "ch.qos.logback.core.ConsoleAppender:83,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ConsoleTarget].values()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ConsoleTarget"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.core.joran.spi.ConsoleTarget[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].clone()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ConsoleTarget:29,1"
      Dst: "[java.lang.Object].clone()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.status.WarnStatus"
    linkageType: null
    functionLinenumber: 18
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    functionUses: 12
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.WarnStatus:19,1"
      Dst: "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 71
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.status.Status"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - "[ch.qos.logback.core.BasicStatusManager].add(ch.qos.logback.core.status.Status)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.ContextAwareBase)"
    - "[java.io.PrintStream].println(java.lang.String)"
    - "[ch.qos.logback.core.Context].getStatusManager()"
    - "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    functionUses: 24
    ICount: 17
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:78"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:77"
        BranchSideFuncs:
        - "getStatusManager()"
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:73"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:76"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:75"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:79"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:82"
        BranchSideFuncs:
        - "add(ch.qos.logback.core.status.Status)"
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:81"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:74,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.ContextAwareBase)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:74,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:78,1"
      Dst: "[ch.qos.logback.core.Context].getStatusManager()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:80,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.ConsoleAppender].getTarget()"
    functionSourceFile: "ch.qos.logback.core.ConsoleAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ConsoleTarget].getName()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ConsoleAppender:76,1"
      Dst: "[ch.qos.logback.core.joran.spi.ConsoleTarget].getName()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ConsoleTarget].getName()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ConsoleTarget"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ConsoleAppender].targetWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.ConsoleAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ConsoleTarget].values()"
    - "[java.util.Arrays].toString(java.lang.Object[])"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.status.Status].add(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ConsoleAppender:80,1"
      Dst: "[ch.qos.logback.core.joran.spi.ConsoleTarget].values()"
    - Src: "ch.qos.logback.core.ConsoleAppender:80,1"
      Dst: "[java.util.Arrays].toString(java.lang.Object[])"
    - Src: "ch.qos.logback.core.ConsoleAppender:80,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.ConsoleAppender:80,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.ConsoleAppender:82,1"
      Dst: "[ch.qos.logback.core.status.Status].add(ch.qos.logback.core.status.Status)"
    - Src: "ch.qos.logback.core.ConsoleAppender:83,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ConsoleAppender].start()"
    functionSourceFile: "ch.qos.logback.core.ConsoleAppender"
    linkageType: null
    functionLinenumber: 87
    functionDepth: 5
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ConsoleTarget].getStream()"
    - "[ch.qos.logback.core.ConsoleAppender].wrapWithJansi(java.io.OutputStream)"
    - "[ch.qos.logback.core.OutputStreamAppender].setOutputStream(java.io.OutputStream)"
    - "[ch.qos.logback.core.OutputStreamAppender].start()"
    functionUses: 7
    ICount: 10
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.ConsoleAppender:90"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.ConsoleAppender:93"
        BranchSideFuncs:
        - "wrapWithJansi(java.io.OutputStream)"
      - BranchSide: "ch.qos.logback.core.ConsoleAppender:92"
        BranchSideFuncs:
        - "setOutputStream(java.io.OutputStream)"
        - "start()"
    Callsites:
    - Src: "ch.qos.logback.core.ConsoleAppender:88,1"
      Dst: "[ch.qos.logback.core.joran.spi.ConsoleTarget].getStream()"
    - Src: "ch.qos.logback.core.ConsoleAppender:91,1"
      Dst: "[ch.qos.logback.core.ConsoleAppender].wrapWithJansi(java.io.OutputStream)"
    - Src: "ch.qos.logback.core.ConsoleAppender:93,1"
      Dst: "[ch.qos.logback.core.OutputStreamAppender].setOutputStream(java.io.OutputStream)"
    - Src: "ch.qos.logback.core.ConsoleAppender:94,1"
      Dst: "[ch.qos.logback.core.OutputStreamAppender].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.ConsoleAppender].wrapWithJansi(java.io.OutputStream)"
    functionSourceFile: "ch.qos.logback.core.ConsoleAppender"
    linkageType: null
    functionLinenumber: 98
    functionDepth: 3
    returnType: "java.io.OutputStream"
    argCount: 1
    argTypes:
    - "java.io.OutputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.util.Loader].getClassLoaderOfObject(java.lang.Object)"
    - "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_0__87].bootstrap$(java.lang.String)"
    - "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_1__88].bootstrap$()"
    - "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_2__89].bootstrap$()"
    - "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_3__90].bootstrap$()"
    - "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_4__91].bootstrap$()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String,java.lang.Throwable)"
    - "[java.lang.ClassLoader].loadClass(java.lang.String)"
    - "[java.lang.Class].getMethods()"
    - "[java.util.Arrays].stream(java.lang.Object[])"
    - "[java.util.stream.Stream].filter(java.util.function.Predicate)"
    - "[java.util.stream.Stream].findAny()"
    - "[java.util.Optional].isPresent()"
    - "[java.util.Optional].orElseThrow(java.util.function.Supplier)"
    - "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    - "[java.lang.Class].getMethod(java.lang.String,java.lang.Class[])"
    - "[java.io.PrintStream].<init>(java.io.OutputStream)"
    functionUses: 1
    ICount: 50
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.ConsoleAppender:104"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.ConsoleAppender:98"
        BranchSideFuncs:
        - "getClassLoaderOfObject(java.lang.Object)"
        - "addInfo(java.lang.String)"
    - Branch String: "ch.qos.logback.core.ConsoleAppender:112"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.ConsoleAppender:118"
        BranchSideFuncs:
        - "bootstrap$()"
      - BranchSide: "ch.qos.logback.core.ConsoleAppender:117"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.ConsoleAppender:118"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.ConsoleAppender:118"
        BranchSideFuncs:
        - "bootstrap$()"
        - "addWarn(java.lang.String,java.lang.Throwable)"
      - BranchSide: "ch.qos.logback.core.ConsoleAppender:117"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.ConsoleAppender:99,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.ConsoleAppender:100,1"
      Dst: "[ch.qos.logback.core.util.Loader].getClassLoaderOfObject(java.lang.Object)"
    - Src: "ch.qos.logback.core.ConsoleAppender:101,1"
      Dst: "[java.lang.ClassLoader].loadClass(java.lang.String)"
    - Src: "ch.qos.logback.core.ConsoleAppender:106,1"
      Dst: "[java.lang.Class].getMethods()"
    - Src: "ch.qos.logback.core.ConsoleAppender:106,1"
      Dst: "[java.util.Arrays].stream(java.lang.Object[])"
    - Src: "ch.qos.logback.core.ConsoleAppender:106,1"
      Dst: "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_0__87].bootstrap$(java.lang.String)"
    - Src: "ch.qos.logback.core.ConsoleAppender:107,1"
      Dst: "[java.util.stream.Stream].filter(java.util.function.Predicate)"
    - Src: "ch.qos.logback.core.ConsoleAppender:107,1"
      Dst: "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_1__88].bootstrap$()"
    - Src: "ch.qos.logback.core.ConsoleAppender:108,1"
      Dst: "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_2__89].bootstrap$()"
    - Src: "ch.qos.logback.core.ConsoleAppender:109,1"
      Dst: "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_3__90].bootstrap$()"
    - Src: "ch.qos.logback.core.ConsoleAppender:111,1"
      Dst: "[java.util.stream.Stream].findAny()"
    - Src: "ch.qos.logback.core.ConsoleAppender:112,1"
      Dst: "[java.util.Optional].isPresent()"
    - Src: "ch.qos.logback.core.ConsoleAppender:113,1"
      Dst: "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_4__91].bootstrap$()"
    - Src: "ch.qos.logback.core.ConsoleAppender:113,1"
      Dst: "[java.util.Optional].orElseThrow(java.util.function.Supplier)"
    - Src: "ch.qos.logback.core.ConsoleAppender:114,1"
      Dst: "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    - Src: "ch.qos.logback.core.ConsoleAppender:120,1"
      Dst: "[java.lang.Class].getMethod(java.lang.String,java.lang.Class[])"
    - Src: "ch.qos.logback.core.ConsoleAppender:121,1"
      Dst: "[java.io.PrintStream].<init>(java.io.OutputStream)"
    - Src: "ch.qos.logback.core.ConsoleAppender:123,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.ConsoleAppender].isWithJansi()"
    functionSourceFile: "ch.qos.logback.core.ConsoleAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ConsoleAppender].setWithJansi(boolean)"
    functionSourceFile: "ch.qos.logback.core.ConsoleAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ConsoleAppender].lambda$wrapWithJansi$4()"
    functionSourceFile: "ch.qos.logback.core.ConsoleAppender"
    linkageType: null
    functionLinenumber: 112
    functionDepth: 0
    returnType: "java.util.NoSuchElementException"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.NoSuchElementException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ConsoleAppender:113,1"
      Dst: "[java.util.NoSuchElementException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ConsoleAppender].lambda$wrapWithJansi$3(java.lang.reflect.Method)"
    functionSourceFile: "ch.qos.logback.core.ConsoleAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Method"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.reflect.Method].getReturnType()"
    - "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ConsoleAppender:110,1"
      Dst: "[java.lang.reflect.Method].getReturnType()"
    - Src: "ch.qos.logback.core.ConsoleAppender:110,1"
      Dst: "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ConsoleAppender].lambda$wrapWithJansi$2(java.lang.reflect.Method)"
    functionSourceFile: "ch.qos.logback.core.ConsoleAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Method"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.reflect.Method].getModifiers()"
    - "[java.lang.reflect.Modifier].isStatic(int)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ConsoleAppender:109,1"
      Dst: "[java.lang.reflect.Method].getModifiers()"
    - Src: "ch.qos.logback.core.ConsoleAppender:109,1"
      Dst: "[java.lang.reflect.Modifier].isStatic(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ConsoleAppender].lambda$wrapWithJansi$1(java.lang.reflect.Method)"
    functionSourceFile: "ch.qos.logback.core.ConsoleAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Method"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.reflect.Executable].getParameters()"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.ConsoleAppender:108"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.ConsoleAppender:107"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.ConsoleAppender:108,1"
      Dst: "[java.lang.reflect.Executable].getParameters()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.ConsoleAppender].lambda$wrapWithJansi$0(java.lang.String,java.lang.reflect.Method)"
    functionSourceFile: "ch.qos.logback.core.ConsoleAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.reflect.Method"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.reflect.Method].getName()"
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ConsoleAppender:107,1"
      Dst: "[java.lang.reflect.Method].getName()"
    - Src: "ch.qos.logback.core.ConsoleAppender:107,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.conditional.IfModel$BranchState].values()"
    functionSourceFile: "ch.qos.logback.core.model.conditional.IfModel$BranchState"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.core.model.conditional.IfModel$BranchState[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].clone()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.conditional.IfModel$BranchState:24,1"
      Dst: "[java.lang.Object].clone()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.conditional.IfModel$BranchState].valueOf(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.conditional.IfModel$BranchState"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.core.model.conditional.IfModel$BranchState"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.conditional.IfModel$BranchState:24,1"
      Dst: "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.conditional.IfModel$BranchState].<init>(java.lang.String,int)"
    functionSourceFile: "ch.qos.logback.core.model.conditional.IfModel$BranchState"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].<init>(java.lang.String,int)"
    functionUses: 3
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.conditional.IfModel$BranchState:24,1"
      Dst: "[java.lang.Enum].<init>(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.conditional.IfModel$BranchState].$values()"
    functionSourceFile: "ch.qos.logback.core.model.conditional.IfModel$BranchState"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 0
    returnType: "ch.qos.logback.core.model.conditional.IfModel$BranchState[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.server.RemoteReceiverServerRunner].<init>(ch.qos.logback.core.net.server.ServerListener,java.util.concurrent.Executor,int)"
    functionSourceFile: "ch.qos.logback.core.net.server.RemoteReceiverServerRunner"
    linkageType: null
    functionLinenumber: 40
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.net.server.ServerListener"
    - "java.util.concurrent.Executor"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.server.ConcurrentServerRunner].<init>(ch.qos.logback.core.net.server.ServerListener,java.util.concurrent.Executor)"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.server.RemoteReceiverServerRunner:41,1"
      Dst: "[ch.qos.logback.core.net.server.ConcurrentServerRunner].<init>(ch.qos.logback.core.net.server.ServerListener,java.util.concurrent.Executor)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.server.RemoteReceiverServerRunner].configureClient(ch.qos.logback.core.net.server.RemoteReceiverClient)"
    functionSourceFile: "ch.qos.logback.core.net.server.RemoteReceiverServerRunner"
    linkageType: null
    functionLinenumber: 49
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.net.server.RemoteReceiverClient"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.net.server.RemoteReceiverStreamClient].setQueue(java.util.concurrent.BlockingQueue)"
    - "[ch.qos.logback.core.spi.ContextAware].setContext(ch.qos.logback.core.Context)"
    - "[java.util.concurrent.ArrayBlockingQueue].<init>(int)"
    - "[ch.qos.logback.core.net.server.RemoteReceiverClient].setQueue(java.util.concurrent.BlockingQueue)"
    functionUses: 1
    ICount: 9
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.server.RemoteReceiverServerRunner:50,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - Src: "ch.qos.logback.core.net.server.RemoteReceiverServerRunner:50,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.net.server.RemoteReceiverServerRunner:51,1"
      Dst: "[java.util.concurrent.ArrayBlockingQueue].<init>(int)"
    - Src: "ch.qos.logback.core.net.server.RemoteReceiverServerRunner:51,1"
      Dst: "[ch.qos.logback.core.net.server.RemoteReceiverClient].setQueue(java.util.concurrent.BlockingQueue)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 0
    returnType: "ch.qos.logback.core.Context"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 35
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.server.RemoteReceiverServerRunner].configureClient(ch.qos.logback.core.net.server.Client)"
    functionSourceFile: "ch.qos.logback.core.net.server.RemoteReceiverServerRunner"
    linkageType: null
    functionLinenumber: 25
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.net.server.Client"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.server.RemoteReceiverServerRunner].configureClient(ch.qos.logback.core.net.server.RemoteReceiverClient)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.server.RemoteReceiverServerRunner:26,1"
      Dst: "[ch.qos.logback.core.net.server.RemoteReceiverServerRunner].configureClient(ch.qos.logback.core.net.server.RemoteReceiverClient)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.server.RemoteReceiverServerRunner].configureClient(ch.qos.logback.core.net.server.RemoteReceiverClient)"
    functionSourceFile: "ch.qos.logback.core.net.server.RemoteReceiverServerRunner"
    linkageType: null
    functionLinenumber: 49
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.net.server.RemoteReceiverClient"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.net.server.RemoteReceiverStreamClient].setQueue(java.util.concurrent.BlockingQueue)"
    - "[ch.qos.logback.core.spi.ContextAware].setContext(ch.qos.logback.core.Context)"
    - "[java.util.concurrent.ArrayBlockingQueue].<init>(int)"
    - "[ch.qos.logback.core.net.server.RemoteReceiverClient].setQueue(java.util.concurrent.BlockingQueue)"
    functionUses: 1
    ICount: 9
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.server.RemoteReceiverServerRunner:50,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - Src: "ch.qos.logback.core.net.server.RemoteReceiverServerRunner:50,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.net.server.RemoteReceiverServerRunner:51,1"
      Dst: "[java.util.concurrent.ArrayBlockingQueue].<init>(int)"
    - Src: "ch.qos.logback.core.net.server.RemoteReceiverServerRunner:51,1"
      Dst: "[ch.qos.logback.core.net.server.RemoteReceiverClient].setQueue(java.util.concurrent.BlockingQueue)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__45].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__45"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__45].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__45:-1,1"
      Dst: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__45].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__45].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__45"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__45:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__45].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__45"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__45:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__45].get()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__45"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.StatusListenerAction].<init>()"
    functionUses: 3
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__45:-1,1"
      Dst: "[ch.qos.logback.core.joran.action.StatusListenerAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.StatusListenerAction].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.action.StatusListenerAction"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.StatusListenerAction:24,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.HardenedLoggingEventInputStream].getWhilelist()"
    functionSourceFile: "ch.qos.logback.classic.net.server.HardenedLoggingEventInputStream"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>()"
    - "[java.lang.Class].getName()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 51
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.server.HardenedLoggingEventInputStream:40,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.classic.net.server.HardenedLoggingEventInputStream:41,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.classic.net.server.HardenedLoggingEventInputStream:41,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.HardenedLoggingEventInputStream].<init>(java.io.InputStream)"
    functionSourceFile: "ch.qos.logback.classic.net.server.HardenedLoggingEventInputStream"
    linkageType: null
    functionLinenumber: 61
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.InputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.HardenedObjectInputStream].<init>(java.io.InputStream,java.util.List)"
    - "[ch.qos.logback.classic.net.server.HardenedLoggingEventInputStream].getWhilelist()"
    functionUses: 4
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.server.HardenedLoggingEventInputStream:62,1"
      Dst: "[ch.qos.logback.classic.net.server.HardenedLoggingEventInputStream].getWhilelist()"
    - Src: "ch.qos.logback.classic.net.server.HardenedLoggingEventInputStream:62,1"
      Dst: "[ch.qos.logback.core.net.HardenedObjectInputStream].<init>(java.io.InputStream,java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.HardenedLoggingEventInputStream].<init>(java.io.InputStream,java.util.List)"
    functionSourceFile: "ch.qos.logback.classic.net.server.HardenedLoggingEventInputStream"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.io.InputStream"
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.net.server.HardenedLoggingEventInputStream].<init>(java.io.InputStream)"
    - "[ch.qos.logback.core.net.HardenedObjectInputStream].addToWhitelist(java.util.List)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.server.HardenedLoggingEventInputStream:67,1"
      Dst: "[ch.qos.logback.classic.net.server.HardenedLoggingEventInputStream].<init>(java.io.InputStream)"
    - Src: "ch.qos.logback.classic.net.server.HardenedLoggingEventInputStream:68,1"
      Dst: "[ch.qos.logback.core.net.HardenedObjectInputStream].addToWhitelist(java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.LocationUtil].<init>()"
    functionSourceFile: "ch.qos.logback.core.util.LocationUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.LocationUtil:26,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.LocationUtil].urlForResource(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.LocationUtil"
    linkageType: null
    functionLinenumber: 45
    functionDepth: 3
    returnType: "java.net.URL"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].getResourceBySelfClassLoader(java.lang.String)"
    - "[java.lang.NullPointerException].<init>(java.lang.String)"
    - "[java.lang.String].matches(java.lang.String)"
    - "[java.lang.String].startsWith(java.lang.String)"
    - "[java.lang.String].length()"
    - "[java.lang.String].substring(int)"
    - "[java.net.MalformedURLException].<init>(java.lang.String)"
    - "[java.net.URL].<init>(java.lang.String)"
    - "[java.io.FileNotFoundException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 33
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.LocationUtil:46"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.LocationUtil:50"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.LocationUtil:49"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.LocationUtil:50"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.LocationUtil:52"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.LocationUtil:51"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.LocationUtil:52"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.LocationUtil:62"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.LocationUtil:61"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.LocationUtil:54"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.LocationUtil:57"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.LocationUtil:56"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.LocationUtil:57"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.LocationUtil:60"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.LocationUtil:59"
        BranchSideFuncs:
        - "getResourceBySelfClassLoader(java.lang.String)"
    - Branch String: "ch.qos.logback.core.util.LocationUtil:64"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.LocationUtil:67"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.LocationUtil:66"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.LocationUtil:47,1"
      Dst: "[java.lang.NullPointerException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.util.LocationUtil:50,1"
      Dst: "[java.lang.String].matches(java.lang.String)"
    - Src: "ch.qos.logback.core.util.LocationUtil:51,1"
      Dst: "[ch.qos.logback.core.util.Loader].getResourceBySelfClassLoader(java.lang.String)"
    - Src: "ch.qos.logback.core.util.LocationUtil:52,1"
      Dst: "[java.lang.String].startsWith(java.lang.String)"
    - Src: "ch.qos.logback.core.util.LocationUtil:53,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.core.util.LocationUtil:53,1"
      Dst: "[java.lang.String].substring(int)"
    - Src: "ch.qos.logback.core.util.LocationUtil:58,1"
      Dst: "[java.net.MalformedURLException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.util.LocationUtil:62,1"
      Dst: "[java.net.URL].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.util.LocationUtil:65,1"
      Dst: "[java.io.FileNotFoundException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 14
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.pattern.util.AsIsEscapeUtil].<init>()"
    functionSourceFile: "ch.qos.logback.core.pattern.util.AsIsEscapeUtil"
    linkageType: null
    functionLinenumber: 18
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.util.AsIsEscapeUtil:19,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.util.AsIsEscapeUtil].escape(java.lang.String,java.lang.StringBuffer,char,int)"
    functionSourceFile: "ch.qos.logback.core.pattern.util.AsIsEscapeUtil"
    linkageType: null
    functionLinenumber: 29
    functionDepth: 0
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.lang.String"
    - "java.lang.StringBuffer"
    - "char"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuffer].append(java.lang.String)"
    - "[java.lang.StringBuffer].append(char)"
    functionUses: 3
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.util.AsIsEscapeUtil:30,1"
      Dst: "[java.lang.StringBuffer].append(java.lang.String)"
    - Src: "ch.qos.logback.core.pattern.util.AsIsEscapeUtil:32,1"
      Dst: "[java.lang.StringBuffer].append(char)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.ImplicitModelData].<init>(ch.qos.logback.core.joran.util.PropertySetter,ch.qos.logback.core.util.AggregationType,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.action.ImplicitModelData"
    linkageType: null
    functionLinenumber: 29
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.util.PropertySetter"
    - "ch.qos.logback.core.util.AggregationType"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 2
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.ImplicitModelData:30,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.ImplicitModelData].getAggregationType()"
    functionSourceFile: "ch.qos.logback.core.joran.action.ImplicitModelData"
    linkageType: null
    functionLinenumber: 36
    functionDepth: 0
    returnType: "ch.qos.logback.core.util.AggregationType"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SimpleSocketServer].doMain(java.lang.Class,java.lang.String[])"
    functionSourceFile: "ch.qos.logback.classic.net.SimpleSocketServer"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 12
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.net.SimpleSocketServer].parsePortNumber(java.lang.String)"
    - "[ch.qos.logback.classic.net.SimpleSocketServer].usage(java.lang.String)"
    - "[org.slf4j.LoggerFactory].getILoggerFactory()"
    - "[ch.qos.logback.classic.net.SimpleSocketServer].configureLC(ch.qos.logback.classic.LoggerContext,java.lang.String)"
    - "[ch.qos.logback.classic.net.SimpleSocketServer].<init>(ch.qos.logback.classic.LoggerContext,int)"
    - "[java.lang.Thread].start()"
    functionUses: 0
    ICount: 18
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.net.SimpleSocketServer:69"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SimpleSocketServer:72"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.net.SimpleSocketServer:71"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:70,1"
      Dst: "[ch.qos.logback.classic.net.SimpleSocketServer].parsePortNumber(java.lang.String)"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:72,1"
      Dst: "[ch.qos.logback.classic.net.SimpleSocketServer].usage(java.lang.String)"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:76,1"
      Dst: "[org.slf4j.LoggerFactory].getILoggerFactory()"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:77,1"
      Dst: "[ch.qos.logback.classic.net.SimpleSocketServer].configureLC(ch.qos.logback.classic.LoggerContext,java.lang.String)"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:79,1"
      Dst: "[ch.qos.logback.classic.net.SimpleSocketServer].<init>(ch.qos.logback.classic.LoggerContext,int)"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:80,1"
      Dst: "[java.lang.Thread].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.net.SimpleSocketServer].parsePortNumber(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.net.SimpleSocketServer"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "int"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Integer].parseInt(java.lang.String)"
    - "[java.lang.Throwable].printStackTrace()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[ch.qos.logback.classic.net.SimpleSocketServer].usage(java.lang.String)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:222,1"
      Dst: "[java.lang.Integer].parseInt(java.lang.String)"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:224,1"
      Dst: "[java.lang.Throwable].printStackTrace()"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:225,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:225,1"
      Dst: "[ch.qos.logback.classic.net.SimpleSocketServer].usage(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SimpleSocketServer].usage(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.net.SimpleSocketServer"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.PrintStream].println(java.lang.String)"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.lang.System].exit(int)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:215,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:216,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:216,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:217,1"
      Dst: "[java.lang.System].exit(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.LoggerFactory].getILoggerFactory()"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 471
    functionDepth: 11
    returnType: "org.slf4j.ILoggerFactory"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteServiceProvider].getLoggerFactory()"
    - "[ch.qos.logback.classic.spi.LogbackServiceProvider].getLoggerFactory()"
    - "[org.slf4j.helpers.NOP_FallbackServiceProvider].getLoggerFactory()"
    - "[org.slf4j.LoggerFactory].getProvider()"
    - "[org.slf4j.spi.SLF4JServiceProvider].getLoggerFactory()"
    functionUses: 1
    ICount: 3
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.LoggerFactory:472,1"
      Dst: "[org.slf4j.LoggerFactory].getProvider()"
    - Src: "org.slf4j.LoggerFactory:472,1"
      Dst: "[org.slf4j.spi.SLF4JServiceProvider].getLoggerFactory()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SimpleSocketServer].configureLC(ch.qos.logback.classic.LoggerContext,java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.net.SimpleSocketServer"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 6
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.classic.LoggerContext"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator].<init>()"
    - "[ch.qos.logback.classic.LoggerContext].reset()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.joran.GenericXMLConfigurator].doConfigure(java.lang.String)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:232,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator].<init>()"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:233,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].reset()"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:234,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:235,1"
      Dst: "[ch.qos.logback.core.joran.GenericXMLConfigurator].doConfigure(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase].<init>()"
    functionUses: 7
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:43,1"
      Dst: "[ch.qos.logback.core.joran.JoranConfiguratorBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].reset()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 358
    functionDepth: 5
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].reset()"
    - "[ch.qos.logback.classic.LoggerContext].initEvaluatorMap()"
    - "[ch.qos.logback.core.ContextBase].initCollisionMaps()"
    - "[ch.qos.logback.classic.Logger].recursiveReset()"
    - "[ch.qos.logback.classic.LoggerContext].resetTurboFilterList()"
    - "[ch.qos.logback.classic.LoggerContext].cancelScheduledTasks()"
    - "[ch.qos.logback.classic.LoggerContext].fireOnReset()"
    - "[ch.qos.logback.classic.LoggerContext].resetListenersExceptResetResistant()"
    - "[ch.qos.logback.classic.LoggerContext].resetStatusListenersExceptResetResistant()"
    functionUses: 6
    ICount: 15
    EdgeCount: 9
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:360,1"
      Dst: "[ch.qos.logback.core.ContextBase].reset()"
    - Src: "ch.qos.logback.classic.LoggerContext:361,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].initEvaluatorMap()"
    - Src: "ch.qos.logback.classic.LoggerContext:362,1"
      Dst: "[ch.qos.logback.core.ContextBase].initCollisionMaps()"
    - Src: "ch.qos.logback.classic.LoggerContext:363,1"
      Dst: "[ch.qos.logback.classic.Logger].recursiveReset()"
    - Src: "ch.qos.logback.classic.LoggerContext:364,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].resetTurboFilterList()"
    - Src: "ch.qos.logback.classic.LoggerContext:365,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].cancelScheduledTasks()"
    - Src: "ch.qos.logback.classic.LoggerContext:366,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].fireOnReset()"
    - Src: "ch.qos.logback.classic.LoggerContext:367,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].resetListenersExceptResetResistant()"
    - Src: "ch.qos.logback.classic.LoggerContext:368,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].resetStatusListenersExceptResetResistant()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 67
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:45"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:44"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:47"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:46,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.net.SimpleSocketServer].<init>(ch.qos.logback.classic.LoggerContext,int)"
    functionSourceFile: "ch.qos.logback.classic.net.SimpleSocketServer"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 6
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.classic.LoggerContext"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Thread].<init>()"
    - "[org.slf4j.LoggerFactory].getLogger(java.lang.Class)"
    - "[java.util.ArrayList].<init>()"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:83,1"
      Dst: "[java.lang.Thread].<init>()"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:52,1"
      Dst: "[org.slf4j.LoggerFactory].getLogger(java.lang.Class)"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:58,1"
      Dst: "[java.util.ArrayList].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.LoggerFactory].getLogger(java.lang.Class)"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 446
    functionDepth: 5
    returnType: "org.slf4j.Logger"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.LoggerFactory].getLogger(java.lang.String)"
    - "[org.slf4j.helpers.Util].getCallingClass()"
    - "[org.slf4j.LoggerFactory].nonMatchingClasses(java.lang.Class,java.lang.Class)"
    - "[org.slf4j.helpers.NamedLoggerBase].getName()"
    - "[org.slf4j.helpers.AbstractLogger].getName()"
    - "[org.slf4j.event.EventRecordingLogger].getName()"
    - "[org.slf4j.helpers.MarkerIgnoringBase].getName()"
    - "[org.slf4j.helpers.NOPLogger].getName()"
    - "[ch.qos.logback.classic.Logger].getName()"
    - "[org.slf4j.helpers.SubstituteLogger].getName()"
    - "[org.slf4j.helpers.Reporter].warn(java.lang.String)"
    - "[java.lang.Class].getName()"
    - "[org.slf4j.Logger].getName()"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    functionUses: 1
    ICount: 18
    EdgeCount: 12
    BranchProfiles:
    - Branch String: "org.slf4j.LoggerFactory:448"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:456"
        BranchSideFuncs:
        - "getCallingClass()"
        - "nonMatchingClasses(java.lang.Class,java.lang.Class)"
      - BranchSide: "org.slf4j.LoggerFactory:455"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.LoggerFactory:450"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:456"
        BranchSideFuncs:
        - "getName()"
        - "warn(java.lang.String)"
      - BranchSide: "org.slf4j.LoggerFactory:455"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.LoggerFactory:450"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:456"
        BranchSideFuncs:
        - "getName()"
        - "warn(java.lang.String)"
      - BranchSide: "org.slf4j.LoggerFactory:455"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.LoggerFactory:447,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "org.slf4j.LoggerFactory:447,1"
      Dst: "[org.slf4j.LoggerFactory].getLogger(java.lang.String)"
    - Src: "org.slf4j.LoggerFactory:449,1"
      Dst: "[org.slf4j.helpers.Util].getCallingClass()"
    - Src: "org.slf4j.LoggerFactory:450,1"
      Dst: "[org.slf4j.LoggerFactory].nonMatchingClasses(java.lang.Class,java.lang.Class)"
    - Src: "org.slf4j.LoggerFactory:451,1"
      Dst: "[org.slf4j.Logger].getName()"
    - Src: "org.slf4j.LoggerFactory:451,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "org.slf4j.LoggerFactory:451,1"
      Dst: "[org.slf4j.helpers.Reporter].warn(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 4
  - functionName: "[org.slf4j.LoggerFactory].getLogger(java.lang.String)"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 420
    functionDepth: 1
    returnType: "org.slf4j.Logger"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.LoggerFactory].getILoggerFactory()"
    - "[ch.qos.logback.classic.LoggerContext].getLogger(java.lang.String)"
    - "[org.slf4j.helpers.SubstituteLoggerFactory].getLogger(java.lang.String)"
    - "[org.slf4j.helpers.NOPLoggerFactory].getLogger(java.lang.String)"
    - "[org.slf4j.ILoggerFactory].getLogger(java.lang.String)"
    functionUses: 2
    ICount: 4
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.LoggerFactory:421,1"
      Dst: "[org.slf4j.LoggerFactory].getILoggerFactory()"
    - Src: "org.slf4j.LoggerFactory:422,1"
      Dst: "[org.slf4j.ILoggerFactory].getLogger(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.Util].getCallingClass()"
    functionSourceFile: "org.slf4j.helpers.Util"
    linkageType: null
    functionLinenumber: 98
    functionDepth: 4
    returnType: "java.lang.Class"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.Util].getSecurityManager()"
    - "[org.slf4j.helpers.Util$ClassContextSecurityManager].getClassContext()"
    - "[java.lang.Class].getName()"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 27
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.Util:100"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.Util:102"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.Util:101"
        BranchSideFuncs:
        - "getClassContext()"
    - Branch String: "org.slf4j.helpers.Util:107"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.Util:113"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.Util:112"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.Util:108"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.Util:102"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.Util:101"
        BranchSideFuncs:
        - "getClassContext()"
    - Branch String: "org.slf4j.helpers.Util:113"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.Util:114"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.Util:113"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.Util:113"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.Util:117"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.Util:116"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.Util:99,1"
      Dst: "[org.slf4j.helpers.Util].getSecurityManager()"
    - Src: "org.slf4j.helpers.Util:102,1"
      Dst: "[org.slf4j.helpers.Util$ClassContextSecurityManager].getClassContext()"
    - Src: "org.slf4j.helpers.Util:103,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "org.slf4j.helpers.Util:108,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "org.slf4j.helpers.Util:114,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 11
    CyclomaticComplexity: 4
  - functionName: "[org.slf4j.helpers.Util].getSecurityManager()"
    functionSourceFile: "org.slf4j.helpers.Util"
    linkageType: null
    functionLinenumber: 73
    functionDepth: 3
    returnType: "org.slf4j.helpers.Util$ClassContextSecurityManager"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.Util].safeCreateSecurityManager()"
    functionUses: 1
    ICount: 12
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.Util:74"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.Util:76"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.Util:75"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.Util:76"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.Util:79"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.Util:78"
        BranchSideFuncs:
        - "safeCreateSecurityManager()"
    Callsites:
    - Src: "org.slf4j.helpers.Util:79,1"
      Dst: "[org.slf4j.helpers.Util].safeCreateSecurityManager()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.Util].safeCreateSecurityManager()"
    functionSourceFile: "org.slf4j.helpers.Util"
    linkageType: null
    functionLinenumber: 86
    functionDepth: 2
    returnType: "org.slf4j.helpers.Util$ClassContextSecurityManager"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.Util$ClassContextSecurityManager].<init>(org.slf4j.helpers.Util$1)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.Util:87,1"
      Dst: "[org.slf4j.helpers.Util$ClassContextSecurityManager].<init>(org.slf4j.helpers.Util$1)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.Util$ClassContextSecurityManager].<init>(org.slf4j.helpers.Util$1)"
    functionSourceFile: "org.slf4j.helpers.Util$ClassContextSecurityManager"
    linkageType: null
    functionLinenumber: 63
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.slf4j.helpers.Util$1"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.Util$ClassContextSecurityManager].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.Util$ClassContextSecurityManager:64,1"
      Dst: "[org.slf4j.helpers.Util$ClassContextSecurityManager].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.Util$ClassContextSecurityManager].<init>()"
    functionSourceFile: "org.slf4j.helpers.Util$ClassContextSecurityManager"
    linkageType: null
    functionLinenumber: 63
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.SecurityManager].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.Util$ClassContextSecurityManager:64,1"
      Dst: "[java.lang.SecurityManager].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.Util$ClassContextSecurityManager].getClassContext()"
    functionSourceFile: "org.slf4j.helpers.Util$ClassContextSecurityManager"
    linkageType: null
    functionLinenumber: 65
    functionDepth: 0
    returnType: "java.lang.Class[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.SecurityManager].getClassContext()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.Util$ClassContextSecurityManager:66,1"
      Dst: "[java.lang.SecurityManager].getClassContext()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.LoggerFactory].nonMatchingClasses(java.lang.Class,java.lang.Class)"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 459
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    functionUses: 1
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.LoggerFactory:460"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:459"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.LoggerFactory:460,1"
      Dst: "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.helpers.Reporter].warn(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.Reporter"
    linkageType: null
    functionLinenumber: 144
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.Reporter].isEnabledFor(org.slf4j.helpers.Reporter$Level)"
    - "[org.slf4j.helpers.Reporter].getTarget()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.io.PrintStream].println(java.lang.String)"
    functionUses: 22
    ICount: 12
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.Reporter:145"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.Reporter:148"
        BranchSideFuncs:
        - "getTarget()"
      - BranchSide: "org.slf4j.helpers.Reporter:147"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.Reporter:145,1"
      Dst: "[org.slf4j.helpers.Reporter].isEnabledFor(org.slf4j.helpers.Reporter$Level)"
    - Src: "org.slf4j.helpers.Reporter:146,1"
      Dst: "[org.slf4j.helpers.Reporter].getTarget()"
    - Src: "org.slf4j.helpers.Reporter:146,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.slf4j.helpers.Reporter:146,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.slf4j.helpers.Reporter:146,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "org.slf4j.helpers.Reporter:146,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.net.SimpleSocketServer].<init>(ch.qos.logback.classic.LoggerContext,int)"
    functionSourceFile: "ch.qos.logback.classic.net.SimpleSocketServer"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 6
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.classic.LoggerContext"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Thread].<init>()"
    - "[org.slf4j.LoggerFactory].getLogger(java.lang.Class)"
    - "[java.util.ArrayList].<init>()"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:83,1"
      Dst: "[java.lang.Thread].<init>()"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:52,1"
      Dst: "[org.slf4j.LoggerFactory].getLogger(java.lang.Class)"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:58,1"
      Dst: "[java.util.ArrayList].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SimpleSocketServer].run()"
    functionSourceFile: "ch.qos.logback.classic.net.SimpleSocketServer"
    linkageType: null
    functionLinenumber: 89
    functionDepth: 5
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.net.SimpleSocketServer].getServerThreadName()"
    - "[org.slf4j.helpers.SubstituteLogger].info(java.lang.String)"
    - "[org.slf4j.helpers.AbstractLogger].info(java.lang.String)"
    - "[ch.qos.logback.classic.Logger].info(java.lang.String)"
    - "[org.slf4j.helpers.NOPLogger].info(java.lang.String)"
    - "[ch.qos.logback.core.net.ssl.ConfigurableSSLServerSocketFactory].createServerSocket(int)"
    - "[ch.qos.logback.classic.net.SimpleSocketServer].getServerSocketFactory()"
    - "[ch.qos.logback.classic.net.SimpleSSLSocketServer:ch.qos.logback.classic.net.SocketAcceptor:org.slf4j.helpers.NOPLogger].getServerSocketFactory()"
    - "[ch.qos.logback.classic.net.SimpleSocketServer].signalAlmostReadiness()"
    - "[ch.qos.logback.classic.net.SocketNode].<init>(ch.qos.logback.classic.net.SimpleSocketServer,java.net.Socket,ch.qos.logback.classic.LoggerContext)"
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[ch.qos.logback.classic.net.SimpleSocketServer].getClientThreadName(java.net.Socket)"
    - "[ch.qos.logback.core.AsyncAppenderBase$Worker].run()"
    - "[ch.qos.logback.classic.net.SimpleSocketServer].run()"
    - "[org.slf4j.helpers.SubstituteLogger].error(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].error(java.lang.String,java.lang.Throwable)"
    - "[org.slf4j.helpers.AbstractLogger].error(java.lang.String,java.lang.Throwable)"
    - "[java.lang.Thread].currentThread()"
    - "[java.lang.Thread].getName()"
    - "[java.lang.Thread].setName(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - "[org.slf4j.Logger].info(java.lang.String)"
    - "[javax.net.ServerSocketFactory].createServerSocket(int)"
    - "[java.net.ServerSocket].accept()"
    - "[java.net.Socket].getInetAddress()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.net.InetAddress)"
    - "[java.util.List].add(java.lang.Object)"
    - "[java.lang.Thread].<init>(java.lang.Runnable,java.lang.String)"
    - "[java.lang.Thread].start()"
    - "[org.slf4j.Logger].error(java.lang.String,java.lang.Throwable)"
    functionUses: 3
    ICount: 63
    EdgeCount: 29
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.net.SimpleSocketServer:99"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SimpleSocketServer:121"
        BranchSideFuncs:
        - "signalAlmostReadiness()"
        - "add(java.lang.Object)"
        - "<init>(ch.qos.logback.classic.net.SimpleSocketServer,java.net.Socket,ch.qos.logback.classic.LoggerContext)"
      - BranchSide: "ch.qos.logback.classic.net.SimpleSocketServer:120"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.net.SimpleSocketServer:113"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SimpleSocketServer:116"
        BranchSideFuncs:
        - "info(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.net.SimpleSocketServer:115"
        BranchSideFuncs:
        - "error(java.lang.String,java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:90,1"
      Dst: "[java.lang.Thread].currentThread()"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:90,1"
      Dst: "[java.lang.Thread].getName()"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:94,1"
      Dst: "[ch.qos.logback.classic.net.SimpleSocketServer].getServerThreadName()"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:95,1"
      Dst: "[java.lang.Thread].setName(java.lang.String)"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:97,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:97,1"
      Dst: "[org.slf4j.Logger].info(java.lang.String)"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:98,1"
      Dst: "[ch.qos.logback.classic.net.SimpleSocketServer].getServerSocketFactory()"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:98,1"
      Dst: "[javax.net.ServerSocketFactory].createServerSocket(int)"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:101,1"
      Dst: "[ch.qos.logback.classic.net.SimpleSocketServer].signalAlmostReadiness()"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:102,1"
      Dst: "[java.net.ServerSocket].accept()"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:103,1"
      Dst: "[java.net.Socket].getInetAddress()"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:103,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.net.InetAddress)"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:105,1"
      Dst: "[ch.qos.logback.classic.net.SocketNode].<init>(ch.qos.logback.classic.net.SimpleSocketServer,java.net.Socket,ch.qos.logback.classic.LoggerContext)"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:107,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:109,1"
      Dst: "[ch.qos.logback.classic.net.SimpleSocketServer].getClientThreadName(java.net.Socket)"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:110,1"
      Dst: "[java.lang.Thread].<init>(java.lang.Runnable,java.lang.String)"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:110,1"
      Dst: "[java.lang.Thread].start()"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:116,1"
      Dst: "[org.slf4j.Logger].error(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 12
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SimpleSocketServer].getServerThreadName()"
    functionSourceFile: "ch.qos.logback.classic.net.SimpleSocketServer"
    linkageType: null
    functionLinenumber: 128
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getSimpleName()"
    - "[java.lang.Integer].valueOf(int)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    functionUses: 1
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:129,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:129,1"
      Dst: "[java.lang.Class].getSimpleName()"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:129,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:129,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SimpleSocketServer].getServerSocketFactory()"
    functionSourceFile: "ch.qos.logback.classic.net.SimpleSocketServer"
    linkageType: null
    functionLinenumber: 144
    functionDepth: 0
    returnType: "javax.net.ServerSocketFactory"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.net.ServerSocketFactory].getDefault()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:145,1"
      Dst: "[javax.net.ServerSocketFactory].getDefault()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SimpleSocketServer].signalAlmostReadiness()"
    functionSourceFile: "ch.qos.logback.classic.net.SimpleSocketServer"
    linkageType: null
    functionLinenumber: 152
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.CountDownLatch].getCount()"
    - "[java.util.concurrent.CountDownLatch].countDown()"
    functionUses: 1
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.net.SimpleSocketServer:153"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SimpleSocketServer:156"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.net.SimpleSocketServer:153"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SimpleSocketServer:156"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:153,1"
      Dst: "[java.util.concurrent.CountDownLatch].getCount()"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:155,1"
      Dst: "[java.util.concurrent.CountDownLatch].countDown()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.net.SocketNode].<init>(ch.qos.logback.classic.net.SimpleSocketServer,java.net.Socket,ch.qos.logback.classic.LoggerContext)"
    functionSourceFile: "ch.qos.logback.classic.net.SocketNode"
    linkageType: null
    functionLinenumber: 52
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.classic.net.SimpleSocketServer"
    - "java.net.Socket"
    - "ch.qos.logback.classic.LoggerContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getLogger(java.lang.Class)"
    - "[java.lang.Object].<init>()"
    - "[java.net.Socket].getRemoteSocketAddress()"
    functionUses: 1
    ICount: 14
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SocketNode:53,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.classic.net.SocketNode:56,1"
      Dst: "[java.net.Socket].getRemoteSocketAddress()"
    - Src: "ch.qos.logback.classic.net.SocketNode:58,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getLogger(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].getLogger(java.lang.Class)"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 122
    functionDepth: 3
    returnType: "ch.qos.logback.classic.Logger"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getLogger(java.lang.String)"
    - "[java.lang.Class].getName()"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:123,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.classic.LoggerContext:123,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getLogger(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SimpleSocketServer].getClientThreadName(java.net.Socket)"
    functionSourceFile: "ch.qos.logback.classic.net.SimpleSocketServer"
    linkageType: null
    functionLinenumber: 135
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.net.Socket"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.net.Socket].getRemoteSocketAddress()"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:136,1"
      Dst: "[java.net.Socket].getRemoteSocketAddress()"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:136,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SimpleSocketServer].getServerThreadName()"
    functionSourceFile: "ch.qos.logback.classic.net.SimpleSocketServer"
    linkageType: null
    functionLinenumber: 128
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getSimpleName()"
    - "[java.lang.Integer].valueOf(int)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    functionUses: 1
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:129,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:129,1"
      Dst: "[java.lang.Class].getSimpleName()"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:129,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:129,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SimpleSocketServer].getClientThreadName(java.net.Socket)"
    functionSourceFile: "ch.qos.logback.classic.net.SimpleSocketServer"
    linkageType: null
    functionLinenumber: 135
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.net.Socket"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.net.Socket].getRemoteSocketAddress()"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    functionUses: 1
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:136,1"
      Dst: "[java.net.Socket].getRemoteSocketAddress()"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:136,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SimpleSocketServer].getServerSocketFactory()"
    functionSourceFile: "ch.qos.logback.classic.net.SimpleSocketServer"
    linkageType: null
    functionLinenumber: 144
    functionDepth: 0
    returnType: "javax.net.ServerSocketFactory"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.net.ServerSocketFactory].getDefault()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:145,1"
      Dst: "[javax.net.ServerSocketFactory].getDefault()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SimpleSocketServer].signalAlmostReadiness()"
    functionSourceFile: "ch.qos.logback.classic.net.SimpleSocketServer"
    linkageType: null
    functionLinenumber: 152
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.CountDownLatch].getCount()"
    - "[java.util.concurrent.CountDownLatch].countDown()"
    functionUses: 1
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.net.SimpleSocketServer:153"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SimpleSocketServer:156"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.net.SimpleSocketServer:153"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SimpleSocketServer:156"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:153,1"
      Dst: "[java.util.concurrent.CountDownLatch].getCount()"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:155,1"
      Dst: "[java.util.concurrent.CountDownLatch].countDown()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.net.SimpleSocketServer].setLatch(java.util.concurrent.CountDownLatch)"
    functionSourceFile: "ch.qos.logback.classic.net.SimpleSocketServer"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.concurrent.CountDownLatch"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SimpleSocketServer].getLatch()"
    functionSourceFile: "ch.qos.logback.classic.net.SimpleSocketServer"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.util.concurrent.CountDownLatch"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SimpleSocketServer].isClosed()"
    functionSourceFile: "ch.qos.logback.classic.net.SimpleSocketServer"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SimpleSocketServer].close()"
    functionSourceFile: "ch.qos.logback.classic.net.SimpleSocketServer"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 13
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.net.ServerSocket].close()"
    - "[org.slf4j.Logger].error(java.lang.String,java.lang.Throwable)"
    - "[org.slf4j.Logger].info(java.lang.String)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[ch.qos.logback.classic.net.SocketNode].close()"
    - "[java.util.List].size()"
    - "[org.slf4j.Logger].warn(java.lang.String)"
    functionUses: 0
    ICount: 39
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.net.SimpleSocketServer:181"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SimpleSocketServer:190"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.net.SimpleSocketServer:193"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SimpleSocketServer:196"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.net.SimpleSocketServer:195"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.net.SimpleSocketServer:197"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SimpleSocketServer:201"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.net.SimpleSocketServer:200"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:183,1"
      Dst: "[java.net.ServerSocket].close()"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:185,1"
      Dst: "[org.slf4j.Logger].error(java.lang.String,java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:191,1"
      Dst: "[org.slf4j.Logger].info(java.lang.String)"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:193,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:193,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:193,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:194,1"
      Dst: "[ch.qos.logback.classic.net.SocketNode].close()"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:197,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:198,1"
      Dst: "[org.slf4j.Logger].warn(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 12
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.net.SocketNode].close()"
    functionSourceFile: "ch.qos.logback.classic.net.SocketNode"
    linkageType: null
    functionLinenumber: 108
    functionDepth: 12
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].warn(java.lang.String,java.lang.Throwable)"
    - "[java.io.ObjectInputStream].close()"
    functionUses: 1
    ICount: 20
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.net.SocketNode:109"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SocketNode:112"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.net.SocketNode:111"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.net.SocketNode:113"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SocketNode:122"
        BranchSideFuncs:
        - "warn(java.lang.String,java.lang.Throwable)"
      - BranchSide: "ch.qos.logback.classic.net.SocketNode:121"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SocketNode:115,1"
      Dst: "[java.io.ObjectInputStream].close()"
    - Src: "ch.qos.logback.classic.net.SocketNode:117,1"
      Dst: "[ch.qos.logback.classic.Logger].warn(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SimpleSocketServer].socketNodeClosing(ch.qos.logback.classic.net.SocketNode)"
    functionSourceFile: "ch.qos.logback.classic.net.SimpleSocketServer"
    linkageType: null
    functionLinenumber: 203
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.net.SocketNode"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].debug(java.lang.String,java.lang.Object)"
    - "[org.slf4j.helpers.SubstituteLogger].debug(java.lang.String,java.lang.Object)"
    - "[org.slf4j.helpers.AbstractLogger].debug(java.lang.String,java.lang.Object)"
    - "[org.slf4j.helpers.NOPLogger].debug(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.util.COWArrayList].remove(java.lang.Object)"
    - "[org.slf4j.Logger].debug(java.lang.String,java.lang.Object)"
    - "[java.util.List].remove(java.lang.Object)"
    functionUses: 1
    ICount: 14
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:204,1"
      Dst: "[org.slf4j.Logger].debug(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:210,1"
      Dst: "[java.util.List].remove(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SimpleSocketServer].usage(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.net.SimpleSocketServer"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.PrintStream].println(java.lang.String)"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.lang.System].exit(int)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:215,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:216,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:216,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:217,1"
      Dst: "[java.lang.System].exit(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SimpleSocketServer].parsePortNumber(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.net.SimpleSocketServer"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "int"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Integer].parseInt(java.lang.String)"
    - "[java.lang.Throwable].printStackTrace()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[ch.qos.logback.classic.net.SimpleSocketServer].usage(java.lang.String)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:222,1"
      Dst: "[java.lang.Integer].parseInt(java.lang.String)"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:224,1"
      Dst: "[java.lang.Throwable].printStackTrace()"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:225,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:225,1"
      Dst: "[ch.qos.logback.classic.net.SimpleSocketServer].usage(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SimpleSocketServer].configureLC(ch.qos.logback.classic.LoggerContext,java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.net.SimpleSocketServer"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 6
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.classic.LoggerContext"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator].<init>()"
    - "[ch.qos.logback.classic.LoggerContext].reset()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.joran.GenericXMLConfigurator].doConfigure(java.lang.String)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:232,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator].<init>()"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:233,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].reset()"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:234,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.net.SimpleSocketServer:235,1"
      Dst: "[ch.qos.logback.core.joran.GenericXMLConfigurator].doConfigure(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__5].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__5"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__5].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__5:-1,1"
      Dst: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__5].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__5].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__5"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__5:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__5].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__5"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__5:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__5].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__5"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ShutdownHookModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__5:-1,1"
      Dst: "[ch.qos.logback.core.model.processor.ShutdownHookModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ShutdownHookModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ShutdownHookModelHandler"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ShutdownHookModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ShutdownHookModelHandler:40,1"
      Dst: "[ch.qos.logback.core.model.processor.ShutdownHookModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ShutdownHookModelHandler].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ShutdownHookModelHandler"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ShutdownHookModelHandler:34,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP$Usage].values()"
    functionSourceFile: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP$Usage"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP$Usage[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].clone()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP$Usage:35,1"
      Dst: "[java.lang.Object].clone()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP$Usage].valueOf(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP$Usage"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP$Usage"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP$Usage:35,1"
      Dst: "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP$Usage].<init>(java.lang.String,int)"
    functionSourceFile: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP$Usage"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].<init>(java.lang.String,int)"
    functionUses: 2
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP$Usage:35,1"
      Dst: "[java.lang.Enum].<init>(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP$Usage].$values()"
    functionSourceFile: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP$Usage"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 0
    returnType: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP$Usage[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.ConfigurableSSLSocketFactory].<init>(ch.qos.logback.core.net.ssl.SSLParametersConfiguration,javax.net.ssl.SSLSocketFactory)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.ConfigurableSSLSocketFactory"
    linkageType: null
    functionLinenumber: 49
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.net.ssl.SSLParametersConfiguration"
    - "javax.net.ssl.SSLSocketFactory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.net.SocketFactory].<init>()"
    functionUses: 2
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.ConfigurableSSLSocketFactory:50,1"
      Dst: "[javax.net.SocketFactory].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.ConfigurableSSLSocketFactory].createSocket(java.net.InetAddress,int,java.net.InetAddress,int)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.ConfigurableSSLSocketFactory"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 5
    returnType: "java.net.Socket"
    argCount: 4
    argTypes:
    - "java.net.InetAddress"
    - "int"
    - "java.net.InetAddress"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.net.SocketFactory].createSocket(java.net.InetAddress,int,java.net.InetAddress,int)"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableSocket].<init>(javax.net.ssl.SSLSocket)"
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].configure(ch.qos.logback.core.net.ssl.SSLConfigurable)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.ConfigurableSSLSocketFactory:61,1"
      Dst: "[javax.net.SocketFactory].createSocket(java.net.InetAddress,int,java.net.InetAddress,int)"
    - Src: "ch.qos.logback.core.net.ssl.ConfigurableSSLSocketFactory:62,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurableSocket].<init>(javax.net.ssl.SSLSocket)"
    - Src: "ch.qos.logback.core.net.ssl.ConfigurableSSLSocketFactory:62,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].configure(ch.qos.logback.core.net.ssl.SSLConfigurable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLConfigurableSocket].<init>(javax.net.ssl.SSLSocket)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLConfigurableSocket"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "javax.net.ssl.SSLSocket"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLConfigurableSocket:29,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].configure(ch.qos.logback.core.net.ssl.SSLConfigurable)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration"
    linkageType: null
    functionLinenumber: 51
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.net.ssl.SSLConfigurable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].enabledProtocols(java.lang.String[],java.lang.String[])"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableSocket].getDefaultProtocols()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:ch.qos.logback.core.net.ssl.SSLConfigurableSocket].getSupportedProtocols()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:ch.qos.logback.core.net.ssl.SSLConfigurableSocket].setEnabledProtocols(java.lang.String[])"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:ch.qos.logback.core.net.ssl.SSLConfigurableSocket].setEnabledCipherSuites(java.lang.String[])"
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].enabledCipherSuites(java.lang.String[],java.lang.String[])"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:ch.qos.logback.core.net.ssl.SSLConfigurableSocket].getDefaultCipherSuites()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:ch.qos.logback.core.net.ssl.SSLConfigurableSocket].getSupportedCipherSuites()"
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].isNeedClientAuth()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket].setNeedClientAuth(boolean)"
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].isWantClientAuth()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:ch.qos.logback.core.net.ssl.SSLConfigurableSocket].setWantClientAuth(boolean)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableSocket].setHostnameVerification(boolean)"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].getSupportedProtocols()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].getDefaultProtocols()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].setEnabledProtocols(java.lang.String[])"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].getSupportedCipherSuites()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].getDefaultCipherSuites()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].setEnabledCipherSuites(java.lang.String[])"
    - "[java.lang.Boolean].booleanValue()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].setNeedClientAuth(boolean)"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].setWantClientAuth(boolean)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Boolean)"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].setHostnameVerification(boolean)"
    functionUses: 3
    ICount: 29
    EdgeCount: 16
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:55"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:58"
        BranchSideFuncs:
        - "isNeedClientAuth()"
        - "setNeedClientAuth(boolean)"
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:57"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:58"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:61"
        BranchSideFuncs:
        - "isWantClientAuth()"
        - "setWantClientAuth(boolean)"
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:60"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:65"
        BranchSideFuncs:
        - "setHostnameVerification(boolean)"
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:64"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:52,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].getSupportedProtocols()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:52,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].getDefaultProtocols()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:52,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].enabledProtocols(java.lang.String[],java.lang.String[])"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:52,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].setEnabledProtocols(java.lang.String[])"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:54,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].getSupportedCipherSuites()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:54,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].getDefaultCipherSuites()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:54,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].enabledCipherSuites(java.lang.String[],java.lang.String[])"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:53,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].setEnabledCipherSuites(java.lang.String[])"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:55,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].isNeedClientAuth()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:56,1"
      Dst: "[java.lang.Boolean].booleanValue()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:56,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].setNeedClientAuth(boolean)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:58,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].isWantClientAuth()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:59,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].setWantClientAuth(boolean)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:62,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Boolean)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:62,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:63,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].setHostnameVerification(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.net.ssl.ConfigurableSSLSocketFactory].createSocket(java.net.InetAddress,int)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.ConfigurableSSLSocketFactory"
    linkageType: null
    functionLinenumber: 70
    functionDepth: 5
    returnType: "java.net.Socket"
    argCount: 2
    argTypes:
    - "java.net.InetAddress"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableSocket].<init>(javax.net.ssl.SSLSocket)"
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].configure(ch.qos.logback.core.net.ssl.SSLConfigurable)"
    - "[javax.net.SocketFactory].createSocket(java.net.InetAddress,int)"
    functionUses: 1
    ICount: 11
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.ConfigurableSSLSocketFactory:71,1"
      Dst: "[javax.net.SocketFactory].createSocket(java.net.InetAddress,int)"
    - Src: "ch.qos.logback.core.net.ssl.ConfigurableSSLSocketFactory:72,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurableSocket].<init>(javax.net.ssl.SSLSocket)"
    - Src: "ch.qos.logback.core.net.ssl.ConfigurableSSLSocketFactory:72,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].configure(ch.qos.logback.core.net.ssl.SSLConfigurable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLConfigurableSocket].<init>(javax.net.ssl.SSLSocket)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLConfigurableSocket"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "javax.net.ssl.SSLSocket"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLConfigurableSocket:29,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].configure(ch.qos.logback.core.net.ssl.SSLConfigurable)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration"
    linkageType: null
    functionLinenumber: 51
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.net.ssl.SSLConfigurable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].enabledProtocols(java.lang.String[],java.lang.String[])"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableSocket].getDefaultProtocols()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:ch.qos.logback.core.net.ssl.SSLConfigurableSocket].getSupportedProtocols()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:ch.qos.logback.core.net.ssl.SSLConfigurableSocket].setEnabledProtocols(java.lang.String[])"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:ch.qos.logback.core.net.ssl.SSLConfigurableSocket].setEnabledCipherSuites(java.lang.String[])"
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].enabledCipherSuites(java.lang.String[],java.lang.String[])"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:ch.qos.logback.core.net.ssl.SSLConfigurableSocket].getDefaultCipherSuites()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:ch.qos.logback.core.net.ssl.SSLConfigurableSocket].getSupportedCipherSuites()"
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].isNeedClientAuth()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket].setNeedClientAuth(boolean)"
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].isWantClientAuth()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:ch.qos.logback.core.net.ssl.SSLConfigurableSocket].setWantClientAuth(boolean)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableSocket].setHostnameVerification(boolean)"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].getSupportedProtocols()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].getDefaultProtocols()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].setEnabledProtocols(java.lang.String[])"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].getSupportedCipherSuites()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].getDefaultCipherSuites()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].setEnabledCipherSuites(java.lang.String[])"
    - "[java.lang.Boolean].booleanValue()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].setNeedClientAuth(boolean)"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].setWantClientAuth(boolean)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Boolean)"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].setHostnameVerification(boolean)"
    functionUses: 3
    ICount: 29
    EdgeCount: 16
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:55"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:58"
        BranchSideFuncs:
        - "isNeedClientAuth()"
        - "setNeedClientAuth(boolean)"
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:57"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:58"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:61"
        BranchSideFuncs:
        - "isWantClientAuth()"
        - "setWantClientAuth(boolean)"
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:60"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:65"
        BranchSideFuncs:
        - "setHostnameVerification(boolean)"
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:64"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:52,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].getSupportedProtocols()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:52,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].getDefaultProtocols()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:52,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].enabledProtocols(java.lang.String[],java.lang.String[])"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:52,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].setEnabledProtocols(java.lang.String[])"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:54,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].getSupportedCipherSuites()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:54,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].getDefaultCipherSuites()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:54,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].enabledCipherSuites(java.lang.String[],java.lang.String[])"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:53,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].setEnabledCipherSuites(java.lang.String[])"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:55,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].isNeedClientAuth()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:56,1"
      Dst: "[java.lang.Boolean].booleanValue()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:56,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].setNeedClientAuth(boolean)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:58,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].isWantClientAuth()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:59,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].setWantClientAuth(boolean)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:62,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Boolean)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:62,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:63,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].setHostnameVerification(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.net.ssl.ConfigurableSSLSocketFactory].createSocket(java.lang.String,int,java.net.InetAddress,int)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.ConfigurableSSLSocketFactory"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 5
    returnType: "java.net.Socket"
    argCount: 4
    argTypes:
    - "java.lang.String"
    - "int"
    - "java.net.InetAddress"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.net.SocketFactory].createSocket(java.lang.String,int,java.net.InetAddress,int)"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableSocket].<init>(javax.net.ssl.SSLSocket)"
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].configure(ch.qos.logback.core.net.ssl.SSLConfigurable)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.ConfigurableSSLSocketFactory:82,1"
      Dst: "[javax.net.SocketFactory].createSocket(java.lang.String,int,java.net.InetAddress,int)"
    - Src: "ch.qos.logback.core.net.ssl.ConfigurableSSLSocketFactory:83,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurableSocket].<init>(javax.net.ssl.SSLSocket)"
    - Src: "ch.qos.logback.core.net.ssl.ConfigurableSSLSocketFactory:83,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].configure(ch.qos.logback.core.net.ssl.SSLConfigurable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLConfigurableSocket].<init>(javax.net.ssl.SSLSocket)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLConfigurableSocket"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "javax.net.ssl.SSLSocket"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLConfigurableSocket:29,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].configure(ch.qos.logback.core.net.ssl.SSLConfigurable)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration"
    linkageType: null
    functionLinenumber: 51
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.net.ssl.SSLConfigurable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].enabledProtocols(java.lang.String[],java.lang.String[])"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableSocket].getDefaultProtocols()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:ch.qos.logback.core.net.ssl.SSLConfigurableSocket].getSupportedProtocols()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:ch.qos.logback.core.net.ssl.SSLConfigurableSocket].setEnabledProtocols(java.lang.String[])"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:ch.qos.logback.core.net.ssl.SSLConfigurableSocket].setEnabledCipherSuites(java.lang.String[])"
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].enabledCipherSuites(java.lang.String[],java.lang.String[])"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:ch.qos.logback.core.net.ssl.SSLConfigurableSocket].getDefaultCipherSuites()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:ch.qos.logback.core.net.ssl.SSLConfigurableSocket].getSupportedCipherSuites()"
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].isNeedClientAuth()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket].setNeedClientAuth(boolean)"
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].isWantClientAuth()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:ch.qos.logback.core.net.ssl.SSLConfigurableSocket].setWantClientAuth(boolean)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableSocket].setHostnameVerification(boolean)"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].getSupportedProtocols()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].getDefaultProtocols()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].setEnabledProtocols(java.lang.String[])"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].getSupportedCipherSuites()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].getDefaultCipherSuites()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].setEnabledCipherSuites(java.lang.String[])"
    - "[java.lang.Boolean].booleanValue()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].setNeedClientAuth(boolean)"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].setWantClientAuth(boolean)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Boolean)"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].setHostnameVerification(boolean)"
    functionUses: 3
    ICount: 29
    EdgeCount: 16
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:55"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:58"
        BranchSideFuncs:
        - "isNeedClientAuth()"
        - "setNeedClientAuth(boolean)"
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:57"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:58"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:61"
        BranchSideFuncs:
        - "isWantClientAuth()"
        - "setWantClientAuth(boolean)"
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:60"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:65"
        BranchSideFuncs:
        - "setHostnameVerification(boolean)"
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:64"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:52,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].getSupportedProtocols()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:52,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].getDefaultProtocols()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:52,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].enabledProtocols(java.lang.String[],java.lang.String[])"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:52,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].setEnabledProtocols(java.lang.String[])"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:54,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].getSupportedCipherSuites()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:54,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].getDefaultCipherSuites()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:54,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].enabledCipherSuites(java.lang.String[],java.lang.String[])"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:53,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].setEnabledCipherSuites(java.lang.String[])"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:55,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].isNeedClientAuth()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:56,1"
      Dst: "[java.lang.Boolean].booleanValue()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:56,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].setNeedClientAuth(boolean)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:58,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].isWantClientAuth()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:59,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].setWantClientAuth(boolean)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:62,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Boolean)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:62,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:63,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].setHostnameVerification(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.net.ssl.ConfigurableSSLSocketFactory].createSocket(java.lang.String,int)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.ConfigurableSSLSocketFactory"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 5
    returnType: "java.net.Socket"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.net.SocketFactory].createSocket(java.lang.String,int)"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableSocket].<init>(javax.net.ssl.SSLSocket)"
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].configure(ch.qos.logback.core.net.ssl.SSLConfigurable)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.ConfigurableSSLSocketFactory:92,1"
      Dst: "[javax.net.SocketFactory].createSocket(java.lang.String,int)"
    - Src: "ch.qos.logback.core.net.ssl.ConfigurableSSLSocketFactory:93,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurableSocket].<init>(javax.net.ssl.SSLSocket)"
    - Src: "ch.qos.logback.core.net.ssl.ConfigurableSSLSocketFactory:93,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].configure(ch.qos.logback.core.net.ssl.SSLConfigurable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLConfigurableSocket].<init>(javax.net.ssl.SSLSocket)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLConfigurableSocket"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "javax.net.ssl.SSLSocket"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLConfigurableSocket:29,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].configure(ch.qos.logback.core.net.ssl.SSLConfigurable)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration"
    linkageType: null
    functionLinenumber: 51
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.net.ssl.SSLConfigurable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].enabledProtocols(java.lang.String[],java.lang.String[])"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableSocket].getDefaultProtocols()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:ch.qos.logback.core.net.ssl.SSLConfigurableSocket].getSupportedProtocols()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:ch.qos.logback.core.net.ssl.SSLConfigurableSocket].setEnabledProtocols(java.lang.String[])"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:ch.qos.logback.core.net.ssl.SSLConfigurableSocket].setEnabledCipherSuites(java.lang.String[])"
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].enabledCipherSuites(java.lang.String[],java.lang.String[])"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:ch.qos.logback.core.net.ssl.SSLConfigurableSocket].getDefaultCipherSuites()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:ch.qos.logback.core.net.ssl.SSLConfigurableSocket].getSupportedCipherSuites()"
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].isNeedClientAuth()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket].setNeedClientAuth(boolean)"
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].isWantClientAuth()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableServerSocket:ch.qos.logback.core.net.ssl.SSLConfigurableSocket].setWantClientAuth(boolean)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurableSocket].setHostnameVerification(boolean)"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].getSupportedProtocols()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].getDefaultProtocols()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].setEnabledProtocols(java.lang.String[])"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].getSupportedCipherSuites()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].getDefaultCipherSuites()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].setEnabledCipherSuites(java.lang.String[])"
    - "[java.lang.Boolean].booleanValue()"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].setNeedClientAuth(boolean)"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].setWantClientAuth(boolean)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Boolean)"
    - "[ch.qos.logback.core.net.ssl.SSLConfigurable].setHostnameVerification(boolean)"
    functionUses: 3
    ICount: 29
    EdgeCount: 16
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:55"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:58"
        BranchSideFuncs:
        - "isNeedClientAuth()"
        - "setNeedClientAuth(boolean)"
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:57"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:58"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:61"
        BranchSideFuncs:
        - "isWantClientAuth()"
        - "setWantClientAuth(boolean)"
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:60"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:65"
        BranchSideFuncs:
        - "setHostnameVerification(boolean)"
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:64"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:52,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].getSupportedProtocols()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:52,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].getDefaultProtocols()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:52,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].enabledProtocols(java.lang.String[],java.lang.String[])"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:52,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].setEnabledProtocols(java.lang.String[])"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:54,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].getSupportedCipherSuites()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:54,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].getDefaultCipherSuites()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:54,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].enabledCipherSuites(java.lang.String[],java.lang.String[])"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:53,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].setEnabledCipherSuites(java.lang.String[])"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:55,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].isNeedClientAuth()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:56,1"
      Dst: "[java.lang.Boolean].booleanValue()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:56,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].setNeedClientAuth(boolean)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:58,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].isWantClientAuth()"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:59,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].setWantClientAuth(boolean)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:62,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Boolean)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:62,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration:63,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfigurable].setHostnameVerification(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.joran.action.ImportAction].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.action.ImportAction"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.ImportAction:28,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.ImportAction].validPreconditions(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.ImportAction"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 4
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].<init>(ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].validateClassAttribute()"
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].isValid()"
    functionUses: 1
    ICount: 9
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.ImportAction:32,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].<init>(ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    - Src: "ch.qos.logback.core.joran.action.ImportAction:33,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].validateClassAttribute()"
    - Src: "ch.qos.logback.core.joran.action.ImportAction:34,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].isValid()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].<init>(ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 1
    returnType: "void"
    argCount: 4
    argTypes:
    - "ch.qos.logback.core.spi.ContextAware"
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>(ch.qos.logback.core.spi.ContextAware)"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].getContext()"
    - "[ch.qos.logback.core.pattern.DynamicConverter].getContext()"
    - "[ch.qos.logback.core.LayoutBase:ch.qos.logback.core.spi.ContextAwareBase:ch.qos.logback.core.spi.ContextAwareImpl].getContext()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAware].getContext()"
    functionUses: 16
    ICount: 13
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:33,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>(ch.qos.logback.core.spi.ContextAware)"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:34,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].getContext()"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:34,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].validateClassAttribute()"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 53
    functionDepth: 3
    returnType: "ch.qos.logback.core.joran.action.PreconditionValidator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].generic(java.lang.String)"
    functionUses: 6
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:54,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].generic(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].isValid()"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 79
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 16
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.ImportAction].buildCurrentModel(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.ImportAction"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.Model"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.ImportModel].<init>()"
    - "[org.xml.sax.helpers.AttributesImpl].getValue(java.lang.String)"
    - "[ch.qos.logback.core.model.ImportModel].setClassName(java.lang.String)"
    - "[org.xml.sax.Attributes].getValue(java.lang.String)"
    functionUses: 1
    ICount: 9
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.ImportAction:40,1"
      Dst: "[ch.qos.logback.core.model.ImportModel].<init>()"
    - Src: "ch.qos.logback.core.joran.action.ImportAction:41,1"
      Dst: "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.ImportAction:41,1"
      Dst: "[ch.qos.logback.core.model.ImportModel].setClassName(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ImportModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.ImportModel"
    linkageType: null
    functionLinenumber: 15
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.ImportModel:16,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ImportModel].setClassName(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.ImportModel"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.filter.EvaluatorFilter].<init>()"
    functionSourceFile: "ch.qos.logback.core.filter.EvaluatorFilter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.filter.AbstractMatcherFilter].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.filter.EvaluatorFilter:39,1"
      Dst: "[ch.qos.logback.core.filter.AbstractMatcherFilter].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.filter.EvaluatorFilter].start()"
    functionSourceFile: "ch.qos.logback.core.filter.EvaluatorFilter"
    linkageType: null
    functionLinenumber: 44
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.filter.Filter].start()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.filter.Filter].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 5
    ICount: 9
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.filter.EvaluatorFilter:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.filter.EvaluatorFilter:48"
        BranchSideFuncs:
        - "start()"
      - BranchSide: "ch.qos.logback.core.filter.EvaluatorFilter:47"
        BranchSideFuncs:
        - "getName()"
        - "addError(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.filter.EvaluatorFilter:46,1"
      Dst: "[ch.qos.logback.core.filter.Filter].start()"
    - Src: "ch.qos.logback.core.filter.EvaluatorFilter:48,1"
      Dst: "[ch.qos.logback.core.filter.Filter].getName()"
    - Src: "ch.qos.logback.core.filter.EvaluatorFilter:48,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.filter.EvaluatorFilter:48,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.filter.EvaluatorFilter].getEvaluator()"
    functionSourceFile: "ch.qos.logback.core.filter.EvaluatorFilter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.core.boolex.EventEvaluator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.filter.EvaluatorFilter].setEvaluator(ch.qos.logback.core.boolex.EventEvaluator)"
    functionSourceFile: "ch.qos.logback.core.filter.EvaluatorFilter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.boolex.EventEvaluator"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.filter.EvaluatorFilter].decide(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.filter.EvaluatorFilter"
    linkageType: null
    functionLinenumber: 62
    functionDepth: 2
    returnType: "ch.qos.logback.core.spi.FilterReply"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.boolex.EventEvaluatorBase].isStarted()"
    - "[ch.qos.logback.core.boolex.JaninoEventEvaluatorBase].evaluate(java.lang.Object)"
    - "[ch.qos.logback.classic.boolex.OnMarkerEvaluator].evaluate(java.lang.Object)"
    - "[ch.qos.logback.classic.boolex.OnErrorEvaluator].evaluate(java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.boolex.EventEvaluatorBase:ch.qos.logback.core.filter.Filter].getName()"
    - "[ch.qos.logback.core.filter.Filter].isStarted()"
    - "[ch.qos.logback.core.spi.LifeCycle].isStarted()"
    - "[ch.qos.logback.core.boolex.EventEvaluator].evaluate(java.lang.Object)"
    - "[ch.qos.logback.core.boolex.EventEvaluator].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 23
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.filter.EvaluatorFilter:63"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.filter.EvaluatorFilter:64"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.filter.EvaluatorFilter:63"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.filter.EvaluatorFilter:63"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.filter.EvaluatorFilter:67"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.filter.EvaluatorFilter:66"
        BranchSideFuncs:
        - "evaluate(java.lang.Object)"
    - Branch String: "ch.qos.logback.core.filter.EvaluatorFilter:67"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.filter.EvaluatorFilter:70"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.filter.EvaluatorFilter:69"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.filter.EvaluatorFilter:63,1"
      Dst: "[ch.qos.logback.core.filter.Filter].isStarted()"
    - Src: "ch.qos.logback.core.filter.EvaluatorFilter:63,1"
      Dst: "[ch.qos.logback.core.spi.LifeCycle].isStarted()"
    - Src: "ch.qos.logback.core.filter.EvaluatorFilter:67,1"
      Dst: "[ch.qos.logback.core.boolex.EventEvaluator].evaluate(java.lang.Object)"
    - Src: "ch.qos.logback.core.filter.EvaluatorFilter:73,1"
      Dst: "[ch.qos.logback.core.boolex.EventEvaluator].getName()"
    - Src: "ch.qos.logback.core.filter.EvaluatorFilter:73,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.filter.EvaluatorFilter:73,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 74
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPMDCAdapter].<init>()"
    functionSourceFile: "org.slf4j.helpers.NOPMDCAdapter"
    linkageType: null
    functionLinenumber: 40
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.NOPMDCAdapter:41,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPMDCAdapter].clear()"
    functionSourceFile: "org.slf4j.helpers.NOPMDCAdapter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPMDCAdapter].get(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.NOPMDCAdapter"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPMDCAdapter].put(java.lang.String,java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.NOPMDCAdapter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPMDCAdapter].remove(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.NOPMDCAdapter"
    linkageType: null
    functionLinenumber: 53
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPMDCAdapter].getCopyOfContextMap()"
    functionSourceFile: "org.slf4j.helpers.NOPMDCAdapter"
    linkageType: null
    functionLinenumber: 56
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPMDCAdapter].setContextMap(java.util.Map)"
    functionSourceFile: "org.slf4j.helpers.NOPMDCAdapter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.Map"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPMDCAdapter].pushByKey(java.lang.String,java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.NOPMDCAdapter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPMDCAdapter].popByKey(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.NOPMDCAdapter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPMDCAdapter].getCopyOfDequeByKey(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.NOPMDCAdapter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.util.Deque"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPMDCAdapter].clearDequeByKey(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.NOPMDCAdapter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ObjectWriterFactory].<init>()"
    functionSourceFile: "ch.qos.logback.core.net.ObjectWriterFactory"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ObjectWriterFactory:27,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ObjectWriterFactory].newAutoFlushingObjectWriter(java.io.OutputStream)"
    functionSourceFile: "ch.qos.logback.core.net.ObjectWriterFactory"
    linkageType: null
    functionLinenumber: 38
    functionDepth: 1
    returnType: "ch.qos.logback.core.net.AutoFlushingObjectWriter"
    argCount: 1
    argTypes:
    - "java.io.OutputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.AutoFlushingObjectWriter].<init>(java.io.ObjectOutputStream,int)"
    - "[java.io.ObjectOutputStream].<init>(java.io.OutputStream)"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ObjectWriterFactory:39,1"
      Dst: "[java.io.ObjectOutputStream].<init>(java.io.OutputStream)"
    - Src: "ch.qos.logback.core.net.ObjectWriterFactory:39,1"
      Dst: "[ch.qos.logback.core.net.AutoFlushingObjectWriter].<init>(java.io.ObjectOutputStream,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.AutoFlushingObjectWriter].<init>(java.io.ObjectOutputStream,int)"
    functionSourceFile: "ch.qos.logback.core.net.AutoFlushingObjectWriter"
    linkageType: null
    functionLinenumber: 38
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.io.ObjectOutputStream"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.AutoFlushingObjectWriter:39,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.AppenderRefModelHandler].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.model.processor.AppenderRefModelHandler"
    linkageType: null
    functionLinenumber: 15
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.AppenderRefModelHandler:16,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.AppenderRefModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.AppenderRefModelHandler"
    linkageType: null
    functionLinenumber: 19
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.AppenderRefModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.AppenderRefModelHandler:20,1"
      Dst: "[ch.qos.logback.core.model.processor.AppenderRefModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.AppenderRefModelHandler].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.model.processor.AppenderRefModelHandler"
    linkageType: null
    functionLinenumber: 15
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.AppenderRefModelHandler:16,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.AppenderRefModelHandler].getSupportedModelClass()"
    functionSourceFile: "ch.qos.logback.core.model.processor.AppenderRefModelHandler"
    linkageType: null
    functionLinenumber: 24
    functionDepth: 0
    returnType: "java.lang.Class"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.AppenderRefModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.AppenderRefModelHandler"
    linkageType: null
    functionLinenumber: 30
    functionDepth: 14
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekObject()"
    - "[ch.qos.logback.core.model.Model].idString()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.model.processor.AppenderRefModelHandler].attachRefencedAppenders(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.AppenderRefModel,ch.qos.logback.core.spi.AppenderAttachable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 3
    ICount: 15
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.AppenderRefModelHandler:33"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.AppenderRefModelHandler:41"
        BranchSideFuncs:
        - "addError(java.lang.String)"
        - "idString()"
      - BranchSide: "ch.qos.logback.core.model.processor.AppenderRefModelHandler:40"
        BranchSideFuncs:
        - "attachRefencedAppenders(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.AppenderRefModel,ch.qos.logback.core.spi.AppenderAttachable)"
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.AppenderRefModelHandler:31,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekObject()"
    - Src: "ch.qos.logback.core.model.processor.AppenderRefModelHandler:36,1"
      Dst: "[ch.qos.logback.core.model.Model].idString()"
    - Src: "ch.qos.logback.core.model.processor.AppenderRefModelHandler:36,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.AppenderRefModelHandler:37,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.AppenderRefModelHandler:44,1"
      Dst: "[ch.qos.logback.core.model.processor.AppenderRefModelHandler].attachRefencedAppenders(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.AppenderRefModel,ch.qos.logback.core.spi.AppenderAttachable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekObject()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 122
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].peek()"
    functionUses: 16
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:123,1"
      Dst: "[java.util.Stack].peek()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].idString()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 139
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int)"
    functionUses: 4
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:140,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.AppenderRefModelHandler].attachRefencedAppenders(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.AppenderRefModel,ch.qos.logback.core.spi.AppenderAttachable)"
    functionSourceFile: "ch.qos.logback.core.model.processor.AppenderRefModelHandler"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 13
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.AppenderRefModel"
    - "ch.qos.logback.core.spi.AppenderAttachable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.AppenderRefModel].getRef()"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getObjectMap()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.AsyncAppenderBase].addAppender(ch.qos.logback.core.Appender)"
    - "[ch.qos.logback.classic.Logger].addAppender(ch.qos.logback.core.Appender)"
    - "[ch.qos.logback.core.spi.AppenderAttachableImpl].addAppender(ch.qos.logback.core.Appender)"
    - "[java.util.Map].get(java.lang.Object)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,ch.qos.logback.core.spi.AppenderAttachable)"
    - "[ch.qos.logback.core.spi.AppenderAttachable].addAppender(ch.qos.logback.core.Appender)"
    functionUses: 1
    ICount: 19
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.AppenderRefModelHandler:56"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.AppenderRefModelHandler:59"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.model.processor.AppenderRefModelHandler:58"
        BranchSideFuncs:
        - "addAppender(ch.qos.logback.core.Appender)"
        - "addInfo(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.AppenderRefModelHandler:51,1"
      Dst: "[ch.qos.logback.core.model.AppenderRefModel].getRef()"
    - Src: "ch.qos.logback.core.model.processor.AppenderRefModelHandler:51,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.AppenderRefModelHandler:53,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getObjectMap()"
    - Src: "ch.qos.logback.core.model.processor.AppenderRefModelHandler:53,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "ch.qos.logback.core.model.processor.AppenderRefModelHandler:57,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.AppenderRefModelHandler:57,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.AppenderRefModelHandler:59,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,ch.qos.logback.core.spi.AppenderAttachable)"
    - Src: "ch.qos.logback.core.model.processor.AppenderRefModelHandler:59,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.AppenderRefModelHandler:60,1"
      Dst: "[ch.qos.logback.core.spi.AppenderAttachable].addAppender(ch.qos.logback.core.Appender)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.model.AppenderRefModel].getRef()"
    functionSourceFile: "ch.qos.logback.core.model.AppenderRefModel"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 152
    functionDepth: 12
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.OptionHelper].substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 26
    ICount: 11
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:153"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:158"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:157"
        BranchSideFuncs:
        - "substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:158,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].substVars(java.lang.String,ch.qos.logback.core.spi.PropertyContainer,ch.qos.logback.core.spi.PropertyContainer)"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:160,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:160,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getObjectMap()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 77
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.AppenderRefModelHandler].attachRefencedAppenders(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.AppenderRefModel,ch.qos.logback.core.spi.AppenderAttachable)"
    functionSourceFile: "ch.qos.logback.core.model.processor.AppenderRefModelHandler"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 13
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.AppenderRefModel"
    - "ch.qos.logback.core.spi.AppenderAttachable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.AppenderRefModel].getRef()"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getObjectMap()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.AsyncAppenderBase].addAppender(ch.qos.logback.core.Appender)"
    - "[ch.qos.logback.classic.Logger].addAppender(ch.qos.logback.core.Appender)"
    - "[ch.qos.logback.core.spi.AppenderAttachableImpl].addAppender(ch.qos.logback.core.Appender)"
    - "[java.util.Map].get(java.lang.Object)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,ch.qos.logback.core.spi.AppenderAttachable)"
    - "[ch.qos.logback.core.spi.AppenderAttachable].addAppender(ch.qos.logback.core.Appender)"
    functionUses: 1
    ICount: 19
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.AppenderRefModelHandler:56"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.AppenderRefModelHandler:59"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.model.processor.AppenderRefModelHandler:58"
        BranchSideFuncs:
        - "addAppender(ch.qos.logback.core.Appender)"
        - "addInfo(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.AppenderRefModelHandler:51,1"
      Dst: "[ch.qos.logback.core.model.AppenderRefModel].getRef()"
    - Src: "ch.qos.logback.core.model.processor.AppenderRefModelHandler:51,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].subst(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.AppenderRefModelHandler:53,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getObjectMap()"
    - Src: "ch.qos.logback.core.model.processor.AppenderRefModelHandler:53,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "ch.qos.logback.core.model.processor.AppenderRefModelHandler:57,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.AppenderRefModelHandler:57,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.AppenderRefModelHandler:59,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,ch.qos.logback.core.spi.AppenderAttachable)"
    - Src: "ch.qos.logback.core.model.processor.AppenderRefModelHandler:59,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.AppenderRefModelHandler:60,1"
      Dst: "[ch.qos.logback.core.spi.AppenderAttachable].addAppender(ch.qos.logback.core.Appender)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.selector.ContextJNDISelector].<init>(ch.qos.logback.classic.LoggerContext)"
    functionSourceFile: "ch.qos.logback.classic.selector.ContextJNDISelector"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.LoggerContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.HashMap].<init>()"
    - "[java.util.Collections].synchronizedMap(java.util.Map)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:59,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:60,1"
      Dst: "[java.util.HashMap].<init>()"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:60,1"
      Dst: "[java.util.Collections].synchronizedMap(java.util.Map)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.selector.ContextJNDISelector].getDefaultLoggerContext()"
    functionSourceFile: "ch.qos.logback.classic.selector.ContextJNDISelector"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.classic.LoggerContext"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.selector.ContextJNDISelector].detachLoggerContext(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.selector.ContextJNDISelector"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.classic.LoggerContext"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map].remove(java.lang.Object)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:69,1"
      Dst: "[java.util.Map].remove(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.selector.ContextJNDISelector].getLoggerContext()"
    functionSourceFile: "ch.qos.logback.classic.selector.ContextJNDISelector"
    linkageType: null
    functionLinenumber: 72
    functionDepth: 10
    returnType: "ch.qos.logback.classic.LoggerContext"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.JNDIUtil].getInitialContext()"
    - "[ch.qos.logback.core.util.JNDIUtil].lookupString(javax.naming.Context,java.lang.String)"
    - "[ch.qos.logback.classic.LoggerContext].<init>()"
    - "[ch.qos.logback.classic.LoggerContext].setName(java.lang.String)"
    - "[ch.qos.logback.classic.selector.ContextJNDISelector].findConfigFileURL(javax.naming.Context,ch.qos.logback.classic.LoggerContext)"
    - "[ch.qos.logback.classic.selector.ContextJNDISelector].configureLoggerContextByURL(ch.qos.logback.classic.LoggerContext,java.net.URL)"
    - "[ch.qos.logback.classic.util.ContextInitializer].<init>(ch.qos.logback.classic.LoggerContext)"
    - "[ch.qos.logback.classic.util.ContextInitializer].autoConfig()"
    - "[ch.qos.logback.core.status.StatusUtil].contextHasStatusListener(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.util.StatusPrinter].printInCaseOfErrorsOrWarnings(ch.qos.logback.core.Context)"
    - "[java.lang.ThreadLocal].get()"
    - "[java.util.Map].get(java.lang.Object)"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 1
    ICount: 39
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.selector.ContextJNDISelector:78"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.selector.ContextJNDISelector:85"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.selector.ContextJNDISelector:84"
        BranchSideFuncs:
        - "lookupString(javax.naming.Context,java.lang.String)"
        - "getInitialContext()"
    - Branch String: "ch.qos.logback.classic.selector.ContextJNDISelector:91"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.selector.ContextJNDISelector:95"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.selector.ContextJNDISelector:98"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.selector.ContextJNDISelector:115"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.selector.ContextJNDISelector:104"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.selector.ContextJNDISelector:108"
        BranchSideFuncs:
        - "configureLoggerContextByURL(ch.qos.logback.classic.LoggerContext,java.net.URL)"
      - BranchSide: "ch.qos.logback.classic.selector.ContextJNDISelector:107"
        BranchSideFuncs:
        - "autoConfig()"
        - "<init>(ch.qos.logback.classic.LoggerContext)"
    - Branch String: "ch.qos.logback.classic.selector.ContextJNDISelector:113"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.selector.ContextJNDISelector:116"
        BranchSideFuncs:
        - "printInCaseOfErrorsOrWarnings(ch.qos.logback.core.Context)"
      - BranchSide: "ch.qos.logback.classic.selector.ContextJNDISelector:115"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:77,1"
      Dst: "[java.lang.ThreadLocal].get()"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:85,1"
      Dst: "[ch.qos.logback.core.util.JNDIUtil].getInitialContext()"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:86,1"
      Dst: "[ch.qos.logback.core.util.JNDIUtil].lookupString(javax.naming.Context,java.lang.String)"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:96,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:100,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].<init>()"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:101,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].setName(java.lang.String)"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:102,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:103,1"
      Dst: "[ch.qos.logback.classic.selector.ContextJNDISelector].findConfigFileURL(javax.naming.Context,ch.qos.logback.classic.LoggerContext)"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:105,1"
      Dst: "[ch.qos.logback.classic.selector.ContextJNDISelector].configureLoggerContextByURL(ch.qos.logback.classic.LoggerContext,java.net.URL)"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:108,1"
      Dst: "[ch.qos.logback.classic.util.ContextInitializer].<init>(ch.qos.logback.classic.LoggerContext)"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:108,1"
      Dst: "[ch.qos.logback.classic.util.ContextInitializer].autoConfig()"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:113,1"
      Dst: "[ch.qos.logback.core.status.StatusUtil].contextHasStatusListener(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:114,1"
      Dst: "[ch.qos.logback.core.util.StatusPrinter].printInCaseOfErrorsOrWarnings(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 14
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.util.JNDIUtil].getInitialContext()"
    functionSourceFile: "ch.qos.logback.core.util.JNDIUtil"
    linkageType: null
    functionLinenumber: 37
    functionDepth: 0
    returnType: "javax.naming.Context"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.naming.InitialContext].<init>()"
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.JNDIUtil:38,1"
      Dst: "[javax.naming.InitialContext].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.JNDIUtil].lookupString(javax.naming.Context,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.JNDIUtil"
    linkageType: null
    functionLinenumber: 66
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "javax.naming.Context"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.JNDIUtil].lookupObject(javax.naming.Context,java.lang.String)"
    functionUses: 3
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.JNDIUtil:67,1"
      Dst: "[ch.qos.logback.core.util.JNDIUtil].lookupObject(javax.naming.Context,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].<init>()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 83
    functionDepth: 4
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.TurboFilterList].<init>()"
    - "[ch.qos.logback.core.ContextBase].<init>()"
    - "[ch.qos.logback.classic.spi.LoggerContextVO].<init>(ch.qos.logback.classic.LoggerContext)"
    - "[ch.qos.logback.classic.Logger].<init>(java.lang.String,ch.qos.logback.classic.Logger,ch.qos.logback.classic.LoggerContext)"
    - "[ch.qos.logback.classic.Logger].setLevel(ch.qos.logback.classic.Level)"
    - "[ch.qos.logback.classic.LoggerContext].initEvaluatorMap()"
    - "[java.util.ArrayList].<init>()"
    - "[java.util.concurrent.ConcurrentHashMap].<init>()"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 2
    ICount: 34
    EdgeCount: 6
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:84,1"
      Dst: "[ch.qos.logback.core.ContextBase].<init>()"
    - Src: "ch.qos.logback.classic.LoggerContext:66,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.classic.LoggerContext:71,1"
      Dst: "[ch.qos.logback.classic.spi.TurboFilterList].<init>()"
    - Src: "ch.qos.logback.classic.LoggerContext:85,1"
      Dst: "[java.util.concurrent.ConcurrentHashMap].<init>()"
    - Src: "ch.qos.logback.classic.LoggerContext:87,1"
      Dst: "[ch.qos.logback.classic.spi.LoggerContextVO].<init>(ch.qos.logback.classic.LoggerContext)"
    - Src: "ch.qos.logback.classic.LoggerContext:88,1"
      Dst: "[ch.qos.logback.classic.Logger].<init>(java.lang.String,ch.qos.logback.classic.Logger,ch.qos.logback.classic.LoggerContext)"
    - Src: "ch.qos.logback.classic.LoggerContext:89,1"
      Dst: "[ch.qos.logback.classic.Logger].setLevel(ch.qos.logback.classic.Level)"
    - Src: "ch.qos.logback.classic.LoggerContext:90,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - Src: "ch.qos.logback.classic.LoggerContext:91,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].initEvaluatorMap()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].setName(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 115
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].setName(java.lang.String)"
    - "[ch.qos.logback.classic.LoggerContext].updateLoggerContextVO()"
    functionUses: 3
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:116,1"
      Dst: "[ch.qos.logback.core.ContextBase].setName(java.lang.String)"
    - Src: "ch.qos.logback.classic.LoggerContext:117,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].updateLoggerContextVO()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.selector.ContextJNDISelector].findConfigFileURL(javax.naming.Context,ch.qos.logback.classic.LoggerContext)"
    functionSourceFile: "ch.qos.logback.classic.selector.ContextJNDISelector"
    linkageType: null
    functionLinenumber: 124
    functionDepth: 4
    returnType: "java.net.URL"
    argCount: 2
    argTypes:
    - "javax.naming.Context"
    - "ch.qos.logback.classic.LoggerContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - "[ch.qos.logback.core.util.JNDIUtil].lookupString(javax.naming.Context,java.lang.String)"
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.BasicStatusManager].add(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.classic.selector.ContextJNDISelector].urlByResourceName(ch.qos.logback.core.status.StatusManager,java.lang.String)"
    - "[ch.qos.logback.core.ContextBase].getName()"
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.classic.selector.ContextJNDISelector].conventionalConfigFileName(java.lang.String)"
    - "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    functionUses: 1
    ICount: 28
    EdgeCount: 13
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.selector.ContextJNDISelector:135"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.selector.ContextJNDISelector:145"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.selector.ContextJNDISelector:144"
        BranchSideFuncs:
        - "conventionalConfigFileName(java.lang.String)"
        - "urlByResourceName(ch.qos.logback.core.status.StatusManager,java.lang.String)"
        - "getName()"
    - Branch String: "ch.qos.logback.classic.selector.ContextJNDISelector:138"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.selector.ContextJNDISelector:142"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:125,1"
      Dst: "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:130,1"
      Dst: "[ch.qos.logback.core.util.JNDIUtil].lookupString(javax.naming.Context,java.lang.String)"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:132,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:132,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:136,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:136,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:137,1"
      Dst: "[ch.qos.logback.classic.selector.ContextJNDISelector].urlByResourceName(ch.qos.logback.core.status.StatusManager,java.lang.String)"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:140,1"
      Dst: "[ch.qos.logback.core.ContextBase].getName()"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:140,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:141,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:145,1"
      Dst: "[ch.qos.logback.classic.selector.ContextJNDISelector].conventionalConfigFileName(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.ContextBase].getStatusManager()"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 70
    functionDepth: 0
    returnType: "ch.qos.logback.core.status.StatusManager"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 19
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.status.WarnStatus"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionUses: 2
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.WarnStatus:23,1"
      Dst: "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.status.InfoStatus"
    linkageType: null
    functionLinenumber: 17
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    functionUses: 15
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.InfoStatus:18,1"
      Dst: "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.selector.ContextJNDISelector].urlByResourceName(ch.qos.logback.core.status.StatusManager,java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.selector.ContextJNDISelector"
    linkageType: null
    functionLinenumber: 150
    functionDepth: 3
    returnType: "java.net.URL"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.status.StatusManager"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.BasicStatusManager].add(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.util.Loader].getResource(java.lang.String,java.lang.ClassLoader)"
    - "[ch.qos.logback.core.util.Loader].getTCL()"
    - "[ch.qos.logback.core.util.Loader].getResourceBySelfClassLoader(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    functionUses: 2
    ICount: 13
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.selector.ContextJNDISelector:153"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.selector.ContextJNDISelector:156"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.selector.ContextJNDISelector:155"
        BranchSideFuncs:
        - "getResourceBySelfClassLoader(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:151,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:151,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:151,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:152,1"
      Dst: "[ch.qos.logback.core.util.Loader].getTCL()"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:152,1"
      Dst: "[ch.qos.logback.core.util.Loader].getResource(java.lang.String,java.lang.ClassLoader)"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:156,1"
      Dst: "[ch.qos.logback.core.util.Loader].getResourceBySelfClassLoader(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.Loader].getTCL()"
    functionSourceFile: "ch.qos.logback.core.util.Loader"
    linkageType: null
    functionLinenumber: 126
    functionDepth: 0
    returnType: "java.lang.ClassLoader"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Thread].currentThread()"
    - "[java.lang.Thread].getContextClassLoader()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.Loader:127,1"
      Dst: "[java.lang.Thread].currentThread()"
    - Src: "ch.qos.logback.core.util.Loader:127,1"
      Dst: "[java.lang.Thread].getContextClassLoader()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.Loader].getResource(java.lang.String,java.lang.ClassLoader)"
    functionSourceFile: "ch.qos.logback.core.util.Loader"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 0
    returnType: "java.net.URL"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.ClassLoader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ClassLoader].getResource(java.lang.String)"
    functionUses: 6
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.Loader:101,1"
      Dst: "[java.lang.ClassLoader].getResource(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.Loader].getResourceBySelfClassLoader(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.Loader"
    linkageType: null
    functionLinenumber: 114
    functionDepth: 2
    returnType: "java.net.URL"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].getClassLoaderOfClass(java.lang.Class)"
    - "[ch.qos.logback.core.util.Loader].getResource(java.lang.String,java.lang.ClassLoader)"
    functionUses: 6
    ICount: 4
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.Loader:115,1"
      Dst: "[ch.qos.logback.core.util.Loader].getClassLoaderOfClass(java.lang.Class)"
    - Src: "ch.qos.logback.core.util.Loader:115,1"
      Dst: "[ch.qos.logback.core.util.Loader].getResource(java.lang.String,java.lang.ClassLoader)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].getName()"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 157
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 12
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.status.WarnStatus"
    linkageType: null
    functionLinenumber: 18
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    functionUses: 12
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.WarnStatus:19,1"
      Dst: "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.selector.ContextJNDISelector].conventionalConfigFileName(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.selector.ContextJNDISelector"
    linkageType: null
    functionLinenumber: 120
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:121,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.selector.ContextJNDISelector].configureLoggerContextByURL(ch.qos.logback.classic.LoggerContext,java.net.URL)"
    functionSourceFile: "ch.qos.logback.classic.selector.ContextJNDISelector"
    linkageType: null
    functionLinenumber: 160
    functionDepth: 9
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.classic.LoggerContext"
    - "java.net.URL"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator].<init>()"
    - "[ch.qos.logback.classic.LoggerContext].reset()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.joran.GenericXMLConfigurator].doConfigure(java.net.URL)"
    - "[ch.qos.logback.core.util.StatusPrinter].printInCaseOfErrorsOrWarnings(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 12
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:161,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator].<init>()"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:162,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].reset()"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:163,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:164,1"
      Dst: "[ch.qos.logback.core.joran.GenericXMLConfigurator].doConfigure(java.net.URL)"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:167,1"
      Dst: "[ch.qos.logback.core.util.StatusPrinter].printInCaseOfErrorsOrWarnings(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase].<init>()"
    functionUses: 7
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:43,1"
      Dst: "[ch.qos.logback.core.joran.JoranConfiguratorBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].reset()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 358
    functionDepth: 5
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].reset()"
    - "[ch.qos.logback.classic.LoggerContext].initEvaluatorMap()"
    - "[ch.qos.logback.core.ContextBase].initCollisionMaps()"
    - "[ch.qos.logback.classic.Logger].recursiveReset()"
    - "[ch.qos.logback.classic.LoggerContext].resetTurboFilterList()"
    - "[ch.qos.logback.classic.LoggerContext].cancelScheduledTasks()"
    - "[ch.qos.logback.classic.LoggerContext].fireOnReset()"
    - "[ch.qos.logback.classic.LoggerContext].resetListenersExceptResetResistant()"
    - "[ch.qos.logback.classic.LoggerContext].resetStatusListenersExceptResetResistant()"
    functionUses: 6
    ICount: 15
    EdgeCount: 9
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:360,1"
      Dst: "[ch.qos.logback.core.ContextBase].reset()"
    - Src: "ch.qos.logback.classic.LoggerContext:361,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].initEvaluatorMap()"
    - Src: "ch.qos.logback.classic.LoggerContext:362,1"
      Dst: "[ch.qos.logback.core.ContextBase].initCollisionMaps()"
    - Src: "ch.qos.logback.classic.LoggerContext:363,1"
      Dst: "[ch.qos.logback.classic.Logger].recursiveReset()"
    - Src: "ch.qos.logback.classic.LoggerContext:364,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].resetTurboFilterList()"
    - Src: "ch.qos.logback.classic.LoggerContext:365,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].cancelScheduledTasks()"
    - Src: "ch.qos.logback.classic.LoggerContext:366,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].fireOnReset()"
    - Src: "ch.qos.logback.classic.LoggerContext:367,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].resetListenersExceptResetResistant()"
    - Src: "ch.qos.logback.classic.LoggerContext:368,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].resetStatusListenersExceptResetResistant()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 67
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:45"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:44"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:47"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:46,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.StatusPrinter].printInCaseOfErrorsOrWarnings(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.util.StatusPrinter"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 8
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.StatusPrinter].printInCaseOfErrorsOrWarnings(ch.qos.logback.core.Context,long)"
    functionUses: 3
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.StatusPrinter:44,1"
      Dst: "[ch.qos.logback.core.util.StatusPrinter].printInCaseOfErrorsOrWarnings(ch.qos.logback.core.Context,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.ContextInitializer].<init>(ch.qos.logback.classic.LoggerContext)"
    functionSourceFile: "ch.qos.logback.classic.util.ContextInitializer"
    linkageType: null
    functionLinenumber: 59
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.LoggerContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareImpl].<init>(ch.qos.logback.core.Context,java.lang.Object)"
    - "[ch.qos.logback.classic.util.ContextInitializer$1].<init>(ch.qos.logback.classic.util.ContextInitializer)"
    - "[java.lang.Object].<init>()"
    functionUses: 2
    ICount: 16
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.ContextInitializer:60,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:166,1"
      Dst: "[ch.qos.logback.classic.util.ContextInitializer$1].<init>(ch.qos.logback.classic.util.ContextInitializer)"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:62,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].<init>(ch.qos.logback.core.Context,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.ContextInitializer].autoConfig()"
    functionSourceFile: "ch.qos.logback.classic.util.ContextInitializer"
    linkageType: null
    functionLinenumber: 65
    functionDepth: 8
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.util.ContextInitializer].autoConfig(java.lang.ClassLoader)"
    - "[java.lang.Class].getClassLoader()"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.ContextInitializer:66,1"
      Dst: "[java.lang.Class].getClassLoader()"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:66,1"
      Dst: "[ch.qos.logback.classic.util.ContextInitializer].autoConfig(java.lang.ClassLoader)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.StatusUtil].contextHasStatusListener(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.status.StatusUtil"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - "[ch.qos.logback.core.BasicStatusManager].getCopyOfStatusListenerList()"
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.Context].getStatusManager()"
    - "[ch.qos.logback.core.status.StatusManager].getCopyOfStatusListenerList()"
    - "[java.util.List].size()"
    functionUses: 2
    ICount: 10
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.status.StatusUtil:48"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:50"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:49"
        BranchSideFuncs:
        - "getCopyOfStatusListenerList()"
        - "size()"
    - Branch String: "ch.qos.logback.core.status.StatusUtil:51"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:52"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:51"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.status.StatusUtil:51"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:54"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.status.StatusUtil:53"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.status.StatusUtil:47,1"
      Dst: "[ch.qos.logback.core.Context].getStatusManager()"
    - Src: "ch.qos.logback.core.status.StatusUtil:50,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].getCopyOfStatusListenerList()"
    - Src: "ch.qos.logback.core.status.StatusUtil:51,1"
      Dst: "[java.util.List].size()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.selector.ContextJNDISelector].conventionalConfigFileName(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.selector.ContextJNDISelector"
    linkageType: null
    functionLinenumber: 120
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:121,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.selector.ContextJNDISelector].findConfigFileURL(javax.naming.Context,ch.qos.logback.classic.LoggerContext)"
    functionSourceFile: "ch.qos.logback.classic.selector.ContextJNDISelector"
    linkageType: null
    functionLinenumber: 124
    functionDepth: 4
    returnType: "java.net.URL"
    argCount: 2
    argTypes:
    - "javax.naming.Context"
    - "ch.qos.logback.classic.LoggerContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - "[ch.qos.logback.core.util.JNDIUtil].lookupString(javax.naming.Context,java.lang.String)"
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.BasicStatusManager].add(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.classic.selector.ContextJNDISelector].urlByResourceName(ch.qos.logback.core.status.StatusManager,java.lang.String)"
    - "[ch.qos.logback.core.ContextBase].getName()"
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.classic.selector.ContextJNDISelector].conventionalConfigFileName(java.lang.String)"
    - "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    functionUses: 1
    ICount: 28
    EdgeCount: 13
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.selector.ContextJNDISelector:135"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.selector.ContextJNDISelector:145"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.selector.ContextJNDISelector:144"
        BranchSideFuncs:
        - "conventionalConfigFileName(java.lang.String)"
        - "urlByResourceName(ch.qos.logback.core.status.StatusManager,java.lang.String)"
        - "getName()"
    - Branch String: "ch.qos.logback.classic.selector.ContextJNDISelector:138"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.selector.ContextJNDISelector:142"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:125,1"
      Dst: "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:130,1"
      Dst: "[ch.qos.logback.core.util.JNDIUtil].lookupString(javax.naming.Context,java.lang.String)"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:132,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:132,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:136,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:136,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:137,1"
      Dst: "[ch.qos.logback.classic.selector.ContextJNDISelector].urlByResourceName(ch.qos.logback.core.status.StatusManager,java.lang.String)"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:140,1"
      Dst: "[ch.qos.logback.core.ContextBase].getName()"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:140,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:141,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:145,1"
      Dst: "[ch.qos.logback.classic.selector.ContextJNDISelector].conventionalConfigFileName(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.selector.ContextJNDISelector].urlByResourceName(ch.qos.logback.core.status.StatusManager,java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.selector.ContextJNDISelector"
    linkageType: null
    functionLinenumber: 150
    functionDepth: 3
    returnType: "java.net.URL"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.status.StatusManager"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.BasicStatusManager].add(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.util.Loader].getResource(java.lang.String,java.lang.ClassLoader)"
    - "[ch.qos.logback.core.util.Loader].getTCL()"
    - "[ch.qos.logback.core.util.Loader].getResourceBySelfClassLoader(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    functionUses: 2
    ICount: 13
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.selector.ContextJNDISelector:153"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.selector.ContextJNDISelector:156"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.selector.ContextJNDISelector:155"
        BranchSideFuncs:
        - "getResourceBySelfClassLoader(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:151,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:151,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:151,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:152,1"
      Dst: "[ch.qos.logback.core.util.Loader].getTCL()"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:152,1"
      Dst: "[ch.qos.logback.core.util.Loader].getResource(java.lang.String,java.lang.ClassLoader)"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:156,1"
      Dst: "[ch.qos.logback.core.util.Loader].getResourceBySelfClassLoader(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.selector.ContextJNDISelector].configureLoggerContextByURL(ch.qos.logback.classic.LoggerContext,java.net.URL)"
    functionSourceFile: "ch.qos.logback.classic.selector.ContextJNDISelector"
    linkageType: null
    functionLinenumber: 160
    functionDepth: 9
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.classic.LoggerContext"
    - "java.net.URL"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator].<init>()"
    - "[ch.qos.logback.classic.LoggerContext].reset()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.joran.GenericXMLConfigurator].doConfigure(java.net.URL)"
    - "[ch.qos.logback.core.util.StatusPrinter].printInCaseOfErrorsOrWarnings(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 12
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:161,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator].<init>()"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:162,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].reset()"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:163,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:164,1"
      Dst: "[ch.qos.logback.core.joran.GenericXMLConfigurator].doConfigure(java.net.URL)"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:167,1"
      Dst: "[ch.qos.logback.core.util.StatusPrinter].printInCaseOfErrorsOrWarnings(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.selector.ContextJNDISelector].getContextNames()"
    functionSourceFile: "ch.qos.logback.classic.selector.ContextJNDISelector"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>()"
    - "[java.util.Map].keySet()"
    - "[java.util.List].addAll(java.util.Collection)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:171,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:172,1"
      Dst: "[java.util.Map].keySet()"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:172,1"
      Dst: "[java.util.List].addAll(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.selector.ContextJNDISelector].getLoggerContext(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.selector.ContextJNDISelector"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.classic.LoggerContext"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map].get(java.lang.Object)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:177,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.selector.ContextJNDISelector].getCount()"
    functionSourceFile: "ch.qos.logback.classic.selector.ContextJNDISelector"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map].size()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:186,1"
      Dst: "[java.util.Map].size()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.selector.ContextJNDISelector].setLocalContext(ch.qos.logback.classic.LoggerContext)"
    functionSourceFile: "ch.qos.logback.classic.selector.ContextJNDISelector"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.LoggerContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ThreadLocal].set(java.lang.Object)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:198,1"
      Dst: "[java.lang.ThreadLocal].set(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.selector.ContextJNDISelector].removeLocalContext()"
    functionSourceFile: "ch.qos.logback.classic.selector.ContextJNDISelector"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ThreadLocal].remove()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:202,1"
      Dst: "[java.lang.ThreadLocal].remove()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__59].bootstrap$()"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__59"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__59].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__59:-1,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__59].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__59].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__59"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__59:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__59].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__59"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.AppenderModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__59:-1,1"
      Dst: "[ch.qos.logback.core.model.processor.AppenderModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.AppenderModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.AppenderModelHandler"
    linkageType: null
    functionLinenumber: 38
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.AppenderModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.AppenderModelHandler:39,1"
      Dst: "[ch.qos.logback.core.model.processor.AppenderModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.ContextNameConverter].<init>()"
    functionSourceFile: "ch.qos.logback.classic.pattern.ContextNameConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.ClassicConverter].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.ContextNameConverter:23,1"
      Dst: "[ch.qos.logback.classic.pattern.ClassicConverter].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.ContextNameConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.pattern.ContextNameConverter"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].getLoggerContextVO()"
    - "[ch.qos.logback.classic.spi.LoggerContextVO].getName()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerContextVO()"
    functionUses: 1
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.ContextNameConverter:29,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerContextVO()"
    - Src: "ch.qos.logback.classic.pattern.ContextNameConverter:29,1"
      Dst: "[ch.qos.logback.classic.spi.LoggerContextVO].getName()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggerContextVO].getName()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggerContextVO"
    linkageType: null
    functionLinenumber: 56
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.ContextNameConverter].convert(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.pattern.ContextNameConverter"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.ContextNameConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 11
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.ContextNameConverter:23,1"
      Dst: "[ch.qos.logback.classic.pattern.ContextNameConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.ContextNameConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.pattern.ContextNameConverter"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].getLoggerContextVO()"
    - "[ch.qos.logback.classic.spi.LoggerContextVO].getName()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerContextVO()"
    functionUses: 1
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.ContextNameConverter:29,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerContextVO()"
    - Src: "ch.qos.logback.classic.pattern.ContextNameConverter:29,1"
      Dst: "[ch.qos.logback.classic.spi.LoggerContextVO].getName()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.SimpleInvocationGate].<init>()"
    functionSourceFile: "ch.qos.logback.core.util.SimpleInvocationGate"
    linkageType: null
    functionLinenumber: 37
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.SimpleInvocationGate].<init>(ch.qos.logback.core.util.Duration)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.SimpleInvocationGate:38,1"
      Dst: "[ch.qos.logback.core.util.SimpleInvocationGate].<init>(ch.qos.logback.core.util.Duration)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.SimpleInvocationGate].<init>(ch.qos.logback.core.util.Duration)"
    functionSourceFile: "ch.qos.logback.core.util.SimpleInvocationGate"
    linkageType: null
    functionLinenumber: 40
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.util.Duration"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.concurrent.atomic.AtomicLong].<init>(long)"
    functionUses: 3
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.SimpleInvocationGate:41,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.util.SimpleInvocationGate:31,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].<init>(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.SimpleInvocationGate].isTooSoon(long)"
    functionSourceFile: "ch.qos.logback.core.util.SimpleInvocationGate"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Duration].getMilliseconds()"
    - "[java.util.concurrent.atomic.AtomicLong].get()"
    - "[java.util.concurrent.atomic.AtomicLong].compareAndSet(long,long)"
    functionUses: 2
    ICount: 21
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.SimpleInvocationGate:47"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.SimpleInvocationGate:50"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.SimpleInvocationGate:49"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.SimpleInvocationGate:51"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.SimpleInvocationGate:59"
        BranchSideFuncs:
        - "getMilliseconds()"
      - BranchSide: "ch.qos.logback.core.util.SimpleInvocationGate:58"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.SimpleInvocationGate:57"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.SimpleInvocationGate:51"
        BranchSideFuncs:
        - "getMilliseconds()"
    Callsites:
    - Src: "ch.qos.logback.core.util.SimpleInvocationGate:50,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].get()"
    - Src: "ch.qos.logback.core.util.SimpleInvocationGate:52,1"
      Dst: "[ch.qos.logback.core.util.Duration].getMilliseconds()"
    - Src: "ch.qos.logback.core.util.SimpleInvocationGate:54,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].compareAndSet(long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.Duration].getMilliseconds()"
    functionSourceFile: "ch.qos.logback.core.util.Duration"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 8
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.ConverterUtil].<init>()"
    functionSourceFile: "ch.qos.logback.core.pattern.ConverterUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.ConverterUtil:19,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.ConverterUtil].startConverters(ch.qos.logback.core.pattern.Converter)"
    functionSourceFile: "ch.qos.logback.core.pattern.ConverterUtil"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.pattern.Converter"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.ConverterUtil].startConverters(ch.qos.logback.core.pattern.Converter)"
    - "[ch.qos.logback.core.pattern.ReplacingCompositeConverter].start()"
    - "[ch.qos.logback.core.pattern.DynamicConverter].start()"
    - "[ch.qos.logback.classic.pattern.KeyValuePairConverter].start()"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].start()"
    - "[ch.qos.logback.classic.pattern.MDCConverter].start()"
    - "[ch.qos.logback.core.rolling.helper.DateTokenConverter].start()"
    - "[ch.qos.logback.classic.pattern.NamedConverter].start()"
    - "[ch.qos.logback.classic.pattern.SyslogStartConverter].start()"
    - "[ch.qos.logback.classic.pattern.DateConverter].start()"
    - "[ch.qos.logback.classic.pattern.PropertyConverter].start()"
    - "[ch.qos.logback.classic.pattern.CallerDataConverter].start()"
    - "[ch.qos.logback.classic.pattern.SequenceNumberConverter].start()"
    - "[ch.qos.logback.core.pattern.Converter].getNext()"
    functionUses: 4
    ICount: 17
    EdgeCount: 15
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.ConverterUtil:28"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.ConverterUtil:40"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.ConverterUtil:30"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.ConverterUtil:30"
        BranchSideFuncs:
        - "startConverters(ch.qos.logback.core.pattern.Converter)"
      - BranchSide: "ch.qos.logback.core.pattern.ConverterUtil:29"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.ConverterUtil:30"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.ConverterUtil:39"
        BranchSideFuncs:
        - "startConverters(ch.qos.logback.core.pattern.Converter)"
      - BranchSide: "ch.qos.logback.core.pattern.ConverterUtil:38"
        BranchSideFuncs:
        - "getNext()"
    Callsites:
    - Src: "ch.qos.logback.core.pattern.ConverterUtil:33,1"
      Dst: "[ch.qos.logback.core.pattern.ConverterUtil].startConverters(ch.qos.logback.core.pattern.Converter)"
    - Src: "ch.qos.logback.core.pattern.ConverterUtil:34,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].start()"
    - Src: "ch.qos.logback.core.pattern.ConverterUtil:39,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].getNext()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.pattern.ConverterUtil].findTail(ch.qos.logback.core.pattern.Converter)"
    functionSourceFile: "ch.qos.logback.core.pattern.ConverterUtil"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 0
    returnType: "ch.qos.logback.core.pattern.Converter"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.pattern.Converter"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.Converter].getNext()"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.ConverterUtil:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.ConverterUtil:53"
        BranchSideFuncs:
        - "getNext()"
      - BranchSide: "ch.qos.logback.core.pattern.ConverterUtil:52"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.ConverterUtil:47"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.ConverterUtil:50"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.ConverterUtil:49"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.ConverterUtil:46,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].getNext()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.pattern.ConverterUtil].setContextForConverters(ch.qos.logback.core.Context,ch.qos.logback.core.pattern.Converter)"
    functionSourceFile: "ch.qos.logback.core.pattern.ConverterUtil"
    linkageType: null
    functionLinenumber: 56
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.pattern.Converter"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.classic.spi.LoggerContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.LayoutBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.pattern.ConverterUtil].setContextForConverters(ch.qos.logback.core.Context,ch.qos.logback.core.pattern.Converter)"
    - "[ch.qos.logback.core.pattern.Converter].getNext()"
    - "[ch.qos.logback.core.spi.ContextAware].setContext(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 16
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.ConverterUtil:58"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.ConverterUtil:69"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.ConverterUtil:68"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.ConverterUtil:59"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.ConverterUtil:62"
        BranchSideFuncs:
        - "setContext(ch.qos.logback.core.Context)"
      - BranchSide: "ch.qos.logback.core.pattern.ConverterUtil:61"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.ConverterUtil:62"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.ConverterUtil:67"
        BranchSideFuncs:
        - "setContextForConverters(ch.qos.logback.core.Context,ch.qos.logback.core.pattern.Converter)"
      - BranchSide: "ch.qos.logback.core.pattern.ConverterUtil:66"
        BranchSideFuncs:
        - "getNext()"
    Callsites:
    - Src: "ch.qos.logback.core.pattern.ConverterUtil:60,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.pattern.ConverterUtil:65,1"
      Dst: "[ch.qos.logback.core.pattern.ConverterUtil].setContextForConverters(ch.qos.logback.core.Context,ch.qos.logback.core.pattern.Converter)"
    - Src: "ch.qos.logback.core.pattern.ConverterUtil:67,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].getNext()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:33,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].registerConfigurationWatchList(ch.qos.logback.core.Context,ch.qos.logback.core.joran.spi.ConfigurationWatchList)"
    functionSourceFile: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil"
    linkageType: null
    functionLinenumber: 36
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.joran.spi.ConfigurationWatchList"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].putObject(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.Context].putObject(java.lang.String,java.lang.Object)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:37,1"
      Dst: "[ch.qos.logback.core.Context].putObject(java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].setMainWatchURL(ch.qos.logback.core.Context,java.net.URL)"
    functionSourceFile: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil"
    linkageType: null
    functionLinenumber: 40
    functionDepth: 5
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "java.net.URL"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].getConfigurationWatchList(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].<init>()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.ContextBase].putObject(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].clear()"
    - "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].setMainURL(java.net.URL)"
    - "[ch.qos.logback.core.Context].putObject(java.lang.String,java.lang.Object)"
    functionUses: 1
    ICount: 14
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:42"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:47"
        BranchSideFuncs:
        - "putObject(java.lang.String,java.lang.Object)"
        - "<init>()"
        - "setContext(ch.qos.logback.core.Context)"
      - BranchSide: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:46"
        BranchSideFuncs:
        - "clear()"
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:41,1"
      Dst: "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].getConfigurationWatchList(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:43,1"
      Dst: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].<init>()"
    - Src: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:44,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:45,1"
      Dst: "[ch.qos.logback.core.Context].putObject(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:47,1"
      Dst: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].clear()"
    - Src: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:50,1"
      Dst: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].setMainURL(java.net.URL)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].getConfigurationWatchList(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil"
    linkageType: null
    functionLinenumber: 85
    functionDepth: 0
    returnType: "ch.qos.logback.core.joran.spi.ConfigurationWatchList"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getObject(java.lang.String)"
    - "[ch.qos.logback.core.Context].getObject(java.lang.String)"
    functionUses: 6
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:86,1"
      Dst: "[ch.qos.logback.core.Context].getObject(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ConfigurationWatchList"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - "[java.util.ArrayList].<init>()"
    functionUses: 2
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:27,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:30,1"
      Dst: "[java.util.ArrayList].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 67
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:45"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:44"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:47"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:46,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].clear()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ConfigurationWatchList"
    linkageType: null
    functionLinenumber: 41
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].clear()"
    - "[java.util.List].clear()"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:43,1"
      Dst: "[java.util.List].clear()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].setMainURL(java.net.URL)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ConfigurationWatchList"
    linkageType: null
    functionLinenumber: 53
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.net.URL"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].addAsFileToWatch(java.net.URL)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:55"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:57"
        BranchSideFuncs:
        - "addAsFileToWatch(java.net.URL)"
      - BranchSide: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:56"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ConfigurationWatchList:56,1"
      Dst: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].addAsFileToWatch(java.net.URL)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].getMainWatchURL(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil"
    linkageType: null
    functionLinenumber: 53
    functionDepth: 1
    returnType: "java.net.URL"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].getConfigurationWatchList(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].getMainURL()"
    functionUses: 3
    ICount: 6
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:55"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:58"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:57"
        BranchSideFuncs:
        - "getMainURL()"
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:54,1"
      Dst: "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].getConfigurationWatchList(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:58,1"
      Dst: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].getMainURL()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].addToWatchList(ch.qos.logback.core.Context,java.net.URL)"
    functionSourceFile: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil"
    linkageType: null
    functionLinenumber: 62
    functionDepth: 5
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "java.net.URL"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].getConfigurationWatchList(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].addWarn(ch.qos.logback.core.Context,java.lang.String)"
    - "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].addInfo(ch.qos.logback.core.Context,java.lang.String)"
    - "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].addToWatchList(java.net.URL)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.net.URL)"
    functionUses: 1
    ICount: 11
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:64"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:67"
        BranchSideFuncs:
        - "addWarn(ch.qos.logback.core.Context,java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:66"
        BranchSideFuncs:
        - "addToWatchList(java.net.URL)"
        - "addInfo(ch.qos.logback.core.Context,java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:63,1"
      Dst: "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].getConfigurationWatchList(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:65,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.net.URL)"
    - Src: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:65,1"
      Dst: "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].addWarn(ch.qos.logback.core.Context,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:67,1"
      Dst: "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].addInfo(ch.qos.logback.core.Context,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:68,1"
      Dst: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].addToWatchList(java.net.URL)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].getConfigurationWatchList(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil"
    linkageType: null
    functionLinenumber: 85
    functionDepth: 0
    returnType: "ch.qos.logback.core.joran.spi.ConfigurationWatchList"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getObject(java.lang.String)"
    - "[ch.qos.logback.core.Context].getObject(java.lang.String)"
    functionUses: 6
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:86,1"
      Dst: "[ch.qos.logback.core.Context].getObject(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].addStatus(ch.qos.logback.core.Context,ch.qos.logback.core.status.Status)"
    functionSourceFile: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil"
    linkageType: null
    functionLinenumber: 89
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.status.Status"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - "[ch.qos.logback.core.BasicStatusManager].add(ch.qos.logback.core.status.Status)"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.io.PrintStream].println(java.lang.String)"
    - "[ch.qos.logback.core.Context].getStatusManager()"
    - "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    functionUses: 2
    ICount: 14
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:90"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:94"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:93"
        BranchSideFuncs:
        - "getStatusManager()"
    - Branch String: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:95"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:97"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:96"
        BranchSideFuncs:
        - "add(ch.qos.logback.core.status.Status)"
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:91,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:91,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:91,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:94,1"
      Dst: "[ch.qos.logback.core.Context].getStatusManager()"
    - Src: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:97,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].addInfo(ch.qos.logback.core.Context,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].addStatus(ch.qos.logback.core.Context,ch.qos.logback.core.status.Status)"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:101,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:101,1"
      Dst: "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].addStatus(ch.qos.logback.core.Context,ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].addWarn(ch.qos.logback.core.Context,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].addStatus(ch.qos.logback.core.Context,ch.qos.logback.core.status.Status)"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:105,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:105,1"
      Dst: "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].addStatus(ch.qos.logback.core.Context,ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.SSLServerSocketAppender].<init>()"
    functionSourceFile: "ch.qos.logback.classic.net.server.SSLServerSocketAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.server.SSLServerSocketAppenderBase].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.server.SSLServerSocketAppender:26,1"
      Dst: "[ch.qos.logback.core.net.server.SSLServerSocketAppenderBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.SSLServerSocketAppender].postProcessEvent(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.net.server.SSLServerSocketAppender"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.net.server.SSLServerSocketAppender].isIncludeCallerData()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getCallerData()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getCallerData()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getCallerData()"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.net.server.SSLServerSocketAppender:34"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.server.SSLServerSocketAppender:37"
        BranchSideFuncs:
        - "getCallerData()"
      - BranchSide: "ch.qos.logback.classic.net.server.SSLServerSocketAppender:36"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.server.SSLServerSocketAppender:34,1"
      Dst: "[ch.qos.logback.classic.net.server.SSLServerSocketAppender].isIncludeCallerData()"
    - Src: "ch.qos.logback.classic.net.server.SSLServerSocketAppender:35,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getCallerData()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.net.server.SSLServerSocketAppender].isIncludeCallerData()"
    functionSourceFile: "ch.qos.logback.classic.net.server.SSLServerSocketAppender"
    linkageType: null
    functionLinenumber: 44
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.SSLServerSocketAppender].getPST()"
    functionSourceFile: "ch.qos.logback.classic.net.server.SSLServerSocketAppender"
    linkageType: null
    functionLinenumber: 40
    functionDepth: 0
    returnType: "ch.qos.logback.core.spi.PreSerializationTransformer"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.SSLServerSocketAppender].isIncludeCallerData()"
    functionSourceFile: "ch.qos.logback.classic.net.server.SSLServerSocketAppender"
    linkageType: null
    functionLinenumber: 44
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.SSLServerSocketAppender].setIncludeCallerData(boolean)"
    functionSourceFile: "ch.qos.logback.classic.net.server.SSLServerSocketAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.SSLServerSocketAppender].postProcessEvent(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.net.server.SSLServerSocketAppender"
    linkageType: null
    functionLinenumber: 25
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.net.server.SSLServerSocketAppender].postProcessEvent(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.server.SSLServerSocketAppender:26,1"
      Dst: "[ch.qos.logback.classic.net.server.SSLServerSocketAppender].postProcessEvent(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.SSLServerSocketAppender].postProcessEvent(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.net.server.SSLServerSocketAppender"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.net.server.SSLServerSocketAppender].isIncludeCallerData()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getCallerData()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getCallerData()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getCallerData()"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.net.server.SSLServerSocketAppender:34"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.server.SSLServerSocketAppender:37"
        BranchSideFuncs:
        - "getCallerData()"
      - BranchSide: "ch.qos.logback.classic.net.server.SSLServerSocketAppender:36"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.server.SSLServerSocketAppender:34,1"
      Dst: "[ch.qos.logback.classic.net.server.SSLServerSocketAppender].isIncludeCallerData()"
    - Src: "ch.qos.logback.classic.net.server.SSLServerSocketAppender:35,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getCallerData()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_8__28].bootstrap$()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_8__28"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_8__28].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_8__28:-1,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_8__28].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_8__28].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_8__28"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_8__28:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_8__28].get()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_8__28"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator].lambda$addElementSelectorAndActionAssociations$8()"
    functionUses: 3
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_8__28:-1,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator].lambda$addElementSelectorAndActionAssociations$8()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator].lambda$addElementSelectorAndActionAssociations$8()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator"
    linkageType: null
    functionLinenumber: 60
    functionDepth: 1
    returnType: "ch.qos.logback.core.joran.action.Action"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.AppenderRefAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:61,1"
      Dst: "[ch.qos.logback.core.joran.action.AppenderRefAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.Util].<init>()"
    functionSourceFile: "ch.qos.logback.classic.pattern.Util"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.Util:27,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.Util].match(org.slf4j.Marker,org.slf4j.Marker[])"
    functionSourceFile: "ch.qos.logback.classic.pattern.Util"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "org.slf4j.Marker"
    - "org.slf4j.Marker[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[org.slf4j.Marker].contains(org.slf4j.Marker)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.Util:32"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.Util:38"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.Util:37"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.Util:39"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.Util:45"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.Util:42"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.Util:38"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.Util:37"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.Util:33,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.Util:42,1"
      Dst: "[org.slf4j.Marker].contains(org.slf4j.Marker)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.BasicStatusManager].<init>()"
    functionSourceFile: "ch.qos.logback.core.BasicStatusManager"
    linkageType: null
    functionLinenumber: 25
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.helpers.CyclicBuffer].<init>(int)"
    - "[ch.qos.logback.core.spi.LogbackLock].<init>()"
    - "[java.lang.Object].<init>()"
    - "[java.util.ArrayList].<init>()"
    functionUses: 1
    ICount: 20
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.BasicStatusManager:26,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.BasicStatusManager:34,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.core.BasicStatusManager:35,1"
      Dst: "[ch.qos.logback.core.helpers.CyclicBuffer].<init>(int)"
    - Src: "ch.qos.logback.core.BasicStatusManager:36,1"
      Dst: "[ch.qos.logback.core.spi.LogbackLock].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.BasicStatusManager].add(ch.qos.logback.core.status.Status)"
    functionSourceFile: "ch.qos.logback.core.BasicStatusManager"
    linkageType: null
    functionLinenumber: 57
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.status.Status"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.BasicStatusManager].fireStatusAddEvent(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.status.StatusBase].getLevel()"
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[ch.qos.logback.core.helpers.CyclicBuffer].add(java.lang.Object)"
    - "[ch.qos.logback.core.status.Status].getLevel()"
    - "[java.util.List].size()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 18
    ICount: 27
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.BasicStatusManager:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.BasicStatusManager:65"
        BranchSideFuncs:
        - "getLevel()"
      - BranchSide: "ch.qos.logback.core.BasicStatusManager:64"
        BranchSideFuncs:
        - "size()"
    - Branch String: "ch.qos.logback.core.BasicStatusManager:66"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.BasicStatusManager:69"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.BasicStatusManager:68"
        BranchSideFuncs:
        - "add(java.lang.Object)"
    Callsites:
    - Src: "ch.qos.logback.core.BasicStatusManager:58,1"
      Dst: "[ch.qos.logback.core.BasicStatusManager].fireStatusAddEvent(ch.qos.logback.core.status.Status)"
    - Src: "ch.qos.logback.core.BasicStatusManager:61,1"
      Dst: "[ch.qos.logback.core.status.Status].getLevel()"
    - Src: "ch.qos.logback.core.BasicStatusManager:66,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.core.BasicStatusManager:67,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "ch.qos.logback.core.BasicStatusManager:69,1"
      Dst: "[ch.qos.logback.core.helpers.CyclicBuffer].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.BasicStatusManager].fireStatusAddEvent(ch.qos.logback.core.status.Status)"
    functionSourceFile: "ch.qos.logback.core.BasicStatusManager"
    linkageType: null
    functionLinenumber: 83
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.status.Status"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.status.OnPrintStreamStatusListenerBase].addStatusEvent(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.testUtil.TrivialStatusListener].addStatusEvent(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.status.StatusListenerAsList].addStatusEvent(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.status.NopStatusListener].addStatusEvent(ch.qos.logback.core.status.Status)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[ch.qos.logback.core.status.StatusListener].addStatusEvent(ch.qos.logback.core.status.Status)"
    functionUses: 1
    ICount: 18
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.BasicStatusManager:85"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.BasicStatusManager:88"
        BranchSideFuncs:
        - "iterator()"
        - "addStatusEvent(ch.qos.logback.core.status.Status)"
      - BranchSide: "ch.qos.logback.core.BasicStatusManager:87"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.BasicStatusManager:85,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.BasicStatusManager:85,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.BasicStatusManager:85,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.BasicStatusManager:86,1"
      Dst: "[ch.qos.logback.core.status.StatusListener].addStatusEvent(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.helpers.CyclicBuffer].add(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.helpers.CyclicBuffer"
    linkageType: null
    functionLinenumber: 80
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 25
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.helpers.CyclicBuffer:82"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:85"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:84"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.helpers.CyclicBuffer:85"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:87"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:86"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.helpers.CyclicBuffer:87"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:89"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:88"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.BasicStatusManager].getCopyOfStatusList()"
    functionSourceFile: "ch.qos.logback.core.BasicStatusManager"
    linkageType: null
    functionLinenumber: 75
    functionDepth: 2
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.helpers.CyclicBuffer].asList()"
    - "[java.util.ArrayList].<init>(java.util.Collection)"
    - "[java.util.List].addAll(java.util.Collection)"
    functionUses: 4
    ICount: 14
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.BasicStatusManager:77,1"
      Dst: "[java.util.ArrayList].<init>(java.util.Collection)"
    - Src: "ch.qos.logback.core.BasicStatusManager:78,1"
      Dst: "[ch.qos.logback.core.helpers.CyclicBuffer].asList()"
    - Src: "ch.qos.logback.core.BasicStatusManager:78,1"
      Dst: "[java.util.List].addAll(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.helpers.CyclicBuffer].asList()"
    functionSourceFile: "ch.qos.logback.core.helpers.CyclicBuffer"
    linkageType: null
    functionLinenumber: 123
    functionDepth: 1
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.helpers.CyclicBuffer].length()"
    - "[ch.qos.logback.core.helpers.CyclicBuffer].get(int)"
    - "[java.util.ArrayList].<init>()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 11
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.helpers.CyclicBuffer:125"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.CyclicBuffer:127"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.helpers.CyclicBuffer:124,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.core.helpers.CyclicBuffer:125,1"
      Dst: "[ch.qos.logback.core.helpers.CyclicBuffer].length()"
    - Src: "ch.qos.logback.core.helpers.CyclicBuffer:126,1"
      Dst: "[ch.qos.logback.core.helpers.CyclicBuffer].get(int)"
    - Src: "ch.qos.logback.core.helpers.CyclicBuffer:126,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.BasicStatusManager].fireStatusAddEvent(ch.qos.logback.core.status.Status)"
    functionSourceFile: "ch.qos.logback.core.BasicStatusManager"
    linkageType: null
    functionLinenumber: 83
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.status.Status"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.status.OnPrintStreamStatusListenerBase].addStatusEvent(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.testUtil.TrivialStatusListener].addStatusEvent(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.status.StatusListenerAsList].addStatusEvent(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.status.NopStatusListener].addStatusEvent(ch.qos.logback.core.status.Status)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[ch.qos.logback.core.status.StatusListener].addStatusEvent(ch.qos.logback.core.status.Status)"
    functionUses: 1
    ICount: 18
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.BasicStatusManager:85"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.BasicStatusManager:88"
        BranchSideFuncs:
        - "iterator()"
        - "addStatusEvent(ch.qos.logback.core.status.Status)"
      - BranchSide: "ch.qos.logback.core.BasicStatusManager:87"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.BasicStatusManager:85,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.BasicStatusManager:85,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.BasicStatusManager:85,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.BasicStatusManager:86,1"
      Dst: "[ch.qos.logback.core.status.StatusListener].addStatusEvent(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.BasicStatusManager].clear()"
    functionSourceFile: "ch.qos.logback.core.BasicStatusManager"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.List].clear()"
    - "[ch.qos.logback.core.helpers.CyclicBuffer].clear()"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.BasicStatusManager:94,1"
      Dst: "[java.util.List].clear()"
    - Src: "ch.qos.logback.core.BasicStatusManager:95,1"
      Dst: "[ch.qos.logback.core.helpers.CyclicBuffer].clear()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.helpers.CyclicBuffer].clear()"
    functionSourceFile: "ch.qos.logback.core.helpers.CyclicBuffer"
    linkageType: null
    functionLinenumber: 72
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.helpers.CyclicBuffer].init(int)"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.helpers.CyclicBuffer:73,1"
      Dst: "[ch.qos.logback.core.helpers.CyclicBuffer].init(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.BasicStatusManager].getLevel()"
    functionSourceFile: "ch.qos.logback.core.BasicStatusManager"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.BasicStatusManager].getCount()"
    functionSourceFile: "ch.qos.logback.core.BasicStatusManager"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.BasicStatusManager].add(ch.qos.logback.core.status.StatusListener)"
    functionSourceFile: "ch.qos.logback.core.BasicStatusManager"
    linkageType: null
    functionLinenumber: 113
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.status.StatusListener"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.BasicStatusManager].checkForPresence(java.util.List,java.lang.Class)"
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.lang.Object].getClass()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 3
    ICount: 20
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.BasicStatusManager:115"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.BasicStatusManager:120"
        BranchSideFuncs:
        - "checkForPresence(java.util.List,java.lang.Class)"
      - BranchSide: "ch.qos.logback.core.BasicStatusManager:119"
        BranchSideFuncs:
        - "add(java.lang.Object)"
    - Branch String: "ch.qos.logback.core.BasicStatusManager:117"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.BasicStatusManager:120"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.BasicStatusManager:119"
        BranchSideFuncs:
        - "add(java.lang.Object)"
    Callsites:
    - Src: "ch.qos.logback.core.BasicStatusManager:116,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.BasicStatusManager:116,1"
      Dst: "[ch.qos.logback.core.BasicStatusManager].checkForPresence(java.util.List,java.lang.Class)"
    - Src: "ch.qos.logback.core.BasicStatusManager:120,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.BasicStatusManager].checkForPresence(java.util.List,java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.BasicStatusManager"
    linkageType: null
    functionLinenumber: 125
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.util.List"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.lang.Object].getClass()"
    functionUses: 1
    ICount: 13
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.BasicStatusManager:126"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.BasicStatusManager:130"
        BranchSideFuncs:
        - "iterator()"
      - BranchSide: "ch.qos.logback.core.BasicStatusManager:129"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.BasicStatusManager:127"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.BasicStatusManager:129"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.BasicStatusManager:128"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.BasicStatusManager:126,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.BasicStatusManager:126,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.BasicStatusManager:126,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.BasicStatusManager:127,1"
      Dst: "[java.lang.Object].getClass()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.BasicStatusManager].checkForPresence(java.util.List,java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.BasicStatusManager"
    linkageType: null
    functionLinenumber: 125
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.util.List"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.lang.Object].getClass()"
    functionUses: 1
    ICount: 13
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.BasicStatusManager:126"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.BasicStatusManager:130"
        BranchSideFuncs:
        - "iterator()"
      - BranchSide: "ch.qos.logback.core.BasicStatusManager:129"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.BasicStatusManager:127"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.BasicStatusManager:129"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.BasicStatusManager:128"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.BasicStatusManager:126,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.BasicStatusManager:126,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.BasicStatusManager:126,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.BasicStatusManager:127,1"
      Dst: "[java.lang.Object].getClass()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.BasicStatusManager].remove(ch.qos.logback.core.status.StatusListener)"
    functionSourceFile: "ch.qos.logback.core.BasicStatusManager"
    linkageType: null
    functionLinenumber: 133
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.status.StatusListener"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].remove(java.lang.Object)"
    - "[java.util.List].remove(java.lang.Object)"
    functionUses: 1
    ICount: 12
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.BasicStatusManager:135,1"
      Dst: "[java.util.List].remove(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.BasicStatusManager].getCopyOfStatusListenerList()"
    functionSourceFile: "ch.qos.logback.core.BasicStatusManager"
    linkageType: null
    functionLinenumber: 139
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>(java.util.Collection)"
    functionUses: 2
    ICount: 11
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.BasicStatusManager:141,1"
      Dst: "[java.util.ArrayList].<init>(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean].<init>()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean:29,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean].createTrustManagerFactory()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean"
    linkageType: null
    functionLinenumber: 48
    functionDepth: 1
    returnType: "javax.net.ssl.TrustManagerFactory"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean].getAlgorithm()"
    - "[ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean].getProvider()"
    - "[javax.net.ssl.TrustManagerFactory].getInstance(java.lang.String,java.lang.String)"
    - "[javax.net.ssl.TrustManagerFactory].getInstance(java.lang.String)"
    functionUses: 1
    ICount: 10
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean:49"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean:50"
        BranchSideFuncs:
        - "getAlgorithm()"
      - BranchSide: "ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean:49"
        BranchSideFuncs:
        - "getAlgorithm()"
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean:49,1"
      Dst: "[ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean].getProvider()"
    - Src: "ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean:49,1"
      Dst: "[ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean].getAlgorithm()"
    - Src: "ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean:49,1"
      Dst: "[javax.net.ssl.TrustManagerFactory].getInstance(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean:50,1"
      Dst: "[javax.net.ssl.TrustManagerFactory].getInstance(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean].getAlgorithm()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean"
    linkageType: null
    functionLinenumber: 60
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.net.ssl.TrustManagerFactory].getDefaultAlgorithm()"
    functionUses: 2
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean:64"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean:63"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean:62,1"
      Dst: "[javax.net.ssl.TrustManagerFactory].getDefaultAlgorithm()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean].setAlgorithm(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean].getProvider()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean"
    linkageType: null
    functionLinenumber: 83
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean].setProvider(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.TrustManagerFactoryFactoryBean"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].<init>(ch.qos.logback.core.Context,ch.qos.logback.core.joran.spi.RuleStore,ch.qos.logback.core.joran.spi.ElementPath,java.util.List)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpreter"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 0
    returnType: "void"
    argCount: 4
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.joran.spi.RuleStore"
    - "ch.qos.logback.core.joran.spi.ElementPath"
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.CAI_WithLocatorSupport].<init>(ch.qos.logback.core.Context,ch.qos.logback.core.joran.spi.SaxEventInterpreter)"
    - "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].<init>(ch.qos.logback.core.Context,ch.qos.logback.core.joran.spi.SaxEventInterpreter)"
    - "[ch.qos.logback.core.joran.spi.EventPlayer].<init>(ch.qos.logback.core.joran.spi.SaxEventInterpreter,java.util.List)"
    - "[java.lang.Object].<init>()"
    - "[java.util.Stack].<init>()"
    functionUses: 1
    ICount: 23
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:93,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:95,1"
      Dst: "[ch.qos.logback.core.joran.spi.CAI_WithLocatorSupport].<init>(ch.qos.logback.core.Context,ch.qos.logback.core.joran.spi.SaxEventInterpreter)"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:97,1"
      Dst: "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].<init>(ch.qos.logback.core.Context,ch.qos.logback.core.joran.spi.SaxEventInterpreter)"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:99,1"
      Dst: "[java.util.Stack].<init>()"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:100,1"
      Dst: "[ch.qos.logback.core.joran.spi.EventPlayer].<init>(ch.qos.logback.core.joran.spi.SaxEventInterpreter,java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].getEventPlayer()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpreter"
    linkageType: null
    functionLinenumber: 103
    functionDepth: 0
    returnType: "ch.qos.logback.core.joran.spi.EventPlayer"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].getCopyOfElementPath()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpreter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.core.joran.spi.ElementPath"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ElementPath].duplicate()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:108,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].duplicate()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ElementPath].duplicate()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementPath"
    linkageType: null
    functionLinenumber: 57
    functionDepth: 1
    returnType: "ch.qos.logback.core.joran.spi.ElementPath"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ElementPath].<init>()"
    - "[java.util.ArrayList].addAll(java.util.Collection)"
    functionUses: 2
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:58,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].<init>()"
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:59,1"
      Dst: "[java.util.ArrayList].addAll(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].getSaxEventInterpretationContext()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpreter"
    linkageType: null
    functionLinenumber: 111
    functionDepth: 0
    returnType: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].startDocument()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpreter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].startElement(ch.qos.logback.core.joran.event.StartEvent)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpreter"
    linkageType: null
    functionLinenumber: 118
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.joran.event.StartEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.event.SaxEvent].getLocator()"
    - "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].setDocumentLocator(org.xml.sax.Locator)"
    - "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].startElement(java.lang.String,java.lang.String,java.lang.String,org.xml.sax.Attributes)"
    functionUses: 1
    ICount: 10
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:119,1"
      Dst: "[ch.qos.logback.core.joran.event.SaxEvent].getLocator()"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:119,1"
      Dst: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].setDocumentLocator(org.xml.sax.Locator)"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:120,1"
      Dst: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].startElement(java.lang.String,java.lang.String,java.lang.String,org.xml.sax.Attributes)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].startElement(java.lang.String,java.lang.String,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpreter"
    linkageType: null
    functionLinenumber: 124
    functionDepth: 3
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].getTagName(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.joran.spi.ElementPath].push(java.lang.String)"
    - "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].pushEmptyActionOntoActionStack()"
    - "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].getApplicableAction(ch.qos.logback.core.joran.spi.ElementPath,org.xml.sax.Attributes)"
    - "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].callBeginAction(ch.qos.logback.core.joran.action.Action,java.lang.String,org.xml.sax.Attributes)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addError(java.lang.String)"
    - "[java.util.Vector].add(java.lang.Object)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,ch.qos.logback.core.joran.spi.ElementPath)"
    functionUses: 1
    ICount: 25
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:130"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:135"
        BranchSideFuncs:
        - "getApplicableAction(ch.qos.logback.core.joran.spi.ElementPath,org.xml.sax.Attributes)"
    - Branch String: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:137"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:142"
        BranchSideFuncs:
        - "callBeginAction(ch.qos.logback.core.joran.action.Action,java.lang.String,org.xml.sax.Attributes)"
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:141"
        BranchSideFuncs:
        - "pushEmptyActionOntoActionStack()"
        - "addError(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:125,1"
      Dst: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].getTagName(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:128,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].push(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:132,1"
      Dst: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].pushEmptyActionOntoActionStack()"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:136,1"
      Dst: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].getApplicableAction(ch.qos.logback.core.joran.spi.ElementPath,org.xml.sax.Attributes)"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:138,1"
      Dst: "[java.util.Vector].add(java.lang.Object)"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:139,1"
      Dst: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].callBeginAction(ch.qos.logback.core.joran.action.Action,java.lang.String,org.xml.sax.Attributes)"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:143,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,ch.qos.logback.core.joran.spi.ElementPath)"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:144,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].pushEmptyActionOntoActionStack()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpreter"
    linkageType: null
    functionLinenumber: 151
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].push(java.lang.Object)"
    functionUses: 2
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:152,1"
      Dst: "[java.util.Stack].push(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].characters(ch.qos.logback.core.joran.event.BodyEvent)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpreter"
    linkageType: null
    functionLinenumber: 156
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.joran.event.BodyEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].setDocumentLocator(org.xml.sax.Locator)"
    - "[ch.qos.logback.core.joran.event.BodyEvent].getText()"
    - "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].callBodyAction(ch.qos.logback.core.joran.action.Action,java.lang.String)"
    - "[java.util.Stack].peek()"
    - "[java.lang.String].trim()"
    - "[java.lang.String].length()"
    functionUses: 1
    ICount: 14
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:162"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:168"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:167"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:164"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:168"
        BranchSideFuncs:
        - "callBodyAction(ch.qos.logback.core.joran.action.Action,java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:167"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:157,1"
      Dst: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].setDocumentLocator(org.xml.sax.Locator)"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:159,1"
      Dst: "[ch.qos.logback.core.joran.event.BodyEvent].getText()"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:160,1"
      Dst: "[java.util.Stack].peek()"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:163,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:164,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:165,1"
      Dst: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].callBodyAction(ch.qos.logback.core.joran.action.Action,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].endElement(ch.qos.logback.core.joran.event.EndEvent)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpreter"
    linkageType: null
    functionLinenumber: 170
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.joran.event.EndEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].setDocumentLocator(org.xml.sax.Locator)"
    - "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].endElement(java.lang.String,java.lang.String,java.lang.String)"
    functionUses: 1
    ICount: 9
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:171,1"
      Dst: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].setDocumentLocator(org.xml.sax.Locator)"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:172,1"
      Dst: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].endElement(java.lang.String,java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].endElement(java.lang.String,java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpreter"
    linkageType: null
    functionLinenumber: 177
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ElementPath].equals(java.lang.Object)"
    - "[ch.qos.logback.core.joran.spi.ElementSelector].equals(java.lang.Object)"
    - "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].callEndAction(ch.qos.logback.core.joran.action.Action,java.lang.String)"
    - "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].getTagName(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.joran.spi.ElementPath].pop()"
    - "[java.util.Stack].pop()"
    functionUses: 1
    ICount: 22
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:180"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:184"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:183"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:181"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:189"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:188"
        BranchSideFuncs:
        - "pop()"
    - Branch String: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:184"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:189"
        BranchSideFuncs:
        - "callEndAction(ch.qos.logback.core.joran.action.Action,java.lang.String)"
        - "getTagName(java.lang.String,java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:188"
        BranchSideFuncs:
        - "pop()"
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:178,1"
      Dst: "[java.util.Stack].pop()"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:181,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:185,1"
      Dst: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].getTagName(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:185,1"
      Dst: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].callEndAction(ch.qos.logback.core.joran.action.Action,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:189,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].pop()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].getLocator()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpreter"
    linkageType: null
    functionLinenumber: 192
    functionDepth: 0
    returnType: "org.xml.sax.Locator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].setDocumentLocator(org.xml.sax.Locator)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpreter"
    linkageType: null
    functionLinenumber: 197
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.xml.sax.Locator"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].getTagName(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpreter"
    linkageType: null
    functionLinenumber: 201
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].length()"
    functionUses: 2
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:204"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:205"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:204"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:204"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:208"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:207"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:204,1"
      Dst: "[java.lang.String].length()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].setImplicitActionSupplier(java.util.function.Supplier)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpreter"
    linkageType: null
    functionLinenumber: 211
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.function.Supplier"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].getApplicableAction(ch.qos.logback.core.joran.spi.ElementPath,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpreter"
    linkageType: null
    functionLinenumber: 218
    functionDepth: 1
    returnType: "ch.qos.logback.core.joran.action.Action"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.joran.spi.ElementPath"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.SimpleRuleStore].matchActions(ch.qos.logback.core.joran.spi.ElementPath)"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__46].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__49].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__48].get()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_1__21].get()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_6__26].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__40].get()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_2__22].get()"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_1__65].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__51].get()"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_3__67].get()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_12__32].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__39].get()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_11__31].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__35].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__53].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__44].get()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_9__29].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__47].get()"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_2__66].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__42].get()"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_0__64].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__52].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__37].get()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_4__24].get()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_8__28].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__34].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__43].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__41].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__33].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__36].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__54].get()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_0__20].get()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_7__27].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__38].get()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_5__25].get()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_3__23].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__50].get()"
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__45].get()"
    - "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_4__91].get()"
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_10__30].get()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.joran.spi.RuleStore].matchActions(ch.qos.logback.core.joran.spi.ElementPath)"
    - "[java.util.function.Supplier].get()"
    functionUses: 1
    ICount: 17
    EdgeCount: 83
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:221"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:226"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:225"
        BranchSideFuncs:
        - "setContext(ch.qos.logback.core.Context)"
        - "get()"
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:219,1"
      Dst: "[ch.qos.logback.core.joran.spi.RuleStore].matchActions(ch.qos.logback.core.joran.spi.ElementPath)"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:222,1"
      Dst: "[java.util.function.Supplier].get()"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:223,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].callBeginAction(ch.qos.logback.core.joran.action.Action,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpreter"
    linkageType: null
    functionLinenumber: 232
    functionDepth: 2
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.action.Action"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.NewRuleAction].begin(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    - "[ch.qos.logback.core.joran.action.ConversionRuleAction].begin(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    - "[ch.qos.logback.core.joran.action.ContextPropertyAction].begin(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    - "[ch.qos.logback.core.joran.action.BaseModelAction].begin(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    - "[ch.qos.logback.core.joran.action.IncludeAction].begin(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    - "[ch.qos.logback.classic.joran.action.ConsolePluginAction].begin(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    - "[ch.qos.logback.core.joran.action.ImplicitModelAction].begin(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    - "[ch.qos.logback.core.joran.action.NOPAction].begin(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    - "[ch.qos.logback.core.joran.spi.ElementPath].duplicate()"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.joran.action.Action].begin(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 25
    EdgeCount: 12
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:233"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:240"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:239"
        BranchSideFuncs:
        - "begin(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
        - "addError(java.lang.String,java.lang.Throwable)"
        - "duplicate()"
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:240,1"
      Dst: "[ch.qos.logback.core.joran.action.Action].begin(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:242,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].duplicate()"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:243,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:243,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].callBodyAction(ch.qos.logback.core.joran.action.Action,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpreter"
    linkageType: null
    functionLinenumber: 251
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.joran.action.Action"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.ImplicitModelAction].body(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String)"
    - "[ch.qos.logback.core.joran.action.BaseModelAction].body(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String)"
    - "[ch.qos.logback.core.joran.action.Action].body(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addError(java.lang.String,java.lang.Throwable)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.joran.action.Action)"
    functionUses: 1
    ICount: 13
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:252"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:257"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:256"
        BranchSideFuncs:
        - "body(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String)"
        - "addError(java.lang.String,java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:257,1"
      Dst: "[ch.qos.logback.core.joran.action.Action].body(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:259,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.joran.action.Action)"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:259,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].callEndAction(ch.qos.logback.core.joran.action.Action,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpreter"
    linkageType: null
    functionLinenumber: 263
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.joran.action.Action"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.IncludeAction].end(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String)"
    - "[ch.qos.logback.core.joran.action.ImplicitModelAction].end(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String)"
    - "[ch.qos.logback.core.joran.action.NewRuleAction].end(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String)"
    - "[ch.qos.logback.core.joran.action.BaseModelAction].end(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String)"
    - "[ch.qos.logback.core.joran.action.ContextPropertyAction].end(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String)"
    - "[ch.qos.logback.core.joran.action.NOPAction].end(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String)"
    - "[ch.qos.logback.classic.joran.action.ConsolePluginAction].end(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String)"
    - "[ch.qos.logback.core.joran.action.ConversionRuleAction].end(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.joran.action.Action].end(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 18
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:264"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:269"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:268"
        BranchSideFuncs:
        - "addError(java.lang.String,java.lang.Throwable)"
        - "end(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:269,1"
      Dst: "[ch.qos.logback.core.joran.action.Action].end(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:273,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpreter:273,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpreter].getRuleStore()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpreter"
    linkageType: null
    functionLinenumber: 280
    functionDepth: 0
    returnType: "ch.qos.logback.core.joran.spi.RuleStore"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.FormattingNode].<init>(int)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.FormattingNode"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.Node].<init>(int)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.FormattingNode:23,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Node].<init>(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.FormattingNode].<init>(int,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.FormattingNode"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.Node].<init>(int,java.lang.Object)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.FormattingNode:27,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Node].<init>(int,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.FormattingNode].getFormatInfo()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.FormattingNode"
    linkageType: null
    functionLinenumber: 30
    functionDepth: 0
    returnType: "ch.qos.logback.core.pattern.FormatInfo"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.FormattingNode].setFormatInfo(ch.qos.logback.core.pattern.FormatInfo)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.FormattingNode"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.pattern.FormatInfo"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.FormattingNode].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.FormattingNode"
    linkageType: null
    functionLinenumber: 38
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.Node].equals(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.FormatInfo].equals(java.lang.Object)"
    functionUses: 9
    ICount: 21
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.FormattingNode:39"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.FormattingNode:43"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.FormattingNode:42"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.parser.FormattingNode:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.FormattingNode:46"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.parser.FormattingNode:45"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "ch.qos.logback.core.pattern.parser.FormattingNode:48"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.FormattingNode:45"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "ch.qos.logback.core.pattern.parser.FormattingNode:48"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.FormattingNode:45"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.FormattingNode:39,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Node].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.pattern.parser.FormattingNode:48,1"
      Dst: "[ch.qos.logback.core.pattern.FormatInfo].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.pattern.parser.FormattingNode].hashCode()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.FormattingNode"
    linkageType: null
    functionLinenumber: 52
    functionDepth: 1
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.parser.Node].hashCode()"
    - "[ch.qos.logback.core.pattern.FormatInfo].hashCode()"
    functionUses: 5
    ICount: 11
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.parser.FormattingNode:54"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.parser.FormattingNode:53"
        BranchSideFuncs:
        - "hashCode()"
      - BranchSide: "ch.qos.logback.core.pattern.parser.FormattingNode:52"
        BranchSideFuncs:
        - "hashCode()"
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.FormattingNode:53,1"
      Dst: "[ch.qos.logback.core.pattern.parser.Node].hashCode()"
    - Src: "ch.qos.logback.core.pattern.parser.FormattingNode:54,1"
      Dst: "[ch.qos.logback.core.pattern.FormatInfo].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.util.beans.BeanDescription].<init>(java.lang.Class,java.util.Map,java.util.Map,java.util.Map)"
    functionSourceFile: "ch.qos.logback.core.joran.util.beans.BeanDescription"
    linkageType: null
    functionLinenumber: 36
    functionDepth: 0
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.lang.Class"
    - "java.util.Map"
    - "java.util.Map"
    - "java.util.Map"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.Collections].unmodifiableMap(java.util.Map)"
    functionUses: 1
    ICount: 14
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescription:37,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescription:39,1"
      Dst: "[java.util.Collections].unmodifiableMap(java.util.Map)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.beans.BeanDescription].getClazz()"
    functionSourceFile: "ch.qos.logback.core.joran.util.beans.BeanDescription"
    linkageType: null
    functionLinenumber: -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: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.beans.BeanDescription].getPropertyNameToGetter()"
    functionSourceFile: "ch.qos.logback.core.joran.util.beans.BeanDescription"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.beans.BeanDescription].getPropertyNameToSetter()"
    functionSourceFile: "ch.qos.logback.core.joran.util.beans.BeanDescription"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.beans.BeanDescription].getGetter(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.util.beans.BeanDescription"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.reflect.Method"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map].get(java.lang.Object)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescription:57,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.beans.BeanDescription].getSetter(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.util.beans.BeanDescription"
    linkageType: null
    functionLinenumber: 60
    functionDepth: 0
    returnType: "java.lang.reflect.Method"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map].get(java.lang.Object)"
    functionUses: 1
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescription:61,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.beans.BeanDescription].getPropertyNameToAdder()"
    functionSourceFile: "ch.qos.logback.core.joran.util.beans.BeanDescription"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.beans.BeanDescription].getAdder(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.util.beans.BeanDescription"
    linkageType: null
    functionLinenumber: 68
    functionDepth: 0
    returnType: "java.lang.reflect.Method"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map].get(java.lang.Object)"
    functionUses: 1
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.beans.BeanDescription:69,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__82].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__82"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__82].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__82:-1,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__82].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__82].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__82"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__82:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__82].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__82"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.conditional.IfModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__82:-1,1"
      Dst: "[ch.qos.logback.core.model.processor.conditional.IfModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.conditional.IfModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.conditional.IfModelHandler"
    linkageType: null
    functionLinenumber: 44
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.conditional.IfModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.conditional.IfModelHandler:45,1"
      Dst: "[ch.qos.logback.core.model.processor.conditional.IfModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ErrorCodes].<init>()"
    functionSourceFile: "ch.qos.logback.core.spi.ErrorCodes"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ErrorCodes:16,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.RemoteAppenderServerListener].<init>(java.net.ServerSocket)"
    functionSourceFile: "ch.qos.logback.classic.net.server.RemoteAppenderServerListener"
    linkageType: null
    functionLinenumber: 36
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.net.ServerSocket"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.server.ServerSocketListener].<init>(java.net.ServerSocket)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.server.RemoteAppenderServerListener:37,1"
      Dst: "[ch.qos.logback.core.net.server.ServerSocketListener].<init>(java.net.ServerSocket)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.RemoteAppenderServerListener].createClient(java.lang.String,java.net.Socket)"
    functionSourceFile: "ch.qos.logback.classic.net.server.RemoteAppenderServerListener"
    linkageType: null
    functionLinenumber: 44
    functionDepth: 1
    returnType: "ch.qos.logback.classic.net.server.RemoteAppenderClient"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.net.Socket"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.net.server.RemoteAppenderStreamClient].<init>(java.lang.String,java.net.Socket)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.server.RemoteAppenderServerListener:45,1"
      Dst: "[ch.qos.logback.classic.net.server.RemoteAppenderStreamClient].<init>(java.lang.String,java.net.Socket)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.RemoteAppenderStreamClient].<init>(java.lang.String,java.net.Socket)"
    functionSourceFile: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient"
    linkageType: null
    functionLinenumber: 47
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.net.Socket"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:48,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.TimestampAction].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.action.TimestampAction"
    linkageType: null
    functionLinenumber: 30
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.TimestampAction:31,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.TimestampAction].validPreconditions(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.TimestampAction"
    linkageType: null
    functionLinenumber: 38
    functionDepth: 2
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.xml.sax.helpers.AttributesImpl].getValue(java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[org.xml.sax.Attributes].getValue(java.lang.String)"
    functionUses: 1
    ICount: 16
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.action.TimestampAction:41"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.TimestampAction:45"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.action.TimestampAction:44"
        BranchSideFuncs:
        - "getValue(java.lang.String)"
        - "isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Branch String: "ch.qos.logback.core.joran.action.TimestampAction:46"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.TimestampAction:50"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.action.TimestampAction:49"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.TimestampAction:40,1"
      Dst: "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.TimestampAction:41,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.TimestampAction:42,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 282
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    - "[java.lang.String].length()"
    functionUses: 62
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].length()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.TimestampAction].buildCurrentModel(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.TimestampAction"
    linkageType: null
    functionLinenumber: 55
    functionDepth: 3
    returnType: "ch.qos.logback.core.model.Model"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.TimestampModel].<init>()"
    - "[org.xml.sax.helpers.AttributesImpl].getValue(java.lang.String)"
    - "[ch.qos.logback.core.model.TimestampModel].setKey(java.lang.String)"
    - "[ch.qos.logback.core.model.TimestampModel].setDatePattern(java.lang.String)"
    - "[ch.qos.logback.core.model.TimestampModel].setTimeReference(java.lang.String)"
    - "[ch.qos.logback.core.model.TimestampModel].setScopeStr(java.lang.String)"
    - "[org.xml.sax.Attributes].getValue(java.lang.String)"
    functionUses: 1
    ICount: 15
    EdgeCount: 9
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.TimestampAction:56,1"
      Dst: "[ch.qos.logback.core.model.TimestampModel].<init>()"
    - Src: "ch.qos.logback.core.joran.action.TimestampAction:58,1"
      Dst: "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.TimestampAction:58,1"
      Dst: "[ch.qos.logback.core.model.TimestampModel].setKey(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.TimestampAction:59,1"
      Dst: "[ch.qos.logback.core.model.TimestampModel].setDatePattern(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.TimestampAction:60,1"
      Dst: "[ch.qos.logback.core.model.TimestampModel].setTimeReference(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.TimestampAction:61,1"
      Dst: "[ch.qos.logback.core.model.TimestampModel].setScopeStr(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.TimestampModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.TimestampModel"
    linkageType: null
    functionLinenumber: 17
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.NamedModel].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.TimestampModel:18,1"
      Dst: "[ch.qos.logback.core.model.NamedModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.TimestampModel].setKey(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.TimestampModel"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.NamedModel].setName(java.lang.String)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.TimestampModel:47,1"
      Dst: "[ch.qos.logback.core.model.NamedModel].setName(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.TimestampModel].setDatePattern(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.TimestampModel"
    linkageType: null
    functionLinenumber: 54
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.TimestampModel].setTimeReference(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.TimestampModel"
    linkageType: null
    functionLinenumber: 62
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.TimestampModel].setScopeStr(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.TimestampModel"
    linkageType: null
    functionLinenumber: 70
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.InterruptUtil].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.util.InterruptUtil"
    linkageType: null
    functionLinenumber: 36
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[java.lang.Thread].currentThread()"
    - "[java.lang.Thread].isInterrupted()"
    functionUses: 1
    ICount: 8
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.InterruptUtil:37,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - Src: "ch.qos.logback.core.util.InterruptUtil:38,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.util.InterruptUtil:39,1"
      Dst: "[java.lang.Thread].currentThread()"
    - Src: "ch.qos.logback.core.util.InterruptUtil:39,1"
      Dst: "[java.lang.Thread].isInterrupted()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.InterruptUtil].maskInterruptFlag()"
    functionSourceFile: "ch.qos.logback.core.util.InterruptUtil"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Thread].interrupted()"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.InterruptUtil:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.InterruptUtil:46"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.InterruptUtil:45"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.InterruptUtil:44,1"
      Dst: "[java.lang.Thread].interrupted()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.InterruptUtil].unmaskInterruptFlag()"
    functionSourceFile: "ch.qos.logback.core.util.InterruptUtil"
    linkageType: null
    functionLinenumber: 48
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[java.lang.Thread].currentThread()"
    - "[java.lang.Thread].interrupt()"
    functionUses: 3
    ICount: 9
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.InterruptUtil:49"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.InterruptUtil:55"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.InterruptUtil:51,1"
      Dst: "[java.lang.Thread].currentThread()"
    - Src: "ch.qos.logback.core.util.InterruptUtil:51,1"
      Dst: "[java.lang.Thread].interrupt()"
    - Src: "ch.qos.logback.core.util.InterruptUtil:53,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_2__22].bootstrap$()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_2__22"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_2__22].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_2__22:-1,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_2__22].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_2__22].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_2__22"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_2__22:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_2__22].get()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_2__22"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator].lambda$addElementSelectorAndActionAssociations$2()"
    functionUses: 3
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_2__22:-1,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator].lambda$addElementSelectorAndActionAssociations$2()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator].lambda$addElementSelectorAndActionAssociations$2()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator"
    linkageType: null
    functionLinenumber: 52
    functionDepth: 1
    returnType: "ch.qos.logback.core.joran.action.Action"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.action.LoggerContextListenerAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:53,1"
      Dst: "[ch.qos.logback.classic.joran.action.LoggerContextListenerAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__76].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__76"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__76].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__76:-1,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__76].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__76].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__76"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__76:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__76].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__76"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.NOPModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__76:-1,1"
      Dst: "[ch.qos.logback.core.model.processor.NOPModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.NOPModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.NOPModelHandler"
    linkageType: null
    functionLinenumber: 25
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.NOPModelHandler"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.NOPModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.NOPModelHandler:26,1"
      Dst: "[ch.qos.logback.core.model.processor.NOPModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.server.RemoteReceiverStreamClient].<init>(java.lang.String,java.net.Socket)"
    functionSourceFile: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient"
    linkageType: null
    functionLinenumber: 47
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.net.Socket"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:48,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - Src: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:49,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.server.RemoteReceiverStreamClient].<init>(java.lang.String,java.io.OutputStream)"
    functionSourceFile: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.io.OutputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:63,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - Src: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:64,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.server.RemoteReceiverStreamClient].setQueue(java.util.concurrent.BlockingQueue)"
    functionSourceFile: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient"
    linkageType: null
    functionLinenumber: 72
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.concurrent.BlockingQueue"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.server.RemoteReceiverStreamClient].offer(java.io.Serializable)"
    functionSourceFile: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient"
    linkageType: null
    functionLinenumber: 79
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.io.Serializable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - "[java.util.concurrent.BlockingQueue].offer(java.lang.Object)"
    functionUses: 1
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:80"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:83"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:82"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:81,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:83,1"
      Dst: "[java.util.concurrent.BlockingQueue].offer(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.server.RemoteReceiverStreamClient].close()"
    functionSourceFile: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient"
    linkageType: null
    functionLinenumber: 89
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.CloseUtil].closeQuietly(java.net.Socket)"
    functionUses: 10
    ICount: 7
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:90"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:92"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:91"
        BranchSideFuncs:
        - "closeQuietly(java.net.Socket)"
    Callsites:
    - Src: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:92,1"
      Dst: "[ch.qos.logback.core.util.CloseUtil].closeQuietly(java.net.Socket)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.CloseUtil].closeQuietly(java.net.Socket)"
    functionSourceFile: "ch.qos.logback.core.util.CloseUtil"
    linkageType: null
    functionLinenumber: 48
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.net.Socket"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.net.Socket].close()"
    functionUses: 12
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.CloseUtil:49"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.CloseUtil:52"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.CloseUtil:51"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.CloseUtil:52,1"
      Dst: "[java.net.Socket].close()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.server.RemoteReceiverStreamClient].run()"
    functionSourceFile: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient"
    linkageType: null
    functionLinenumber: 98
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.net.server.RemoteReceiverStreamClient].createObjectOutputStream()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.util.CloseUtil].closeQuietly(java.io.Closeable)"
    - "[ch.qos.logback.core.net.server.RemoteReceiverStreamClient].close()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.lang.Thread].currentThread()"
    - "[java.lang.Thread].isInterrupted()"
    - "[java.util.concurrent.BlockingQueue].take()"
    - "[java.io.ObjectOutputStream].writeObject(java.lang.Object)"
    - "[java.io.ObjectOutputStream].flush()"
    - "[java.io.ObjectOutputStream].reset()"
    - "[java.lang.Thread].interrupt()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.net.SocketException)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.io.IOException)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.RuntimeException)"
    functionUses: 3
    ICount: 76
    EdgeCount: 20
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:105"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:126"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:110"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:117"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:127"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:130"
        BranchSideFuncs:
        - "closeQuietly(java.io.Closeable)"
      - BranchSide: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:129"
        BranchSideFuncs:
        - "addInfo(java.lang.String)"
        - "close()"
    - Branch String: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:127"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:130"
        BranchSideFuncs:
        - "closeQuietly(java.io.Closeable)"
      - BranchSide: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:129"
        BranchSideFuncs:
        - "addInfo(java.lang.String)"
        - "close()"
    - Branch String: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:127"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:130"
        BranchSideFuncs:
        - "closeQuietly(java.io.Closeable)"
      - BranchSide: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:129"
        BranchSideFuncs:
        - "addInfo(java.lang.String)"
        - "close()"
    - Branch String: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:127"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:130"
        BranchSideFuncs:
        - "closeQuietly(java.io.Closeable)"
      - BranchSide: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:129"
        BranchSideFuncs:
        - "addInfo(java.lang.String)"
        - "close()"
    - Branch String: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:127"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:130"
        BranchSideFuncs:
        - "closeQuietly(java.io.Closeable)"
      - BranchSide: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:129"
        BranchSideFuncs:
        - "addInfo(java.lang.String)"
        - "close()"
    Callsites:
    - Src: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:99,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:99,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:104,1"
      Dst: "[ch.qos.logback.core.net.server.RemoteReceiverStreamClient].createObjectOutputStream()"
    - Src: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:105,1"
      Dst: "[java.lang.Thread].currentThread()"
    - Src: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:105,1"
      Dst: "[java.lang.Thread].isInterrupted()"
    - Src: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:107,1"
      Dst: "[java.util.concurrent.BlockingQueue].take()"
    - Src: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:108,1"
      Dst: "[java.io.ObjectOutputStream].writeObject(java.lang.Object)"
    - Src: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:109,1"
      Dst: "[java.io.ObjectOutputStream].flush()"
    - Src: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:114,1"
      Dst: "[java.io.ObjectOutputStream].reset()"
    - Src: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:117,1"
      Dst: "[java.lang.Thread].interrupt()"
    - Src: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:128,1"
      Dst: "[ch.qos.logback.core.util.CloseUtil].closeQuietly(java.io.Closeable)"
    - Src: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:130,1"
      Dst: "[ch.qos.logback.core.net.server.RemoteReceiverStreamClient].close()"
    - Src: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:121,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.net.SocketException)"
    - Src: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:123,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.io.IOException)"
    - Src: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:123,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:125,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.RuntimeException)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 22
    CyclomaticComplexity: 7
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.server.RemoteReceiverStreamClient].createObjectOutputStream()"
    functionSourceFile: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient"
    linkageType: null
    functionLinenumber: 135
    functionDepth: 0
    returnType: "java.io.ObjectOutputStream"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.ObjectOutputStream].<init>(java.io.OutputStream)"
    - "[java.net.Socket].getOutputStream()"
    functionUses: 1
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:136"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:139"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:138"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:137,1"
      Dst: "[java.io.ObjectOutputStream].<init>(java.io.OutputStream)"
    - Src: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:139,1"
      Dst: "[java.net.Socket].getOutputStream()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.CloseUtil].closeQuietly(java.io.Closeable)"
    functionSourceFile: "ch.qos.logback.core.util.CloseUtil"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.Closeable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.MDC$MDCCloseable].close()"
    - "[ch.qos.logback.core.recovery.ResilientOutputStreamBase].close()"
    - "[ch.qos.logback.core.net.server.ServerSocketListener].close()"
    - "[ch.qos.logback.core.net.server.ConcurrentServerRunner$ClientWrapper].close()"
    - "[ch.qos.logback.classic.net.server.RemoteAppenderStreamClient].close()"
    - "[ch.qos.logback.core.net.server.RemoteReceiverStreamClient].close()"
    - "[ch.qos.logback.core.testUtil.XTeeOutputStream].close()"
    - "[ch.qos.logback.core.encoder.NonClosableInputStream:ch.qos.logback.core.net.SyslogOutputStream].close()"
    - "[java.io.Closeable].close()"
    functionUses: 14
    ICount: 7
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.CloseUtil:34"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.CloseUtil:37"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.CloseUtil:36"
        BranchSideFuncs:
        - "close()"
    Callsites:
    - Src: "ch.qos.logback.core.util.CloseUtil:37,1"
      Dst: "[java.io.Closeable].close()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.server.RemoteReceiverStreamClient].close()"
    functionSourceFile: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient"
    linkageType: null
    functionLinenumber: 89
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.CloseUtil].closeQuietly(java.net.Socket)"
    functionUses: 10
    ICount: 7
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:90"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:92"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:91"
        BranchSideFuncs:
        - "closeQuietly(java.net.Socket)"
    Callsites:
    - Src: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:92,1"
      Dst: "[ch.qos.logback.core.util.CloseUtil].closeQuietly(java.net.Socket)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.server.RemoteReceiverStreamClient].createObjectOutputStream()"
    functionSourceFile: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient"
    linkageType: null
    functionLinenumber: 135
    functionDepth: 0
    returnType: "java.io.ObjectOutputStream"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.ObjectOutputStream].<init>(java.io.OutputStream)"
    - "[java.net.Socket].getOutputStream()"
    functionUses: 1
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:136"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:139"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:138"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:137,1"
      Dst: "[java.io.ObjectOutputStream].<init>(java.io.OutputStream)"
    - Src: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:139,1"
      Dst: "[java.net.Socket].getOutputStream()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.IncompatibleClassException].<init>(java.lang.Class,java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.util.IncompatibleClassException"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Exception].<init>()"
    functionUses: 1
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.IncompatibleClassException:24,1"
      Dst: "[java.lang.Exception].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter].<init>()"
    functionSourceFile: "ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.ExtendedThrowableProxyConverter].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter:24,1"
      Dst: "[ch.qos.logback.classic.pattern.ExtendedThrowableProxyConverter].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter].throwableProxyToString(ch.qos.logback.classic.spi.IThrowableProxy)"
    functionSourceFile: "ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 4
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.IThrowableProxy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter].recursiveAppendRootCauseFirst(java.lang.StringBuilder,java.lang.String,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    - "[java.lang.StringBuilder].<init>(int)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter:28,1"
      Dst: "[java.lang.StringBuilder].<init>(int)"
    - Src: "ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter:29,1"
      Dst: "[ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter].recursiveAppendRootCauseFirst(java.lang.StringBuilder,java.lang.String,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    - Src: "ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter:30,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter].recursiveAppendRootCauseFirst(java.lang.StringBuilder,java.lang.String,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    functionSourceFile: "ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 3
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.lang.StringBuilder"
    - "java.lang.String"
    - "int"
    - "ch.qos.logback.classic.spi.IThrowableProxy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.ThrowableProxy].getCause()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy:ch.qos.logback.classic.spi.ThrowableProxyVO].getCause()"
    - "[ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter].recursiveAppendRootCauseFirst(java.lang.StringBuilder,java.lang.String,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    - "[ch.qos.logback.classic.spi.ThrowableProxyUtil].indent(java.lang.StringBuilder,int)"
    - "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinFirstLineRootCauseFirst(java.lang.StringBuilder,ch.qos.logback.classic.spi.IThrowableProxy)"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].subjoinSTEPArray(java.lang.StringBuilder,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    - "[ch.qos.logback.classic.spi.ThrowableProxy:ch.qos.logback.classic.spi.ThrowableProxyVO].getSuppressed()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getCause()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getSuppressed()"
    functionUses: 3
    ICount: 29
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter:34"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter:38"
        BranchSideFuncs:
        - "getCause()"
      - BranchSide: "ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter:37"
        BranchSideFuncs:
        - "indent(java.lang.StringBuilder,int)"
    - Branch String: "ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter:39"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter:42"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter:41"
        BranchSideFuncs:
        - "subjoinSTEPArray(java.lang.StringBuilder,int,ch.qos.logback.classic.spi.IThrowableProxy)"
        - "subjoinFirstLineRootCauseFirst(java.lang.StringBuilder,ch.qos.logback.classic.spi.IThrowableProxy)"
        - "getSuppressed()"
    - Branch String: "ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter:46"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter:52"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter:51"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter:47"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter:51"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter:34,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getCause()"
    - Src: "ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter:35,1"
      Dst: "[ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter].recursiveAppendRootCauseFirst(java.lang.StringBuilder,java.lang.String,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    - Src: "ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter:38,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].indent(java.lang.StringBuilder,int)"
    - Src: "ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter:40,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter:42,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinFirstLineRootCauseFirst(java.lang.StringBuilder,ch.qos.logback.classic.spi.IThrowableProxy)"
    - Src: "ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter:44,1"
      Dst: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].subjoinSTEPArray(java.lang.StringBuilder,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    - Src: "ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter:45,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getSuppressed()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].indent(java.lang.StringBuilder,int)"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxyUtil"
    linkageType: null
    functionLinenumber: 99
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].append(char)"
    functionUses: 4
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:100"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:102"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:101,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinFirstLineRootCauseFirst(java.lang.StringBuilder,ch.qos.logback.classic.spi.IThrowableProxy)"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxyUtil"
    linkageType: null
    functionLinenumber: 177
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "ch.qos.logback.classic.spi.IThrowableProxy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.ThrowableProxy].getCause()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].getCause()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinExceptionMessage(java.lang.StringBuilder,ch.qos.logback.classic.spi.IThrowableProxy)"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getCause()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 1
    ICount: 7
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:178"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:181"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:180"
        BranchSideFuncs:
        - "subjoinExceptionMessage(java.lang.StringBuilder,ch.qos.logback.classic.spi.IThrowableProxy)"
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:178,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getCause()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:179,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:181,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinExceptionMessage(java.lang.StringBuilder,ch.qos.logback.classic.spi.IThrowableProxy)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].subjoinSTEPArray(java.lang.StringBuilder,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    functionSourceFile: "ch.qos.logback.classic.pattern.ThrowableProxyConverter"
    linkageType: null
    functionLinenumber: 192
    functionDepth: 2
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.StringBuilder"
    - "int"
    - "ch.qos.logback.classic.spi.IThrowableProxy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].getStackTraceElementProxyArray()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].getStackTraceElementProxyArray()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].getCommonFrames()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].getCommonFrames()"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].isIgnoredStackTraceLine(java.lang.String)"
    - "[ch.qos.logback.classic.spi.StackTraceElementProxy].toString()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyUtil].indent(java.lang.StringBuilder,int)"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].printStackLine(java.lang.StringBuilder,int,ch.qos.logback.classic.spi.StackTraceElementProxy)"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].printIgnoredCount(java.lang.StringBuilder,int)"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getStackTraceElementProxyArray()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getCommonFrames()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(int)"
    functionUses: 2
    ICount: 56
    EdgeCount: 12
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:196"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:-1"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:198"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:196"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:195"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:199"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:203"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:202"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:199"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:203"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:202"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:204"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:218"
        BranchSideFuncs:
        - "isIgnoredStackTraceLine(java.lang.String)"
        - "toString()"
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:217"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:206"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:212"
        BranchSideFuncs:
        - "printStackLine(java.lang.StringBuilder,int,ch.qos.logback.classic.spi.StackTraceElementProxy)"
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:211"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:213"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:203"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:202"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:218"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:223"
        BranchSideFuncs:
        - "printIgnoredCount(java.lang.StringBuilder,int)"
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:222"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:223"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:228"
        BranchSideFuncs:
        - "getCommonFrames()"
        - "indent(java.lang.StringBuilder,int)"
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:227"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:223"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:228"
        BranchSideFuncs:
        - "getCommonFrames()"
        - "indent(java.lang.StringBuilder,int)"
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:227"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:193,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getStackTraceElementProxyArray()"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:194,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getCommonFrames()"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:206,1"
      Dst: "[ch.qos.logback.classic.spi.StackTraceElementProxy].toString()"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:206,1"
      Dst: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].isIgnoredStackTraceLine(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:207,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].indent(java.lang.StringBuilder,int)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:208,1"
      Dst: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].printStackLine(java.lang.StringBuilder,int,ch.qos.logback.classic.spi.StackTraceElementProxy)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:210,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:219,1"
      Dst: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].printIgnoredCount(java.lang.StringBuilder,int)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:225,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 22
    CyclomaticComplexity: 11
  - functionName: "[ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter].recursiveAppendRootCauseFirst(java.lang.StringBuilder,java.lang.String,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    functionSourceFile: "ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 3
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.lang.StringBuilder"
    - "java.lang.String"
    - "int"
    - "ch.qos.logback.classic.spi.IThrowableProxy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.ThrowableProxy].getCause()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy:ch.qos.logback.classic.spi.ThrowableProxyVO].getCause()"
    - "[ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter].recursiveAppendRootCauseFirst(java.lang.StringBuilder,java.lang.String,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    - "[ch.qos.logback.classic.spi.ThrowableProxyUtil].indent(java.lang.StringBuilder,int)"
    - "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinFirstLineRootCauseFirst(java.lang.StringBuilder,ch.qos.logback.classic.spi.IThrowableProxy)"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].subjoinSTEPArray(java.lang.StringBuilder,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    - "[ch.qos.logback.classic.spi.ThrowableProxy:ch.qos.logback.classic.spi.ThrowableProxyVO].getSuppressed()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getCause()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getSuppressed()"
    functionUses: 3
    ICount: 29
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter:34"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter:38"
        BranchSideFuncs:
        - "getCause()"
      - BranchSide: "ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter:37"
        BranchSideFuncs:
        - "indent(java.lang.StringBuilder,int)"
    - Branch String: "ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter:39"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter:42"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter:41"
        BranchSideFuncs:
        - "subjoinSTEPArray(java.lang.StringBuilder,int,ch.qos.logback.classic.spi.IThrowableProxy)"
        - "subjoinFirstLineRootCauseFirst(java.lang.StringBuilder,ch.qos.logback.classic.spi.IThrowableProxy)"
        - "getSuppressed()"
    - Branch String: "ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter:46"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter:52"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter:51"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter:47"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter:51"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter:34,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getCause()"
    - Src: "ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter:35,1"
      Dst: "[ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter].recursiveAppendRootCauseFirst(java.lang.StringBuilder,java.lang.String,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    - Src: "ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter:38,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].indent(java.lang.StringBuilder,int)"
    - Src: "ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter:40,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter:42,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinFirstLineRootCauseFirst(java.lang.StringBuilder,ch.qos.logback.classic.spi.IThrowableProxy)"
    - Src: "ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter:44,1"
      Dst: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].subjoinSTEPArray(java.lang.StringBuilder,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    - Src: "ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter:45,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getSuppressed()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.classic.PatternLayout].<init>()"
    functionSourceFile: "ch.qos.logback.classic.PatternLayout"
    linkageType: null
    functionLinenumber: 163
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.PatternLayoutBase].<init>()"
    - "[ch.qos.logback.classic.pattern.EnsureExceptionHandling].<init>()"
    functionUses: 4
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.PatternLayout:164,1"
      Dst: "[ch.qos.logback.core.pattern.PatternLayoutBase].<init>()"
    - Src: "ch.qos.logback.classic.PatternLayout:165,1"
      Dst: "[ch.qos.logback.classic.pattern.EnsureExceptionHandling].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.PatternLayout].getDefaultConverterMap()"
    functionSourceFile: "ch.qos.logback.classic.PatternLayout"
    linkageType: null
    functionLinenumber: 168
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.PatternLayout].doLayout(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.PatternLayout"
    linkageType: null
    functionLinenumber: 172
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.LayoutBase].isStarted()"
    - "[ch.qos.logback.core.pattern.PatternLayoutBase].writeLoopOnConverters(java.lang.Object)"
    functionUses: 3
    ICount: 7
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.PatternLayout:173"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.PatternLayout:176"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.PatternLayout:175"
        BranchSideFuncs:
        - "writeLoopOnConverters(java.lang.Object)"
    Callsites:
    - Src: "ch.qos.logback.classic.PatternLayout:173,1"
      Dst: "[ch.qos.logback.core.LayoutBase].isStarted()"
    - Src: "ch.qos.logback.classic.PatternLayout:176,1"
      Dst: "[ch.qos.logback.core.pattern.PatternLayoutBase].writeLoopOnConverters(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.PatternLayout].getPresentationHeaderPrefix()"
    functionSourceFile: "ch.qos.logback.classic.PatternLayout"
    linkageType: null
    functionLinenumber: 180
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.PatternLayout].doLayout(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.PatternLayout"
    linkageType: null
    functionLinenumber: 38
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.PatternLayout].doLayout(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 6
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.PatternLayout:39,1"
      Dst: "[ch.qos.logback.classic.PatternLayout].doLayout(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.PatternLayout].doLayout(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.PatternLayout"
    linkageType: null
    functionLinenumber: 172
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.LayoutBase].isStarted()"
    - "[ch.qos.logback.core.pattern.PatternLayoutBase].writeLoopOnConverters(java.lang.Object)"
    functionUses: 3
    ICount: 7
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.PatternLayout:173"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.PatternLayout:176"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.PatternLayout:175"
        BranchSideFuncs:
        - "writeLoopOnConverters(java.lang.Object)"
    Callsites:
    - Src: "ch.qos.logback.classic.PatternLayout:173,1"
      Dst: "[ch.qos.logback.core.LayoutBase].isStarted()"
    - Src: "ch.qos.logback.classic.PatternLayout:176,1"
      Dst: "[ch.qos.logback.core.pattern.PatternLayoutBase].writeLoopOnConverters(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.LogbackLock].<init>()"
    functionSourceFile: "ch.qos.logback.core.spi.LogbackLock"
    linkageType: null
    functionLinenumber: 21
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.LogbackLock:22,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.ImplicitModelAction].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.action.ImplicitModelAction"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.Action].<init>()"
    - "[java.util.Stack].<init>()"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.ImplicitModelAction:35,1"
      Dst: "[ch.qos.logback.core.joran.action.Action].<init>()"
    - Src: "ch.qos.logback.core.joran.action.ImplicitModelAction:37,1"
      Dst: "[java.util.Stack].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.ImplicitModelAction].begin(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.ImplicitModelAction"
    linkageType: null
    functionLinenumber: 41
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.ImplicitModel].<init>()"
    - "[ch.qos.logback.core.model.Model].setTag(java.lang.String)"
    - "[org.xml.sax.helpers.AttributesImpl].getValue(java.lang.String)"
    - "[ch.qos.logback.core.model.ComponentModel].setClassName(java.lang.String)"
    - "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].pushModel(ch.qos.logback.core.model.Model)"
    - "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - "[java.util.Stack].push(java.lang.Object)"
    functionUses: 1
    ICount: 13
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.ImplicitModelAction:42,1"
      Dst: "[ch.qos.logback.core.model.ImplicitModel].<init>()"
    - Src: "ch.qos.logback.core.joran.action.ImplicitModelAction:43,1"
      Dst: "[ch.qos.logback.core.model.Model].setTag(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.ImplicitModelAction:45,1"
      Dst: "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.ImplicitModelAction:46,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].setClassName(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.ImplicitModelAction:47,1"
      Dst: "[java.util.Stack].push(java.lang.Object)"
    - Src: "ch.qos.logback.core.joran.action.ImplicitModelAction:48,1"
      Dst: "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].pushModel(ch.qos.logback.core.model.Model)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ImplicitModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.ImplicitModel"
    linkageType: null
    functionLinenumber: 15
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.ComponentModel].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.ImplicitModel:16,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].setTag(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 108
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ComponentModel].setClassName(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.ComponentModel"
    linkageType: null
    functionLinenumber: 47
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 9
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].pushModel(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    linkageType: null
    functionLinenumber: 62
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].push(java.lang.Object)"
    functionUses: 3
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext:63,1"
      Dst: "[java.util.Stack].push(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.ImplicitModelAction].body(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.action.ImplicitModelAction"
    linkageType: null
    functionLinenumber: 52
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].addText(java.lang.String)"
    - "[java.util.Stack].peek()"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.ImplicitModelAction:53,1"
      Dst: "[java.util.Stack].peek()"
    - Src: "ch.qos.logback.core.joran.action.ImplicitModelAction:54,1"
      Dst: "[ch.qos.logback.core.model.Model].addText(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].addText(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 132
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    functionUses: 2
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.Model:133"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:136"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:135"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:136,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.action.ImplicitModelAction].end(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.action.ImplicitModelAction"
    linkageType: null
    functionLinenumber: 59
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].popModel()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].peekModel()"
    - "[ch.qos.logback.core.model.Model].addSubModel(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[java.util.Stack].peek()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.model.ImplicitModel,ch.qos.logback.core.model.Model)"
    - "[java.util.Stack].pop()"
    functionUses: 1
    ICount: 20
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.action.ImplicitModelAction:63"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.ImplicitModelAction:67"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.joran.action.ImplicitModelAction:66"
        BranchSideFuncs:
        - "peekModel()"
    - Branch String: "ch.qos.logback.core.joran.action.ImplicitModelAction:68"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.ImplicitModelAction:71"
        BranchSideFuncs:
        - "addSubModel(ch.qos.logback.core.model.Model)"
      - BranchSide: "ch.qos.logback.core.joran.action.ImplicitModelAction:70"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.ImplicitModelAction:60,1"
      Dst: "[java.util.Stack].peek()"
    - Src: "ch.qos.logback.core.joran.action.ImplicitModelAction:61,1"
      Dst: "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].popModel()"
    - Src: "ch.qos.logback.core.joran.action.ImplicitModelAction:64,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.model.ImplicitModel,ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.joran.action.ImplicitModelAction:64,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.ImplicitModelAction:67,1"
      Dst: "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].peekModel()"
    - Src: "ch.qos.logback.core.joran.action.ImplicitModelAction:69,1"
      Dst: "[ch.qos.logback.core.model.Model].addSubModel(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.core.joran.action.ImplicitModelAction:71,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.ImplicitModelAction:74,1"
      Dst: "[java.util.Stack].pop()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].popModel()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    linkageType: null
    functionLinenumber: 70
    functionDepth: 0
    returnType: "ch.qos.logback.core.model.Model"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].pop()"
    functionUses: 3
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext:71,1"
      Dst: "[java.util.Stack].pop()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.SaxEventInterpretationContext].peekModel()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    linkageType: null
    functionLinenumber: 55
    functionDepth: 0
    returnType: "ch.qos.logback.core.model.Model"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Vector].isEmpty()"
    - "[java.util.Stack].peek()"
    functionUses: 6
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext:56"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext:59"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext:58"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext:56,1"
      Dst: "[java.util.Vector].isEmpty()"
    - Src: "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext:59,1"
      Dst: "[java.util.Stack].peek()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].addSubModel(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 124
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 3
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:125,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 96
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__11].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__11"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__11].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__11:-1,1"
      Dst: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__11].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__11].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__11"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__11:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__11].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__11"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__11:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__11].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__11"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.PropertyModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__11:-1,1"
      Dst: "[ch.qos.logback.core.model.processor.PropertyModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.PropertyModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.PropertyModelHandler"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.PropertyModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:29,1"
      Dst: "[ch.qos.logback.core.model.processor.PropertyModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.OnFileStatusListener].<init>()"
    functionSourceFile: "ch.qos.logback.core.status.OnFileStatusListener"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.OnPrintStreamStatusListenerBase].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.OnFileStatusListener:7,1"
      Dst: "[ch.qos.logback.core.status.OnPrintStreamStatusListenerBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.OnFileStatusListener].start()"
    functionSourceFile: "ch.qos.logback.core.status.OnFileStatusListener"
    linkageType: null
    functionLinenumber: 13
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.status.OnPrintStreamStatusListenerBase].start()"
    - "[java.io.FileOutputStream].<init>(java.lang.String,boolean)"
    - "[java.io.PrintStream].<init>(java.io.OutputStream,boolean)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 5
    ICount: 19
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.status.OnFileStatusListener:14"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.OnFileStatusListener:20"
        BranchSideFuncs:
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.status.OnFileStatusListener:19"
        BranchSideFuncs:
        - "addError(java.lang.String,java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.core.status.OnFileStatusListener:15,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.status.OnFileStatusListener:20,1"
      Dst: "[java.io.FileOutputStream].<init>(java.lang.String,boolean)"
    - Src: "ch.qos.logback.core.status.OnFileStatusListener:21,1"
      Dst: "[java.io.PrintStream].<init>(java.io.OutputStream,boolean)"
    - Src: "ch.qos.logback.core.status.OnFileStatusListener:23,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.status.OnFileStatusListener:23,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.status.OnFileStatusListener:27,1"
      Dst: "[ch.qos.logback.core.status.OnPrintStreamStatusListenerBase].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 74
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.OnFileStatusListener].stop()"
    functionSourceFile: "ch.qos.logback.core.status.OnFileStatusListener"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.OnPrintStreamStatusListenerBase].stop()"
    - "[java.io.PrintStream].close()"
    functionUses: 1
    ICount: 10
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.status.OnFileStatusListener:33"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.OnFileStatusListener:36"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.status.OnFileStatusListener:35"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.status.OnFileStatusListener:36"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.status.OnFileStatusListener:38"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.status.OnFileStatusListener:37"
        BranchSideFuncs:
        - "stop()"
    Callsites:
    - Src: "ch.qos.logback.core.status.OnFileStatusListener:37,1"
      Dst: "[java.io.PrintStream].close()"
    - Src: "ch.qos.logback.core.status.OnFileStatusListener:38,1"
      Dst: "[ch.qos.logback.core.status.OnPrintStreamStatusListenerBase].stop()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.status.OnFileStatusListener].getFilename()"
    functionSourceFile: "ch.qos.logback.core.status.OnFileStatusListener"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.OnFileStatusListener].setFilename(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.status.OnFileStatusListener"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.OnFileStatusListener].getPrintStream()"
    functionSourceFile: "ch.qos.logback.core.status.OnFileStatusListener"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 0
    returnType: "java.io.PrintStream"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SSLSocketAppender].<init>()"
    functionSourceFile: "ch.qos.logback.classic.net.SSLSocketAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.AbstractSSLSocketAppender].<init>()"
    - "[ch.qos.logback.classic.net.LoggingEventPreSerializationTransformer].<init>()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SSLSocketAppender:34,1"
      Dst: "[ch.qos.logback.core.net.AbstractSSLSocketAppender].<init>()"
    - Src: "ch.qos.logback.classic.net.SSLSocketAppender:30,1"
      Dst: "[ch.qos.logback.classic.net.LoggingEventPreSerializationTransformer].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SSLSocketAppender].postProcessEvent(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.net.SSLSocketAppender"
    linkageType: null
    functionLinenumber: 38
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].getCallerData()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getCallerData()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getCallerData()"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.net.SSLSocketAppender:39"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SSLSocketAppender:42"
        BranchSideFuncs:
        - "getCallerData()"
      - BranchSide: "ch.qos.logback.classic.net.SSLSocketAppender:41"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SSLSocketAppender:40,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getCallerData()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.net.SSLSocketAppender].setIncludeCallerData(boolean)"
    functionSourceFile: "ch.qos.logback.classic.net.SSLSocketAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SSLSocketAppender].getPST()"
    functionSourceFile: "ch.qos.logback.classic.net.SSLSocketAppender"
    linkageType: null
    functionLinenumber: 48
    functionDepth: 0
    returnType: "ch.qos.logback.core.spi.PreSerializationTransformer"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SSLSocketAppender].postProcessEvent(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.net.SSLSocketAppender"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.net.SSLSocketAppender].postProcessEvent(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SSLSocketAppender:28,1"
      Dst: "[ch.qos.logback.classic.net.SSLSocketAppender].postProcessEvent(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SSLSocketAppender].postProcessEvent(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.net.SSLSocketAppender"
    linkageType: null
    functionLinenumber: 38
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].getCallerData()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getCallerData()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getCallerData()"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.net.SSLSocketAppender:39"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SSLSocketAppender:42"
        BranchSideFuncs:
        - "getCallerData()"
      - BranchSide: "ch.qos.logback.classic.net.SSLSocketAppender:41"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SSLSocketAppender:40,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getCallerData()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.net.server.RemoteAppenderStreamClient].<init>(java.lang.String,java.net.Socket)"
    functionSourceFile: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient"
    linkageType: null
    functionLinenumber: 47
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.net.Socket"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:48,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.RemoteAppenderStreamClient].<init>(java.lang.String,java.io.InputStream)"
    functionSourceFile: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.io.InputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:63,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.RemoteAppenderStreamClient].setLoggerContext(ch.qos.logback.classic.LoggerContext)"
    functionSourceFile: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient"
    linkageType: null
    functionLinenumber: 72
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.LoggerContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].getLogger(java.lang.String)"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getPackage()"
    - "[java.lang.Package].getName()"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:74,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:74,1"
      Dst: "[java.lang.Class].getPackage()"
    - Src: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:74,1"
      Dst: "[java.lang.Package].getName()"
    - Src: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:74,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getLogger(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].getLogger(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 128
    functionDepth: 2
    returnType: "ch.qos.logback.classic.Logger"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.util.LoggerNameUtil].getSeparatorIndexOf(java.lang.String,int)"
    - "[ch.qos.logback.classic.Logger].getChildByName(java.lang.String)"
    - "[ch.qos.logback.classic.Logger].createChildByName(java.lang.String)"
    - "[ch.qos.logback.classic.LoggerContext].incSize()"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - "[java.util.Map].get(java.lang.Object)"
    - "[java.lang.String].substring(int,int)"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 10
    ICount: 45
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.LoggerContext:129"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:135"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:134"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.LoggerContext:135"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:139"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:138"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.LoggerContext:146"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:154"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:153"
        BranchSideFuncs:
        - "getSeparatorIndexOf(java.lang.String,int)"
    - Branch String: "ch.qos.logback.classic.LoggerContext:155"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:158"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:157"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.LoggerContext:164"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:169"
        BranchSideFuncs:
        - "createChildByName(java.lang.String)"
        - "incSize()"
      - BranchSide: "ch.qos.logback.classic.LoggerContext:168"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.LoggerContext:171"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:174"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:173"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:130,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.classic.LoggerContext:135,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - Src: "ch.qos.logback.classic.LoggerContext:144,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "ch.qos.logback.classic.LoggerContext:154,1"
      Dst: "[ch.qos.logback.classic.util.LoggerNameUtil].getSeparatorIndexOf(java.lang.String,int)"
    - Src: "ch.qos.logback.classic.LoggerContext:158,1"
      Dst: "[java.lang.String].substring(int,int)"
    - Src: "ch.qos.logback.classic.LoggerContext:163,1"
      Dst: "[ch.qos.logback.classic.Logger].getChildByName(java.lang.String)"
    - Src: "ch.qos.logback.classic.LoggerContext:165,1"
      Dst: "[ch.qos.logback.classic.Logger].createChildByName(java.lang.String)"
    - Src: "ch.qos.logback.classic.LoggerContext:166,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - Src: "ch.qos.logback.classic.LoggerContext:167,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].incSize()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 16
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.net.server.RemoteAppenderStreamClient].close()"
    functionSourceFile: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient"
    linkageType: null
    functionLinenumber: 80
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.CloseUtil].closeQuietly(java.net.Socket)"
    functionUses: 10
    ICount: 7
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:81"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:83"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:82"
        BranchSideFuncs:
        - "closeQuietly(java.net.Socket)"
    Callsites:
    - Src: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:83,1"
      Dst: "[ch.qos.logback.core.util.CloseUtil].closeQuietly(java.net.Socket)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.CloseUtil].closeQuietly(java.net.Socket)"
    functionSourceFile: "ch.qos.logback.core.util.CloseUtil"
    linkageType: null
    functionLinenumber: 48
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.net.Socket"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.net.Socket].close()"
    functionUses: 12
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.CloseUtil:49"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.CloseUtil:52"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.CloseUtil:51"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.CloseUtil:52,1"
      Dst: "[java.net.Socket].close()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.RemoteAppenderStreamClient].run()"
    functionSourceFile: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient"
    linkageType: null
    functionLinenumber: 89
    functionDepth: 12
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].info(java.lang.String)"
    - "[ch.qos.logback.classic.net.server.RemoteAppenderStreamClient].createObjectInputStream()"
    - "[ch.qos.logback.classic.LoggerContext].getLogger(java.lang.String)"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getLoggerName()"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getLevel()"
    - "[ch.qos.logback.classic.Logger].isEnabledFor(ch.qos.logback.classic.Level)"
    - "[ch.qos.logback.classic.Logger].callAppenders(ch.qos.logback.classic.spi.ILoggingEvent)"
    - "[ch.qos.logback.classic.Logger].error(java.lang.String)"
    - "[ch.qos.logback.core.util.CloseUtil].closeQuietly(java.io.Closeable)"
    - "[ch.qos.logback.classic.net.server.RemoteAppenderStreamClient].close()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.classic.net.server.RemoteAppenderStreamClient)"
    - "[java.io.ObjectInputStream].readObject()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerName()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.classic.net.server.RemoteAppenderStreamClient,java.io.IOException)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.classic.net.server.RemoteAppenderStreamClient,java.lang.RuntimeException)"
    functionUses: 3
    ICount: 68
    EdgeCount: 25
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:101"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:104"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:116"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:119"
        BranchSideFuncs:
        - "closeQuietly(java.io.Closeable)"
      - BranchSide: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:118"
        BranchSideFuncs:
        - "info(java.lang.String)"
        - "close()"
    - Branch String: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:116"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:119"
        BranchSideFuncs:
        - "closeQuietly(java.io.Closeable)"
      - BranchSide: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:118"
        BranchSideFuncs:
        - "info(java.lang.String)"
        - "close()"
    - Branch String: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:116"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:119"
        BranchSideFuncs:
        - "closeQuietly(java.io.Closeable)"
      - BranchSide: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:118"
        BranchSideFuncs:
        - "info(java.lang.String)"
        - "close()"
    - Branch String: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:116"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:119"
        BranchSideFuncs:
        - "closeQuietly(java.io.Closeable)"
      - BranchSide: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:118"
        BranchSideFuncs:
        - "info(java.lang.String)"
        - "close()"
    - Branch String: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:116"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:119"
        BranchSideFuncs:
        - "closeQuietly(java.io.Closeable)"
      - BranchSide: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:118"
        BranchSideFuncs:
        - "info(java.lang.String)"
        - "close()"
    Callsites:
    - Src: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:90,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.classic.net.server.RemoteAppenderStreamClient)"
    - Src: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:90,1"
      Dst: "[ch.qos.logback.classic.Logger].info(java.lang.String)"
    - Src: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:93,1"
      Dst: "[ch.qos.logback.classic.net.server.RemoteAppenderStreamClient].createObjectInputStream()"
    - Src: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:96,1"
      Dst: "[java.io.ObjectInputStream].readObject()"
    - Src: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:99,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerName()"
    - Src: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:99,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getLogger(java.lang.String)"
    - Src: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:101,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    - Src: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:101,1"
      Dst: "[ch.qos.logback.classic.Logger].isEnabledFor(ch.qos.logback.classic.Level)"
    - Src: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:103,1"
      Dst: "[ch.qos.logback.classic.Logger].callAppenders(ch.qos.logback.classic.spi.ILoggingEvent)"
    - Src: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:117,1"
      Dst: "[ch.qos.logback.core.util.CloseUtil].closeQuietly(java.io.Closeable)"
    - Src: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:119,1"
      Dst: "[ch.qos.logback.classic.net.server.RemoteAppenderStreamClient].close()"
    - Src: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:110,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.classic.net.server.RemoteAppenderStreamClient,java.io.IOException)"
    - Src: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:112,1"
      Dst: "[ch.qos.logback.classic.Logger].error(java.lang.String)"
    - Src: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:114,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.classic.net.server.RemoteAppenderStreamClient,java.lang.RuntimeException)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 20
    CyclomaticComplexity: 6
  - functionName: "[ch.qos.logback.classic.Logger].info(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 583
    functionDepth: 11
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 17
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:584,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.RemoteAppenderStreamClient].createObjectInputStream()"
    functionSourceFile: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient"
    linkageType: null
    functionLinenumber: 124
    functionDepth: 3
    returnType: "ch.qos.logback.core.net.HardenedObjectInputStream"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.net.server.HardenedLoggingEventInputStream].<init>(java.io.InputStream)"
    - "[java.net.Socket].getInputStream()"
    functionUses: 1
    ICount: 12
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:125"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:128"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:127"
        BranchSideFuncs:
        - "<init>(java.io.InputStream)"
    Callsites:
    - Src: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:126,1"
      Dst: "[ch.qos.logback.classic.net.server.HardenedLoggingEventInputStream].<init>(java.io.InputStream)"
    - Src: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:128,1"
      Dst: "[java.net.Socket].getInputStream()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.HardenedLoggingEventInputStream].<init>(java.io.InputStream)"
    functionSourceFile: "ch.qos.logback.classic.net.server.HardenedLoggingEventInputStream"
    linkageType: null
    functionLinenumber: 61
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.InputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.HardenedObjectInputStream].<init>(java.io.InputStream,java.util.List)"
    - "[ch.qos.logback.classic.net.server.HardenedLoggingEventInputStream].getWhilelist()"
    functionUses: 4
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.server.HardenedLoggingEventInputStream:62,1"
      Dst: "[ch.qos.logback.classic.net.server.HardenedLoggingEventInputStream].getWhilelist()"
    - Src: "ch.qos.logback.classic.net.server.HardenedLoggingEventInputStream:62,1"
      Dst: "[ch.qos.logback.core.net.HardenedObjectInputStream].<init>(java.io.InputStream,java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].getLogger(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 128
    functionDepth: 2
    returnType: "ch.qos.logback.classic.Logger"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.util.LoggerNameUtil].getSeparatorIndexOf(java.lang.String,int)"
    - "[ch.qos.logback.classic.Logger].getChildByName(java.lang.String)"
    - "[ch.qos.logback.classic.Logger].createChildByName(java.lang.String)"
    - "[ch.qos.logback.classic.LoggerContext].incSize()"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - "[java.util.Map].get(java.lang.Object)"
    - "[java.lang.String].substring(int,int)"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 10
    ICount: 45
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.LoggerContext:129"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:135"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:134"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.LoggerContext:135"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:139"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:138"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.LoggerContext:146"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:154"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:153"
        BranchSideFuncs:
        - "getSeparatorIndexOf(java.lang.String,int)"
    - Branch String: "ch.qos.logback.classic.LoggerContext:155"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:158"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:157"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.LoggerContext:164"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:169"
        BranchSideFuncs:
        - "createChildByName(java.lang.String)"
        - "incSize()"
      - BranchSide: "ch.qos.logback.classic.LoggerContext:168"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.LoggerContext:171"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:174"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:173"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:130,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.classic.LoggerContext:135,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - Src: "ch.qos.logback.classic.LoggerContext:144,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "ch.qos.logback.classic.LoggerContext:154,1"
      Dst: "[ch.qos.logback.classic.util.LoggerNameUtil].getSeparatorIndexOf(java.lang.String,int)"
    - Src: "ch.qos.logback.classic.LoggerContext:158,1"
      Dst: "[java.lang.String].substring(int,int)"
    - Src: "ch.qos.logback.classic.LoggerContext:163,1"
      Dst: "[ch.qos.logback.classic.Logger].getChildByName(java.lang.String)"
    - Src: "ch.qos.logback.classic.LoggerContext:165,1"
      Dst: "[ch.qos.logback.classic.Logger].createChildByName(java.lang.String)"
    - Src: "ch.qos.logback.classic.LoggerContext:166,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - Src: "ch.qos.logback.classic.LoggerContext:167,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].incSize()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 16
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.Logger].isEnabledFor(ch.qos.logback.classic.Level)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 688
    functionDepth: 4
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.Level"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].isEnabledFor(org.slf4j.Marker,ch.qos.logback.classic.Level)"
    functionUses: 3
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:689,1"
      Dst: "[ch.qos.logback.classic.Logger].isEnabledFor(org.slf4j.Marker,ch.qos.logback.classic.Level)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].callAppenders(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 256
    functionDepth: 5
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].appendLoopOnAppenders(ch.qos.logback.classic.spi.ILoggingEvent)"
    - "[ch.qos.logback.classic.LoggerContext].noAppenderDefinedWarning(ch.qos.logback.classic.Logger)"
    functionUses: 4
    ICount: 16
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:258"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:265"
        BranchSideFuncs:
        - "appendLoopOnAppenders(ch.qos.logback.classic.spi.ILoggingEvent)"
      - BranchSide: "ch.qos.logback.classic.Logger:264"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:260"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:257"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:256"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:265"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:268"
        BranchSideFuncs:
        - "noAppenderDefinedWarning(ch.qos.logback.classic.Logger)"
      - BranchSide: "ch.qos.logback.classic.Logger:267"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:259,1"
      Dst: "[ch.qos.logback.classic.Logger].appendLoopOnAppenders(ch.qos.logback.classic.spi.ILoggingEvent)"
    - Src: "ch.qos.logback.classic.Logger:266,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].noAppenderDefinedWarning(ch.qos.logback.classic.Logger)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.util.CloseUtil].closeQuietly(java.io.Closeable)"
    functionSourceFile: "ch.qos.logback.core.util.CloseUtil"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.Closeable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.MDC$MDCCloseable].close()"
    - "[ch.qos.logback.core.recovery.ResilientOutputStreamBase].close()"
    - "[ch.qos.logback.core.net.server.ServerSocketListener].close()"
    - "[ch.qos.logback.core.net.server.ConcurrentServerRunner$ClientWrapper].close()"
    - "[ch.qos.logback.classic.net.server.RemoteAppenderStreamClient].close()"
    - "[ch.qos.logback.core.net.server.RemoteReceiverStreamClient].close()"
    - "[ch.qos.logback.core.testUtil.XTeeOutputStream].close()"
    - "[ch.qos.logback.core.encoder.NonClosableInputStream:ch.qos.logback.core.net.SyslogOutputStream].close()"
    - "[java.io.Closeable].close()"
    functionUses: 14
    ICount: 7
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.CloseUtil:34"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.CloseUtil:37"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.CloseUtil:36"
        BranchSideFuncs:
        - "close()"
    Callsites:
    - Src: "ch.qos.logback.core.util.CloseUtil:37,1"
      Dst: "[java.io.Closeable].close()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.RemoteAppenderStreamClient].close()"
    functionSourceFile: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient"
    linkageType: null
    functionLinenumber: 80
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.CloseUtil].closeQuietly(java.net.Socket)"
    functionUses: 10
    ICount: 7
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:81"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:83"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:82"
        BranchSideFuncs:
        - "closeQuietly(java.net.Socket)"
    Callsites:
    - Src: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:83,1"
      Dst: "[ch.qos.logback.core.util.CloseUtil].closeQuietly(java.net.Socket)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].error(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 526
    functionDepth: 11
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 2
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:527,1"
      Dst: "[ch.qos.logback.classic.Logger].filterAndLog_0_Or3Plus(java.lang.String,org.slf4j.Marker,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.RemoteAppenderStreamClient].createObjectInputStream()"
    functionSourceFile: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient"
    linkageType: null
    functionLinenumber: 124
    functionDepth: 3
    returnType: "ch.qos.logback.core.net.HardenedObjectInputStream"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.net.server.HardenedLoggingEventInputStream].<init>(java.io.InputStream)"
    - "[java.net.Socket].getInputStream()"
    functionUses: 1
    ICount: 12
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:125"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:128"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:127"
        BranchSideFuncs:
        - "<init>(java.io.InputStream)"
    Callsites:
    - Src: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:126,1"
      Dst: "[ch.qos.logback.classic.net.server.HardenedLoggingEventInputStream].<init>(java.io.InputStream)"
    - Src: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:128,1"
      Dst: "[java.net.Socket].getInputStream()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.RemoteAppenderStreamClient].toString()"
    functionSourceFile: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient"
    linkageType: null
    functionLinenumber: 135
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 3
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.server.RemoteAppenderStreamClient:136,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ComponentModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.ComponentModel"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 8
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.ComponentModel:24,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ComponentModel].makeNewInstance()"
    functionSourceFile: "ch.qos.logback.core.model.ComponentModel"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.ComponentModel"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.ComponentModel].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.ComponentModel:32,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ComponentModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.ComponentModel"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 8
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.ComponentModel:24,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ComponentModel].mirror(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.ComponentModel"
    linkageType: null
    functionLinenumber: 36
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].mirror(ch.qos.logback.core.model.Model)"
    functionUses: 2
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.ComponentModel:38,1"
      Dst: "[ch.qos.logback.core.model.Model].mirror(ch.qos.logback.core.model.Model)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ComponentModel].getClassName()"
    functionSourceFile: "ch.qos.logback.core.model.ComponentModel"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 11
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ComponentModel].setClassName(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.ComponentModel"
    linkageType: null
    functionLinenumber: 47
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 9
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ComponentModel].toString()"
    functionSourceFile: "ch.qos.logback.core.model.ComponentModel"
    linkageType: null
    functionLinenumber: 52
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getSimpleName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,java.lang.String,java.lang.String)"
    functionUses: 3
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.ComponentModel:53,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.model.ComponentModel:53,1"
      Dst: "[java.lang.Class].getSimpleName()"
    - Src: "ch.qos.logback.core.model.ComponentModel:53,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ComponentModel].hashCode()"
    functionSourceFile: "ch.qos.logback.core.model.ComponentModel"
    linkageType: null
    functionLinenumber: 59
    functionDepth: 1
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].hashCode()"
    - "[java.util.Objects].hash(java.lang.Object[])"
    functionUses: 6
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.ComponentModel:60,1"
      Dst: "[ch.qos.logback.core.model.Model].hashCode()"
    - Src: "ch.qos.logback.core.model.ComponentModel:61,1"
      Dst: "[java.util.Objects].hash(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ComponentModel].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.model.ComponentModel"
    linkageType: null
    functionLinenumber: 66
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].equals(java.lang.Object)"
    - "[java.lang.Object].getClass()"
    - "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    functionUses: 7
    ICount: 16
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.ComponentModel:67"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.ComponentModel:69"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.ComponentModel:68"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "ch.qos.logback.core.model.ComponentModel:69"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.ComponentModel:71"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.ComponentModel:70"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.ComponentModel:71"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.ComponentModel:73"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.ComponentModel:72"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.ComponentModel:69,1"
      Dst: "[ch.qos.logback.core.model.Model].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.model.ComponentModel:71,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.model.ComponentModel:74,1"
      Dst: "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.color.BlackCompositeConverter].<init>()"
    functionSourceFile: "ch.qos.logback.core.pattern.color.BlackCompositeConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.color.ForegroundCompositeConverterBase].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.color.BlackCompositeConverter:24,1"
      Dst: "[ch.qos.logback.core.pattern.color.ForegroundCompositeConverterBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.color.BlackCompositeConverter].getForegroundColorCode(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.pattern.color.BlackCompositeConverter"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.Util].<init>()"
    functionSourceFile: "org.slf4j.helpers.Util"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.Util:35,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.Util].safeGetSystemProperty(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.Util"
    linkageType: null
    functionLinenumber: 38
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.System].getProperty(java.lang.String)"
    functionUses: 1
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.Util:39"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.Util:42"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.Util:41"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.Util:40,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "org.slf4j.helpers.Util:44,1"
      Dst: "[java.lang.System].getProperty(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.Util].safeGetBooleanSystemProperty(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.Util"
    linkageType: null
    functionLinenumber: 51
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.Util].safeGetSystemProperty(java.lang.String)"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.Util:53"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.Util:56"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.Util:55"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.Util:52,1"
      Dst: "[org.slf4j.helpers.Util].safeGetSystemProperty(java.lang.String)"
    - Src: "org.slf4j.helpers.Util:56,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.Util].safeGetSystemProperty(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.Util"
    linkageType: null
    functionLinenumber: 38
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.System].getProperty(java.lang.String)"
    functionUses: 1
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.Util:39"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.Util:42"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.Util:41"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.Util:40,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "org.slf4j.helpers.Util:44,1"
      Dst: "[java.lang.System].getProperty(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.Util].getSecurityManager()"
    functionSourceFile: "org.slf4j.helpers.Util"
    linkageType: null
    functionLinenumber: 73
    functionDepth: 3
    returnType: "org.slf4j.helpers.Util$ClassContextSecurityManager"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.Util].safeCreateSecurityManager()"
    functionUses: 1
    ICount: 12
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.Util:74"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.Util:76"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.Util:75"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.Util:76"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.Util:79"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.Util:78"
        BranchSideFuncs:
        - "safeCreateSecurityManager()"
    Callsites:
    - Src: "org.slf4j.helpers.Util:79,1"
      Dst: "[org.slf4j.helpers.Util].safeCreateSecurityManager()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.Util].safeCreateSecurityManager()"
    functionSourceFile: "org.slf4j.helpers.Util"
    linkageType: null
    functionLinenumber: 86
    functionDepth: 2
    returnType: "org.slf4j.helpers.Util$ClassContextSecurityManager"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.Util$ClassContextSecurityManager].<init>(org.slf4j.helpers.Util$1)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.Util:87,1"
      Dst: "[org.slf4j.helpers.Util$ClassContextSecurityManager].<init>(org.slf4j.helpers.Util$1)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.Util].getCallingClass()"
    functionSourceFile: "org.slf4j.helpers.Util"
    linkageType: null
    functionLinenumber: 98
    functionDepth: 4
    returnType: "java.lang.Class"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.Util].getSecurityManager()"
    - "[org.slf4j.helpers.Util$ClassContextSecurityManager].getClassContext()"
    - "[java.lang.Class].getName()"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 27
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.Util:100"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.Util:102"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.Util:101"
        BranchSideFuncs:
        - "getClassContext()"
    - Branch String: "org.slf4j.helpers.Util:107"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.Util:113"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.Util:112"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.Util:108"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.Util:102"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.Util:101"
        BranchSideFuncs:
        - "getClassContext()"
    - Branch String: "org.slf4j.helpers.Util:113"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.Util:114"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.Util:113"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.Util:113"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.Util:117"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.Util:116"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.Util:99,1"
      Dst: "[org.slf4j.helpers.Util].getSecurityManager()"
    - Src: "org.slf4j.helpers.Util:102,1"
      Dst: "[org.slf4j.helpers.Util$ClassContextSecurityManager].getClassContext()"
    - Src: "org.slf4j.helpers.Util:103,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "org.slf4j.helpers.Util:108,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "org.slf4j.helpers.Util:114,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 11
    CyclomaticComplexity: 4
  - functionName: "[org.slf4j.helpers.Util].report(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "org.slf4j.helpers.Util"
    linkageType: null
    functionLinenumber: 127
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.PrintStream].println(java.lang.String)"
    - "[java.lang.Throwable].printStackTrace()"
    functionUses: 2
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.Util:128,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    - Src: "org.slf4j.helpers.Util:130,1"
      Dst: "[java.lang.Throwable].printStackTrace()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.Util].report(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.Util"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.io.PrintStream].println(java.lang.String)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.Util:141,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.slf4j.helpers.Util:141,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.slf4j.helpers.Util:141,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "org.slf4j.helpers.Util:141,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.filter.ThresholdFilter].<init>()"
    functionSourceFile: "ch.qos.logback.classic.filter.ThresholdFilter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.filter.Filter].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.filter.ThresholdFilter:34,1"
      Dst: "[ch.qos.logback.core.filter.Filter].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.filter.ThresholdFilter].decide(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.filter.ThresholdFilter"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 1
    returnType: "ch.qos.logback.core.spi.FilterReply"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.filter.Filter].isStarted()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getLevel()"
    - "[ch.qos.logback.classic.Level].isGreaterOrEqual(ch.qos.logback.classic.Level)"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    functionUses: 1
    ICount: 14
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.filter.ThresholdFilter:40"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.filter.ThresholdFilter:44"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.filter.ThresholdFilter:43"
        BranchSideFuncs:
        - "getLevel()"
        - "isGreaterOrEqual(ch.qos.logback.classic.Level)"
    - Branch String: "ch.qos.logback.classic.filter.ThresholdFilter:44"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.filter.ThresholdFilter:47"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.filter.ThresholdFilter:46"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.filter.ThresholdFilter:40,1"
      Dst: "[ch.qos.logback.core.filter.Filter].isStarted()"
    - Src: "ch.qos.logback.classic.filter.ThresholdFilter:44,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    - Src: "ch.qos.logback.classic.filter.ThresholdFilter:44,1"
      Dst: "[ch.qos.logback.classic.Level].isGreaterOrEqual(ch.qos.logback.classic.Level)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Level].isGreaterOrEqual(ch.qos.logback.classic.Level)"
    functionSourceFile: "ch.qos.logback.classic.Level"
    linkageType: null
    functionLinenumber: 146
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.Level"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Level:147"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Level:146"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.filter.ThresholdFilter].setLevel(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.filter.ThresholdFilter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Level].toLevel(java.lang.String)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.filter.ThresholdFilter:52,1"
      Dst: "[ch.qos.logback.classic.Level].toLevel(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Level].toLevel(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.Level"
    linkageType: null
    functionLinenumber: 154
    functionDepth: 1
    returnType: "ch.qos.logback.classic.Level"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Level].toLevel(java.lang.String,ch.qos.logback.classic.Level)"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Level:155,1"
      Dst: "[ch.qos.logback.classic.Level].toLevel(java.lang.String,ch.qos.logback.classic.Level)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.filter.ThresholdFilter].start()"
    functionSourceFile: "ch.qos.logback.classic.filter.ThresholdFilter"
    linkageType: null
    functionLinenumber: 55
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.filter.Filter].start()"
    functionUses: 5
    ICount: 5
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.filter.ThresholdFilter:56"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.filter.ThresholdFilter:59"
        BranchSideFuncs:
        - "start()"
      - BranchSide: "ch.qos.logback.classic.filter.ThresholdFilter:58"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.filter.ThresholdFilter:57,1"
      Dst: "[ch.qos.logback.core.filter.Filter].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.filter.ThresholdFilter].decide(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.filter.ThresholdFilter"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 2
    returnType: "ch.qos.logback.core.spi.FilterReply"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.filter.ThresholdFilter].decide(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.filter.ThresholdFilter:34,1"
      Dst: "[ch.qos.logback.classic.filter.ThresholdFilter].decide(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.filter.ThresholdFilter].decide(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.filter.ThresholdFilter"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 1
    returnType: "ch.qos.logback.core.spi.FilterReply"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.filter.Filter].isStarted()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getLevel()"
    - "[ch.qos.logback.classic.Level].isGreaterOrEqual(ch.qos.logback.classic.Level)"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    functionUses: 1
    ICount: 14
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.filter.ThresholdFilter:40"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.filter.ThresholdFilter:44"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.filter.ThresholdFilter:43"
        BranchSideFuncs:
        - "getLevel()"
        - "isGreaterOrEqual(ch.qos.logback.classic.Level)"
    - Branch String: "ch.qos.logback.classic.filter.ThresholdFilter:44"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.filter.ThresholdFilter:47"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.filter.ThresholdFilter:46"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.filter.ThresholdFilter:40,1"
      Dst: "[ch.qos.logback.core.filter.Filter].isStarted()"
    - Src: "ch.qos.logback.classic.filter.ThresholdFilter:44,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    - Src: "ch.qos.logback.classic.filter.ThresholdFilter:44,1"
      Dst: "[ch.qos.logback.classic.Level].isGreaterOrEqual(ch.qos.logback.classic.Level)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.color.MagentaCompositeConverter].<init>()"
    functionSourceFile: "ch.qos.logback.core.pattern.color.MagentaCompositeConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.color.ForegroundCompositeConverterBase].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.color.MagentaCompositeConverter:24,1"
      Dst: "[ch.qos.logback.core.pattern.color.ForegroundCompositeConverterBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.color.MagentaCompositeConverter].getForegroundColorCode(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.pattern.color.MagentaCompositeConverter"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.FileSize].<init>(long)"
    functionSourceFile: "ch.qos.logback.core.util.FileSize"
    linkageType: null
    functionLinenumber: 49
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 2
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.FileSize:50,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.FileSize].getSize()"
    functionSourceFile: "ch.qos.logback.core.util.FileSize"
    linkageType: null
    functionLinenumber: 54
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 7
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.FileSize].valueOf(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.FileSize"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.util.FileSize"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - "[java.util.regex.Matcher].matches()"
    - "[java.util.regex.Matcher].group(int)"
    - "[java.lang.Long].valueOf(java.lang.String)"
    - "[java.lang.Long].longValue()"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - "[ch.qos.logback.core.util.FileSize].<init>(long)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 37
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.FileSize:62"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.FileSize:80"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.FileSize:79"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.FileSize:67"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.FileSize:69"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.FileSize:68"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.FileSize:69"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.FileSize:71"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.FileSize:70"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.FileSize:71"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.FileSize:73"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.FileSize:72"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.FileSize:73"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.FileSize:76"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.FileSize:75"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.FileSize:59,1"
      Dst: "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - Src: "ch.qos.logback.core.util.FileSize:62,1"
      Dst: "[java.util.regex.Matcher].matches()"
    - Src: "ch.qos.logback.core.util.FileSize:63,1"
      Dst: "[java.util.regex.Matcher].group(int)"
    - Src: "ch.qos.logback.core.util.FileSize:66,1"
      Dst: "[java.lang.Long].valueOf(java.lang.String)"
    - Src: "ch.qos.logback.core.util.FileSize:66,1"
      Dst: "[java.lang.Long].longValue()"
    - Src: "ch.qos.logback.core.util.FileSize:67,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - Src: "ch.qos.logback.core.util.FileSize:76,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.util.FileSize:76,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.util.FileSize:78,1"
      Dst: "[ch.qos.logback.core.util.FileSize].<init>(long)"
    - Src: "ch.qos.logback.core.util.FileSize:80,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 12
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.util.FileSize].<init>(long)"
    functionSourceFile: "ch.qos.logback.core.util.FileSize"
    linkageType: null
    functionLinenumber: 49
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 2
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.FileSize:50,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.FileSize].toString()"
    functionSourceFile: "ch.qos.logback.core.util.FileSize"
    linkageType: null
    functionLinenumber: 85
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(long)"
    functionUses: 3
    ICount: 22
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.FileSize:88"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.FileSize:91"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.FileSize:90"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.FileSize:92"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.FileSize:96"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.FileSize:95"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.FileSize:97"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.FileSize:101"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.FileSize:100"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.FileSize:89,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ConfigurationEvent$EventType].values()"
    functionSourceFile: "ch.qos.logback.core.spi.ConfigurationEvent$EventType"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.core.spi.ConfigurationEvent$EventType[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].clone()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ConfigurationEvent$EventType:29,1"
      Dst: "[java.lang.Object].clone()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ConfigurationEvent$EventType].valueOf(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ConfigurationEvent$EventType"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.core.spi.ConfigurationEvent$EventType"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ConfigurationEvent$EventType:29,1"
      Dst: "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ConfigurationEvent$EventType].<init>(java.lang.String,int)"
    functionSourceFile: "ch.qos.logback.core.spi.ConfigurationEvent$EventType"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].<init>(java.lang.String,int)"
    functionUses: 5
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ConfigurationEvent$EventType:29,1"
      Dst: "[java.lang.Enum].<init>(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ConfigurationEvent$EventType].$values()"
    functionSourceFile: "ch.qos.logback.core.spi.ConfigurationEvent$EventType"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 0
    returnType: "ch.qos.logback.core.spi.ConfigurationEvent$EventType[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 12
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.ServerSocketAppender].<init>()"
    functionSourceFile: "ch.qos.logback.classic.net.server.ServerSocketAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.server.AbstractServerSocketAppender].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.server.ServerSocketAppender:28,1"
      Dst: "[ch.qos.logback.core.net.server.AbstractServerSocketAppender].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.ServerSocketAppender].postProcessEvent(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.net.server.ServerSocketAppender"
    linkageType: null
    functionLinenumber: 35
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.net.server.ServerSocketAppender].isIncludeCallerData()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getCallerData()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getCallerData()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getCallerData()"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.net.server.ServerSocketAppender:36"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.server.ServerSocketAppender:39"
        BranchSideFuncs:
        - "getCallerData()"
      - BranchSide: "ch.qos.logback.classic.net.server.ServerSocketAppender:38"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.server.ServerSocketAppender:36,1"
      Dst: "[ch.qos.logback.classic.net.server.ServerSocketAppender].isIncludeCallerData()"
    - Src: "ch.qos.logback.classic.net.server.ServerSocketAppender:37,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getCallerData()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.net.server.ServerSocketAppender].isIncludeCallerData()"
    functionSourceFile: "ch.qos.logback.classic.net.server.ServerSocketAppender"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.ServerSocketAppender].getPST()"
    functionSourceFile: "ch.qos.logback.classic.net.server.ServerSocketAppender"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "ch.qos.logback.core.spi.PreSerializationTransformer"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.ServerSocketAppender].isIncludeCallerData()"
    functionSourceFile: "ch.qos.logback.classic.net.server.ServerSocketAppender"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.ServerSocketAppender].setIncludeCallerData(boolean)"
    functionSourceFile: "ch.qos.logback.classic.net.server.ServerSocketAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.ServerSocketAppender].postProcessEvent(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.net.server.ServerSocketAppender"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.net.server.ServerSocketAppender].postProcessEvent(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.server.ServerSocketAppender:28,1"
      Dst: "[ch.qos.logback.classic.net.server.ServerSocketAppender].postProcessEvent(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.ServerSocketAppender].postProcessEvent(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.net.server.ServerSocketAppender"
    linkageType: null
    functionLinenumber: 35
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.net.server.ServerSocketAppender].isIncludeCallerData()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getCallerData()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getCallerData()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getCallerData()"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.net.server.ServerSocketAppender:36"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.server.ServerSocketAppender:39"
        BranchSideFuncs:
        - "getCallerData()"
      - BranchSide: "ch.qos.logback.classic.net.server.ServerSocketAppender:38"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.server.ServerSocketAppender:36,1"
      Dst: "[ch.qos.logback.classic.net.server.ServerSocketAppender].isIncludeCallerData()"
    - Src: "ch.qos.logback.classic.net.server.ServerSocketAppender:37,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getCallerData()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.event.EventRecordingLogger].<init>(org.slf4j.helpers.SubstituteLogger,java.util.Queue)"
    functionSourceFile: "org.slf4j.event.EventRecordingLogger"
    linkageType: null
    functionLinenumber: 29
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "org.slf4j.helpers.SubstituteLogger"
    - "java.util.Queue"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.LegacyAbstractLogger].<init>()"
    - "[org.slf4j.helpers.SubstituteLogger].getName()"
    functionUses: 1
    ICount: 9
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.event.EventRecordingLogger:30,1"
      Dst: "[org.slf4j.helpers.LegacyAbstractLogger].<init>()"
    - Src: "org.slf4j.event.EventRecordingLogger:32,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getName()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.EventRecordingLogger].getName()"
    functionSourceFile: "org.slf4j.event.EventRecordingLogger"
    linkageType: null
    functionLinenumber: 36
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.EventRecordingLogger].isTraceEnabled()"
    functionSourceFile: "org.slf4j.event.EventRecordingLogger"
    linkageType: null
    functionLinenumber: 40
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.EventRecordingLogger].isDebugEnabled()"
    functionSourceFile: "org.slf4j.event.EventRecordingLogger"
    linkageType: null
    functionLinenumber: 44
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.EventRecordingLogger].isInfoEnabled()"
    functionSourceFile: "org.slf4j.event.EventRecordingLogger"
    linkageType: null
    functionLinenumber: 48
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.EventRecordingLogger].isWarnEnabled()"
    functionSourceFile: "org.slf4j.event.EventRecordingLogger"
    linkageType: null
    functionLinenumber: 52
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.EventRecordingLogger].isErrorEnabled()"
    functionSourceFile: "org.slf4j.event.EventRecordingLogger"
    linkageType: null
    functionLinenumber: 56
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.EventRecordingLogger].handleNormalizedLoggingCall(org.slf4j.event.Level,org.slf4j.Marker,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "org.slf4j.event.EventRecordingLogger"
    linkageType: null
    functionLinenumber: 61
    functionDepth: 1
    returnType: "void"
    argCount: 5
    argTypes:
    - "org.slf4j.event.Level"
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.event.SubstituteLoggingEvent].<init>()"
    - "[org.slf4j.event.SubstituteLoggingEvent].setTimeStamp(long)"
    - "[org.slf4j.event.SubstituteLoggingEvent].setLevel(org.slf4j.event.Level)"
    - "[org.slf4j.event.SubstituteLoggingEvent].setLogger(org.slf4j.helpers.SubstituteLogger)"
    - "[org.slf4j.event.SubstituteLoggingEvent].setLoggerName(java.lang.String)"
    - "[org.slf4j.event.SubstituteLoggingEvent].addMarker(org.slf4j.Marker)"
    - "[org.slf4j.event.SubstituteLoggingEvent].setMessage(java.lang.String)"
    - "[org.slf4j.event.SubstituteLoggingEvent].setThreadName(java.lang.String)"
    - "[org.slf4j.event.SubstituteLoggingEvent].setArgumentArray(java.lang.Object[])"
    - "[org.slf4j.event.SubstituteLoggingEvent].setThrowable(java.lang.Throwable)"
    - "[java.lang.System].currentTimeMillis()"
    - "[java.lang.Thread].currentThread()"
    - "[java.lang.Thread].getName()"
    - "[java.util.Queue].add(java.lang.Object)"
    functionUses: 2
    ICount: 26
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "org.slf4j.event.EventRecordingLogger:67"
      Branch Sides:
      - BranchSide: "org.slf4j.event.EventRecordingLogger:70"
        BranchSideFuncs:
        - "addMarker(org.slf4j.Marker)"
      - BranchSide: "org.slf4j.event.EventRecordingLogger:69"
        BranchSideFuncs:
        - "setMessage(java.lang.String)"
        - "setThreadName(java.lang.String)"
        - "setArgumentArray(java.lang.Object[])"
        - "setThrowable(java.lang.Throwable)"
    Callsites:
    - Src: "org.slf4j.event.EventRecordingLogger:62,1"
      Dst: "[org.slf4j.event.SubstituteLoggingEvent].<init>()"
    - Src: "org.slf4j.event.EventRecordingLogger:63,1"
      Dst: "[java.lang.System].currentTimeMillis()"
    - Src: "org.slf4j.event.EventRecordingLogger:63,1"
      Dst: "[org.slf4j.event.SubstituteLoggingEvent].setTimeStamp(long)"
    - Src: "org.slf4j.event.EventRecordingLogger:64,1"
      Dst: "[org.slf4j.event.SubstituteLoggingEvent].setLevel(org.slf4j.event.Level)"
    - Src: "org.slf4j.event.EventRecordingLogger:65,1"
      Dst: "[org.slf4j.event.SubstituteLoggingEvent].setLogger(org.slf4j.helpers.SubstituteLogger)"
    - Src: "org.slf4j.event.EventRecordingLogger:66,1"
      Dst: "[org.slf4j.event.SubstituteLoggingEvent].setLoggerName(java.lang.String)"
    - Src: "org.slf4j.event.EventRecordingLogger:68,1"
      Dst: "[org.slf4j.event.SubstituteLoggingEvent].addMarker(org.slf4j.Marker)"
    - Src: "org.slf4j.event.EventRecordingLogger:70,1"
      Dst: "[org.slf4j.event.SubstituteLoggingEvent].setMessage(java.lang.String)"
    - Src: "org.slf4j.event.EventRecordingLogger:71,1"
      Dst: "[java.lang.Thread].currentThread()"
    - Src: "org.slf4j.event.EventRecordingLogger:71,1"
      Dst: "[java.lang.Thread].getName()"
    - Src: "org.slf4j.event.EventRecordingLogger:71,1"
      Dst: "[org.slf4j.event.SubstituteLoggingEvent].setThreadName(java.lang.String)"
    - Src: "org.slf4j.event.EventRecordingLogger:73,1"
      Dst: "[org.slf4j.event.SubstituteLoggingEvent].setArgumentArray(java.lang.Object[])"
    - Src: "org.slf4j.event.EventRecordingLogger:74,1"
      Dst: "[org.slf4j.event.SubstituteLoggingEvent].setThrowable(java.lang.Throwable)"
    - Src: "org.slf4j.event.EventRecordingLogger:76,1"
      Dst: "[java.util.Queue].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.event.SubstituteLoggingEvent].<init>()"
    functionSourceFile: "org.slf4j.event.SubstituteLoggingEvent"
    linkageType: null
    functionLinenumber: 9
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.event.SubstituteLoggingEvent:10,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.SubstituteLoggingEvent].setTimeStamp(long)"
    functionSourceFile: "org.slf4j.event.SubstituteLoggingEvent"
    linkageType: null
    functionLinenumber: 91
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.SubstituteLoggingEvent].setLevel(org.slf4j.event.Level)"
    functionSourceFile: "org.slf4j.event.SubstituteLoggingEvent"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.slf4j.event.Level"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.SubstituteLoggingEvent].setLogger(org.slf4j.helpers.SubstituteLogger)"
    functionSourceFile: "org.slf4j.event.SubstituteLoggingEvent"
    linkageType: null
    functionLinenumber: 59
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.slf4j.helpers.SubstituteLogger"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.SubstituteLoggingEvent].setLoggerName(java.lang.String)"
    functionSourceFile: "org.slf4j.event.SubstituteLoggingEvent"
    linkageType: null
    functionLinenumber: 51
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.SubstituteLoggingEvent].addMarker(org.slf4j.Marker)"
    functionSourceFile: "org.slf4j.event.SubstituteLoggingEvent"
    linkageType: null
    functionLinenumber: 36
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.slf4j.Marker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.util.ArrayList].<init>(int)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 12
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.event.SubstituteLoggingEvent:37"
      Branch Sides:
      - BranchSide: "org.slf4j.event.SubstituteLoggingEvent:40"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.event.SubstituteLoggingEvent:39"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.event.SubstituteLoggingEvent:40"
      Branch Sides:
      - BranchSide: "org.slf4j.event.SubstituteLoggingEvent:44"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.event.SubstituteLoggingEvent:43"
        BranchSideFuncs:
        - "add(java.lang.Object)"
    Callsites:
    - Src: "org.slf4j.event.SubstituteLoggingEvent:41,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    - Src: "org.slf4j.event.SubstituteLoggingEvent:44,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.event.SubstituteLoggingEvent].setMessage(java.lang.String)"
    functionSourceFile: "org.slf4j.event.SubstituteLoggingEvent"
    linkageType: null
    functionLinenumber: 67
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.SubstituteLoggingEvent].setThreadName(java.lang.String)"
    functionSourceFile: "org.slf4j.event.SubstituteLoggingEvent"
    linkageType: null
    functionLinenumber: 99
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.SubstituteLoggingEvent].setArgumentArray(java.lang.Object[])"
    functionSourceFile: "org.slf4j.event.SubstituteLoggingEvent"
    linkageType: null
    functionLinenumber: 75
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.SubstituteLoggingEvent].setThrowable(java.lang.Throwable)"
    functionSourceFile: "org.slf4j.event.SubstituteLoggingEvent"
    linkageType: null
    functionLinenumber: 107
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.EventRecordingLogger].getFullyQualifiedCallerName()"
    functionSourceFile: "org.slf4j.event.EventRecordingLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.DefaultJoranConfigurator].<init>()"
    functionSourceFile: "ch.qos.logback.classic.util.DefaultJoranConfigurator"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:28,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.DefaultJoranConfigurator].configure(ch.qos.logback.classic.LoggerContext)"
    functionSourceFile: "ch.qos.logback.classic.util.DefaultJoranConfigurator"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 6
    returnType: "ch.qos.logback.classic.spi.Configurator$ExecutionStatus"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.LoggerContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.util.DefaultJoranConfigurator].performMultiStepConfigurationFileSearch(boolean)"
    - "[ch.qos.logback.classic.util.DefaultJoranConfigurator].configureByResource(java.net.URL)"
    - "[java.lang.Throwable].printStackTrace()"
    functionUses: 1
    ICount: 12
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.DefaultJoranConfigurator:33"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:41"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:32,1"
      Dst: "[ch.qos.logback.classic.util.DefaultJoranConfigurator].performMultiStepConfigurationFileSearch(boolean)"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:35,1"
      Dst: "[ch.qos.logback.classic.util.DefaultJoranConfigurator].configureByResource(java.net.URL)"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:37,1"
      Dst: "[java.lang.Throwable].printStackTrace()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.DefaultJoranConfigurator].performMultiStepConfigurationFileSearch(boolean)"
    functionSourceFile: "ch.qos.logback.classic.util.DefaultJoranConfigurator"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 5
    returnType: "java.net.URL"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].getClassLoaderOfObject(java.lang.Object)"
    - "[ch.qos.logback.classic.util.DefaultJoranConfigurator].findConfigFileURLFromSystemProperties(java.lang.ClassLoader,boolean)"
    - "[ch.qos.logback.classic.util.DefaultJoranConfigurator].getResource(java.lang.String,java.lang.ClassLoader,boolean)"
    functionUses: 1
    ICount: 11
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.DefaultJoranConfigurator:49"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:53"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:52"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.util.DefaultJoranConfigurator:54"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:58"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:57"
        BranchSideFuncs:
        - "getResource(java.lang.String,java.lang.ClassLoader,boolean)"
    Callsites:
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:47,1"
      Dst: "[ch.qos.logback.core.util.Loader].getClassLoaderOfObject(java.lang.Object)"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:48,1"
      Dst: "[ch.qos.logback.classic.util.DefaultJoranConfigurator].findConfigFileURLFromSystemProperties(java.lang.ClassLoader,boolean)"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:53,1"
      Dst: "[ch.qos.logback.classic.util.DefaultJoranConfigurator].getResource(java.lang.String,java.lang.ClassLoader,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.Loader].getClassLoaderOfObject(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.util.Loader"
    linkageType: null
    functionLinenumber: 142
    functionDepth: 2
    returnType: "java.lang.ClassLoader"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].getClassLoaderOfClass(java.lang.Class)"
    - "[java.lang.NullPointerException].<init>(java.lang.String)"
    - "[java.lang.Object].getClass()"
    functionUses: 5
    ICount: 8
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.Loader:143"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.Loader:146"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.Loader:145"
        BranchSideFuncs:
        - "getClassLoaderOfClass(java.lang.Class)"
    Callsites:
    - Src: "ch.qos.logback.core.util.Loader:144,1"
      Dst: "[java.lang.NullPointerException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.util.Loader:146,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.util.Loader:146,1"
      Dst: "[ch.qos.logback.core.util.Loader].getClassLoaderOfClass(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.DefaultJoranConfigurator].findConfigFileURLFromSystemProperties(java.lang.ClassLoader,boolean)"
    functionSourceFile: "ch.qos.logback.classic.util.DefaultJoranConfigurator"
    linkageType: null
    functionLinenumber: 87
    functionDepth: 4
    returnType: "java.net.URL"
    argCount: 2
    argTypes:
    - "java.lang.ClassLoader"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.OptionHelper].getSystemProperty(java.lang.String)"
    - "[ch.qos.logback.core.util.Loader].getResource(java.lang.String,java.lang.ClassLoader)"
    - "[ch.qos.logback.classic.util.DefaultJoranConfigurator].statusOnResourceSearch(java.lang.String,java.lang.ClassLoader,java.net.URL)"
    - "[java.net.URL].<init>(java.lang.String)"
    - "[java.io.File].<init>(java.lang.String)"
    - "[java.io.File].exists()"
    - "[java.io.File].isFile()"
    - "[java.io.File].toURI()"
    - "[java.net.URI].toURL()"
    functionUses: 1
    ICount: 40
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.DefaultJoranConfigurator:89"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:115"
        BranchSideFuncs:
        - "getResource(java.lang.String,java.lang.ClassLoader)"
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:114"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.util.DefaultJoranConfigurator:110"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:90"
        BranchSideFuncs:
        - "statusOnResourceSearch(java.lang.String,java.lang.ClassLoader,java.net.URL)"
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:89"
        BranchSideFuncs:
        - "getResource(java.lang.String,java.lang.ClassLoader)"
    - Branch String: "ch.qos.logback.classic.util.DefaultJoranConfigurator:98"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:90"
        BranchSideFuncs:
        - "getResource(java.lang.String,java.lang.ClassLoader)"
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:89"
        BranchSideFuncs:
        - "getResource(java.lang.String,java.lang.ClassLoader)"
    - Branch String: "ch.qos.logback.classic.util.DefaultJoranConfigurator:110"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:90"
        BranchSideFuncs:
        - "statusOnResourceSearch(java.lang.String,java.lang.ClassLoader,java.net.URL)"
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:89"
        BranchSideFuncs:
        - "getResource(java.lang.String,java.lang.ClassLoader)"
    - Branch String: "ch.qos.logback.classic.util.DefaultJoranConfigurator:102"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:90"
        BranchSideFuncs:
        - "getResource(java.lang.String,java.lang.ClassLoader)"
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:89"
        BranchSideFuncs:
        - "getResource(java.lang.String,java.lang.ClassLoader)"
    - Branch String: "ch.qos.logback.classic.util.DefaultJoranConfigurator:102"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:90"
        BranchSideFuncs:
        - "getResource(java.lang.String,java.lang.ClassLoader)"
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:89"
        BranchSideFuncs:
        - "getResource(java.lang.String,java.lang.ClassLoader)"
    - Branch String: "ch.qos.logback.classic.util.DefaultJoranConfigurator:110"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:90"
        BranchSideFuncs:
        - "statusOnResourceSearch(java.lang.String,java.lang.ClassLoader,java.net.URL)"
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:89"
        BranchSideFuncs:
        - "getResource(java.lang.String,java.lang.ClassLoader)"
    - Branch String: "ch.qos.logback.classic.util.DefaultJoranConfigurator:110"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:115"
        BranchSideFuncs:
        - "statusOnResourceSearch(java.lang.String,java.lang.ClassLoader,java.net.URL)"
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:114"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.util.DefaultJoranConfigurator:110"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:113"
        BranchSideFuncs:
        - "statusOnResourceSearch(java.lang.String,java.lang.ClassLoader,java.net.URL)"
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:112"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:88,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].getSystemProperty(java.lang.String)"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:92,1"
      Dst: "[java.net.URL].<init>(java.lang.String)"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:111,1"
      Dst: "[ch.qos.logback.classic.util.DefaultJoranConfigurator].statusOnResourceSearch(java.lang.String,java.lang.ClassLoader,java.net.URL)"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:97,1"
      Dst: "[ch.qos.logback.core.util.Loader].getResource(java.lang.String,java.lang.ClassLoader)"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:101,1"
      Dst: "[java.io.File].<init>(java.lang.String)"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:102,1"
      Dst: "[java.io.File].exists()"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:102,1"
      Dst: "[java.io.File].isFile()"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:104,1"
      Dst: "[java.io.File].toURI()"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:104,1"
      Dst: "[java.net.URI].toURL()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 20
    CyclomaticComplexity: 6
  - functionName: "[ch.qos.logback.core.util.OptionHelper].getSystemProperty(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 174
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].getProperty(java.lang.String)"
    functionUses: 4
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:175,1"
      Dst: "[java.lang.System].getProperty(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.DefaultJoranConfigurator].statusOnResourceSearch(java.lang.String,java.lang.ClassLoader,java.net.URL)"
    functionSourceFile: "ch.qos.logback.classic.util.DefaultJoranConfigurator"
    linkageType: null
    functionLinenumber: 126
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.ClassLoader"
    - "java.net.URL"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.BasicStatusManager].add(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.classic.util.DefaultJoranConfigurator].multiplicityWarning(java.lang.String,java.lang.ClassLoader)"
    - "[ch.qos.logback.core.Context].getStatusManager()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    - "[java.net.URL].toString()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    functionUses: 6
    ICount: 21
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.DefaultJoranConfigurator:128"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:131"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:130"
        BranchSideFuncs:
        - "<init>(java.lang.String,java.lang.Object)"
        - "add(ch.qos.logback.core.status.Status)"
        - "multiplicityWarning(java.lang.String,java.lang.ClassLoader)"
    Callsites:
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:127,1"
      Dst: "[ch.qos.logback.core.Context].getStatusManager()"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:129,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:129,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:129,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:131,1"
      Dst: "[java.net.URL].toString()"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:131,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:132,1"
      Dst: "[ch.qos.logback.classic.util.DefaultJoranConfigurator].multiplicityWarning(java.lang.String,java.lang.ClassLoader)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.status.InfoStatus"
    linkageType: null
    functionLinenumber: 17
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    functionUses: 15
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.InfoStatus:18,1"
      Dst: "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.DefaultJoranConfigurator].multiplicityWarning(java.lang.String,java.lang.ClassLoader)"
    functionSourceFile: "ch.qos.logback.classic.util.DefaultJoranConfigurator"
    linkageType: null
    functionLinenumber: 136
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.ClassLoader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].getResources(java.lang.String,java.lang.ClassLoader)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.util.Set].size()"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.net.URL].toString()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    functionUses: 1
    ICount: 24
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.DefaultJoranConfigurator:143"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:149"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:148"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.util.DefaultJoranConfigurator:143"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:149"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:148"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.util.DefaultJoranConfigurator:145"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:149"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:148"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:139,1"
      Dst: "[ch.qos.logback.core.util.Loader].getResources(java.lang.String,java.lang.ClassLoader)"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:141,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:141,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:143,1"
      Dst: "[java.util.Set].size()"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:144,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:145,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:145,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:145,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:146,1"
      Dst: "[java.net.URL].toString()"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:146,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.util.Loader].getResources(java.lang.String,java.lang.ClassLoader)"
    functionSourceFile: "ch.qos.logback.core.util.Loader"
    linkageType: null
    functionLinenumber: 83
    functionDepth: 0
    returnType: "java.util.Set"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.ClassLoader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashSet].<init>()"
    - "[java.lang.ClassLoader].getResources(java.lang.String)"
    - "[java.util.Enumeration].hasMoreElements()"
    - "[java.util.Enumeration].nextElement()"
    - "[java.util.Set].add(java.lang.Object)"
    functionUses: 1
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.Loader:86"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.Loader:90"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.Loader:89"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.Loader:84,1"
      Dst: "[java.util.HashSet].<init>()"
    - Src: "ch.qos.logback.core.util.Loader:85,1"
      Dst: "[java.lang.ClassLoader].getResources(java.lang.String)"
    - Src: "ch.qos.logback.core.util.Loader:86,1"
      Dst: "[java.util.Enumeration].hasMoreElements()"
    - Src: "ch.qos.logback.core.util.Loader:87,1"
      Dst: "[java.util.Enumeration].nextElement()"
    - Src: "ch.qos.logback.core.util.Loader:88,1"
      Dst: "[java.util.Set].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 74
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 96
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.Loader].getResource(java.lang.String,java.lang.ClassLoader)"
    functionSourceFile: "ch.qos.logback.core.util.Loader"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 0
    returnType: "java.net.URL"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.ClassLoader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ClassLoader].getResource(java.lang.String)"
    functionUses: 6
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.Loader:101,1"
      Dst: "[java.lang.ClassLoader].getResource(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.DefaultJoranConfigurator].getResource(java.lang.String,java.lang.ClassLoader,boolean)"
    functionSourceFile: "ch.qos.logback.classic.util.DefaultJoranConfigurator"
    linkageType: null
    functionLinenumber: 118
    functionDepth: 4
    returnType: "java.net.URL"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.ClassLoader"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].getResource(java.lang.String,java.lang.ClassLoader)"
    - "[ch.qos.logback.classic.util.DefaultJoranConfigurator].statusOnResourceSearch(java.lang.String,java.lang.ClassLoader,java.net.URL)"
    functionUses: 2
    ICount: 8
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.DefaultJoranConfigurator:120"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:123"
        BranchSideFuncs:
        - "statusOnResourceSearch(java.lang.String,java.lang.ClassLoader,java.net.URL)"
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:122"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:119,1"
      Dst: "[ch.qos.logback.core.util.Loader].getResource(java.lang.String,java.lang.ClassLoader)"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:121,1"
      Dst: "[ch.qos.logback.classic.util.DefaultJoranConfigurator].statusOnResourceSearch(java.lang.String,java.lang.ClassLoader,java.net.URL)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.util.DefaultJoranConfigurator].configureByResource(java.net.URL)"
    functionSourceFile: "ch.qos.logback.classic.util.DefaultJoranConfigurator"
    linkageType: null
    functionLinenumber: 60
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.net.URL"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator].<init>()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.joran.GenericXMLConfigurator].doConfigure(java.net.URL)"
    - "[ch.qos.logback.core.LogbackException].<init>(java.lang.String)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.net.URL].toString()"
    - "[java.lang.String].endsWith(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 21
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.DefaultJoranConfigurator:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:64"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:63"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.util.DefaultJoranConfigurator:65"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:70"
        BranchSideFuncs:
        - "<init>()"
        - "doConfigure(java.net.URL)"
        - "setContext(ch.qos.logback.core.Context)"
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:69"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:62,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:64,1"
      Dst: "[java.net.URL].toString()"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:65,1"
      Dst: "[java.lang.String].endsWith(java.lang.String)"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:66,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator].<init>()"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:67,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:68,1"
      Dst: "[ch.qos.logback.core.joran.GenericXMLConfigurator].doConfigure(java.net.URL)"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:71,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:71,1"
      Dst: "[ch.qos.logback.core.LogbackException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase].<init>()"
    functionUses: 7
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:43,1"
      Dst: "[ch.qos.logback.core.joran.JoranConfiguratorBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 67
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:45"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:44"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:47"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:46,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.LogbackException].<init>(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.LogbackException"
    linkageType: null
    functionLinenumber: 20
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.RuntimeException].<init>(java.lang.String)"
    functionUses: 3
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.LogbackException:21,1"
      Dst: "[java.lang.RuntimeException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.DefaultJoranConfigurator].performMultiStepConfigurationFileSearch(boolean)"
    functionSourceFile: "ch.qos.logback.classic.util.DefaultJoranConfigurator"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 5
    returnType: "java.net.URL"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].getClassLoaderOfObject(java.lang.Object)"
    - "[ch.qos.logback.classic.util.DefaultJoranConfigurator].findConfigFileURLFromSystemProperties(java.lang.ClassLoader,boolean)"
    - "[ch.qos.logback.classic.util.DefaultJoranConfigurator].getResource(java.lang.String,java.lang.ClassLoader,boolean)"
    functionUses: 1
    ICount: 11
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.DefaultJoranConfigurator:49"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:53"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:52"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.util.DefaultJoranConfigurator:54"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:58"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:57"
        BranchSideFuncs:
        - "getResource(java.lang.String,java.lang.ClassLoader,boolean)"
    Callsites:
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:47,1"
      Dst: "[ch.qos.logback.core.util.Loader].getClassLoaderOfObject(java.lang.Object)"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:48,1"
      Dst: "[ch.qos.logback.classic.util.DefaultJoranConfigurator].findConfigFileURLFromSystemProperties(java.lang.ClassLoader,boolean)"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:53,1"
      Dst: "[ch.qos.logback.classic.util.DefaultJoranConfigurator].getResource(java.lang.String,java.lang.ClassLoader,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.DefaultJoranConfigurator].configureByResource(java.net.URL)"
    functionSourceFile: "ch.qos.logback.classic.util.DefaultJoranConfigurator"
    linkageType: null
    functionLinenumber: 60
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.net.URL"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator].<init>()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.joran.GenericXMLConfigurator].doConfigure(java.net.URL)"
    - "[ch.qos.logback.core.LogbackException].<init>(java.lang.String)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.net.URL].toString()"
    - "[java.lang.String].endsWith(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 21
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.DefaultJoranConfigurator:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:64"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:63"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.util.DefaultJoranConfigurator:65"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:70"
        BranchSideFuncs:
        - "<init>()"
        - "doConfigure(java.net.URL)"
        - "setContext(ch.qos.logback.core.Context)"
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:69"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:62,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:64,1"
      Dst: "[java.net.URL].toString()"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:65,1"
      Dst: "[java.lang.String].endsWith(java.lang.String)"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:66,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator].<init>()"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:67,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:68,1"
      Dst: "[ch.qos.logback.core.joran.GenericXMLConfigurator].doConfigure(java.net.URL)"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:71,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:71,1"
      Dst: "[ch.qos.logback.core.LogbackException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.DefaultJoranConfigurator].findURLOfDefaultConfigurationFile(boolean)"
    functionSourceFile: "ch.qos.logback.classic.util.DefaultJoranConfigurator"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 6
    returnType: "java.net.URL"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.util.DefaultJoranConfigurator].performMultiStepConfigurationFileSearch(boolean)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:84,1"
      Dst: "[ch.qos.logback.classic.util.DefaultJoranConfigurator].performMultiStepConfigurationFileSearch(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.DefaultJoranConfigurator].performMultiStepConfigurationFileSearch(boolean)"
    functionSourceFile: "ch.qos.logback.classic.util.DefaultJoranConfigurator"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 5
    returnType: "java.net.URL"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].getClassLoaderOfObject(java.lang.Object)"
    - "[ch.qos.logback.classic.util.DefaultJoranConfigurator].findConfigFileURLFromSystemProperties(java.lang.ClassLoader,boolean)"
    - "[ch.qos.logback.classic.util.DefaultJoranConfigurator].getResource(java.lang.String,java.lang.ClassLoader,boolean)"
    functionUses: 1
    ICount: 11
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.DefaultJoranConfigurator:49"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:53"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:52"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.util.DefaultJoranConfigurator:54"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:58"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:57"
        BranchSideFuncs:
        - "getResource(java.lang.String,java.lang.ClassLoader,boolean)"
    Callsites:
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:47,1"
      Dst: "[ch.qos.logback.core.util.Loader].getClassLoaderOfObject(java.lang.Object)"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:48,1"
      Dst: "[ch.qos.logback.classic.util.DefaultJoranConfigurator].findConfigFileURLFromSystemProperties(java.lang.ClassLoader,boolean)"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:53,1"
      Dst: "[ch.qos.logback.classic.util.DefaultJoranConfigurator].getResource(java.lang.String,java.lang.ClassLoader,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.DefaultJoranConfigurator].findConfigFileURLFromSystemProperties(java.lang.ClassLoader,boolean)"
    functionSourceFile: "ch.qos.logback.classic.util.DefaultJoranConfigurator"
    linkageType: null
    functionLinenumber: 87
    functionDepth: 4
    returnType: "java.net.URL"
    argCount: 2
    argTypes:
    - "java.lang.ClassLoader"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.OptionHelper].getSystemProperty(java.lang.String)"
    - "[ch.qos.logback.core.util.Loader].getResource(java.lang.String,java.lang.ClassLoader)"
    - "[ch.qos.logback.classic.util.DefaultJoranConfigurator].statusOnResourceSearch(java.lang.String,java.lang.ClassLoader,java.net.URL)"
    - "[java.net.URL].<init>(java.lang.String)"
    - "[java.io.File].<init>(java.lang.String)"
    - "[java.io.File].exists()"
    - "[java.io.File].isFile()"
    - "[java.io.File].toURI()"
    - "[java.net.URI].toURL()"
    functionUses: 1
    ICount: 40
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.DefaultJoranConfigurator:89"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:115"
        BranchSideFuncs:
        - "getResource(java.lang.String,java.lang.ClassLoader)"
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:114"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.util.DefaultJoranConfigurator:110"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:90"
        BranchSideFuncs:
        - "statusOnResourceSearch(java.lang.String,java.lang.ClassLoader,java.net.URL)"
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:89"
        BranchSideFuncs:
        - "getResource(java.lang.String,java.lang.ClassLoader)"
    - Branch String: "ch.qos.logback.classic.util.DefaultJoranConfigurator:98"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:90"
        BranchSideFuncs:
        - "getResource(java.lang.String,java.lang.ClassLoader)"
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:89"
        BranchSideFuncs:
        - "getResource(java.lang.String,java.lang.ClassLoader)"
    - Branch String: "ch.qos.logback.classic.util.DefaultJoranConfigurator:110"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:90"
        BranchSideFuncs:
        - "statusOnResourceSearch(java.lang.String,java.lang.ClassLoader,java.net.URL)"
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:89"
        BranchSideFuncs:
        - "getResource(java.lang.String,java.lang.ClassLoader)"
    - Branch String: "ch.qos.logback.classic.util.DefaultJoranConfigurator:102"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:90"
        BranchSideFuncs:
        - "getResource(java.lang.String,java.lang.ClassLoader)"
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:89"
        BranchSideFuncs:
        - "getResource(java.lang.String,java.lang.ClassLoader)"
    - Branch String: "ch.qos.logback.classic.util.DefaultJoranConfigurator:102"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:90"
        BranchSideFuncs:
        - "getResource(java.lang.String,java.lang.ClassLoader)"
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:89"
        BranchSideFuncs:
        - "getResource(java.lang.String,java.lang.ClassLoader)"
    - Branch String: "ch.qos.logback.classic.util.DefaultJoranConfigurator:110"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:90"
        BranchSideFuncs:
        - "statusOnResourceSearch(java.lang.String,java.lang.ClassLoader,java.net.URL)"
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:89"
        BranchSideFuncs:
        - "getResource(java.lang.String,java.lang.ClassLoader)"
    - Branch String: "ch.qos.logback.classic.util.DefaultJoranConfigurator:110"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:115"
        BranchSideFuncs:
        - "statusOnResourceSearch(java.lang.String,java.lang.ClassLoader,java.net.URL)"
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:114"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.util.DefaultJoranConfigurator:110"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:113"
        BranchSideFuncs:
        - "statusOnResourceSearch(java.lang.String,java.lang.ClassLoader,java.net.URL)"
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:112"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:88,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].getSystemProperty(java.lang.String)"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:92,1"
      Dst: "[java.net.URL].<init>(java.lang.String)"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:111,1"
      Dst: "[ch.qos.logback.classic.util.DefaultJoranConfigurator].statusOnResourceSearch(java.lang.String,java.lang.ClassLoader,java.net.URL)"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:97,1"
      Dst: "[ch.qos.logback.core.util.Loader].getResource(java.lang.String,java.lang.ClassLoader)"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:101,1"
      Dst: "[java.io.File].<init>(java.lang.String)"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:102,1"
      Dst: "[java.io.File].exists()"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:102,1"
      Dst: "[java.io.File].isFile()"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:104,1"
      Dst: "[java.io.File].toURI()"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:104,1"
      Dst: "[java.net.URI].toURL()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 20
    CyclomaticComplexity: 6
  - functionName: "[ch.qos.logback.classic.util.DefaultJoranConfigurator].getResource(java.lang.String,java.lang.ClassLoader,boolean)"
    functionSourceFile: "ch.qos.logback.classic.util.DefaultJoranConfigurator"
    linkageType: null
    functionLinenumber: 118
    functionDepth: 4
    returnType: "java.net.URL"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.ClassLoader"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].getResource(java.lang.String,java.lang.ClassLoader)"
    - "[ch.qos.logback.classic.util.DefaultJoranConfigurator].statusOnResourceSearch(java.lang.String,java.lang.ClassLoader,java.net.URL)"
    functionUses: 2
    ICount: 8
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.DefaultJoranConfigurator:120"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:123"
        BranchSideFuncs:
        - "statusOnResourceSearch(java.lang.String,java.lang.ClassLoader,java.net.URL)"
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:122"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:119,1"
      Dst: "[ch.qos.logback.core.util.Loader].getResource(java.lang.String,java.lang.ClassLoader)"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:121,1"
      Dst: "[ch.qos.logback.classic.util.DefaultJoranConfigurator].statusOnResourceSearch(java.lang.String,java.lang.ClassLoader,java.net.URL)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.util.DefaultJoranConfigurator].statusOnResourceSearch(java.lang.String,java.lang.ClassLoader,java.net.URL)"
    functionSourceFile: "ch.qos.logback.classic.util.DefaultJoranConfigurator"
    linkageType: null
    functionLinenumber: 126
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.ClassLoader"
    - "java.net.URL"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.BasicStatusManager].add(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.classic.util.DefaultJoranConfigurator].multiplicityWarning(java.lang.String,java.lang.ClassLoader)"
    - "[ch.qos.logback.core.Context].getStatusManager()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    - "[java.net.URL].toString()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    functionUses: 6
    ICount: 21
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.DefaultJoranConfigurator:128"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:131"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:130"
        BranchSideFuncs:
        - "<init>(java.lang.String,java.lang.Object)"
        - "add(ch.qos.logback.core.status.Status)"
        - "multiplicityWarning(java.lang.String,java.lang.ClassLoader)"
    Callsites:
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:127,1"
      Dst: "[ch.qos.logback.core.Context].getStatusManager()"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:129,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:129,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:129,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:131,1"
      Dst: "[java.net.URL].toString()"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:131,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:132,1"
      Dst: "[ch.qos.logback.classic.util.DefaultJoranConfigurator].multiplicityWarning(java.lang.String,java.lang.ClassLoader)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.util.DefaultJoranConfigurator].multiplicityWarning(java.lang.String,java.lang.ClassLoader)"
    functionSourceFile: "ch.qos.logback.classic.util.DefaultJoranConfigurator"
    linkageType: null
    functionLinenumber: 136
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.ClassLoader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].getResources(java.lang.String,java.lang.ClassLoader)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.util.Set].size()"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.net.URL].toString()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    functionUses: 1
    ICount: 24
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.DefaultJoranConfigurator:143"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:149"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:148"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.util.DefaultJoranConfigurator:143"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:149"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:148"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.util.DefaultJoranConfigurator:145"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:149"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.util.DefaultJoranConfigurator:148"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:139,1"
      Dst: "[ch.qos.logback.core.util.Loader].getResources(java.lang.String,java.lang.ClassLoader)"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:141,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:141,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:143,1"
      Dst: "[java.util.Set].size()"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:144,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:145,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:145,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:145,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:146,1"
      Dst: "[java.net.URL].toString()"
    - Src: "ch.qos.logback.classic.util.DefaultJoranConfigurator:146,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.classic.spi.LoggerContextVO].<init>(ch.qos.logback.classic.LoggerContext)"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggerContextVO"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.LoggerContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getName()"
    - "[ch.qos.logback.core.ContextBase].getCopyOfPropertyMap()"
    - "[ch.qos.logback.core.ContextBase].getBirthTime()"
    - "[java.lang.Object].<init>()"
    functionUses: 2
    ICount: 10
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggerContextVO:44,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.classic.spi.LoggerContextVO:45,1"
      Dst: "[ch.qos.logback.core.ContextBase].getName()"
    - Src: "ch.qos.logback.classic.spi.LoggerContextVO:46,1"
      Dst: "[ch.qos.logback.core.ContextBase].getCopyOfPropertyMap()"
    - Src: "ch.qos.logback.classic.spi.LoggerContextVO:47,1"
      Dst: "[ch.qos.logback.core.ContextBase].getBirthTime()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggerContextVO].<init>(java.lang.String,java.util.Map,long)"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggerContextVO"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.util.Map"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggerContextVO:50,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggerContextVO].getName()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggerContextVO"
    linkageType: null
    functionLinenumber: 56
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggerContextVO].getPropertyMap()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggerContextVO"
    linkageType: null
    functionLinenumber: 60
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggerContextVO].getBirthTime()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggerContextVO"
    linkageType: null
    functionLinenumber: 64
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggerContextVO].toString()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggerContextVO"
    linkageType: null
    functionLinenumber: 69
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.util.Map,long)"
    functionUses: 3
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggerContextVO:70,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.util.Map,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggerContextVO].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggerContextVO"
    linkageType: null
    functionLinenumber: 75
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.util.Map].equals(java.lang.Object)"
    functionUses: 6
    ICount: 34
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.LoggerContextVO:76"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggerContextVO:78"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggerContextVO:77"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggerContextVO:78"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggerContextVO:81"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggerContextVO:80"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggerContextVO:83"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggerContextVO:85"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggerContextVO:84"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggerContextVO:85"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggerContextVO:85"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggerContextVO:84"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggerContextVO:85"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggerContextVO:87"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggerContextVO:86"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggerContextVO:85"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggerContextVO:87"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggerContextVO:86"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggerContextVO:87"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggerContextVO:87"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggerContextVO:86"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggerContextVO:87"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggerContextVO:90"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggerContextVO:89"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggerContextVO:87"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggerContextVO:90"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggerContextVO:89"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggerContextVO:85,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "ch.qos.logback.classic.spi.LoggerContextVO:87,1"
      Dst: "[java.util.Map].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 17
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.classic.spi.LoggerContextVO].hashCode()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggerContextVO"
    linkageType: null
    functionLinenumber: 94
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].hashCode()"
    - "[java.util.Map].hashCode()"
    functionUses: 4
    ICount: 23
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.LoggerContextVO:95"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggerContextVO:95"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggerContextVO:94"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggerContextVO:96"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggerContextVO:96"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggerContextVO:95"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggerContextVO:95,1"
      Dst: "[java.lang.String].hashCode()"
    - Src: "ch.qos.logback.classic.spi.LoggerContextVO:96,1"
      Dst: "[java.util.Map].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__71].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__71"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__71].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__71:-1,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__71].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__71].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__71"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__71:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__71].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__71"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ShutdownHookModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__71:-1,1"
      Dst: "[ch.qos.logback.core.model.processor.ShutdownHookModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ShutdownHookModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ShutdownHookModelHandler"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ShutdownHookModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ShutdownHookModelHandler:40,1"
      Dst: "[ch.qos.logback.core.model.processor.ShutdownHookModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.server.RemoteReceiverServerListener].<init>(java.net.ServerSocket)"
    functionSourceFile: "ch.qos.logback.core.net.server.RemoteReceiverServerListener"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.net.ServerSocket"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.server.ServerSocketListener].<init>(java.net.ServerSocket)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.server.RemoteReceiverServerListener:35,1"
      Dst: "[ch.qos.logback.core.net.server.ServerSocketListener].<init>(java.net.ServerSocket)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.server.RemoteReceiverServerListener].createClient(java.lang.String,java.net.Socket)"
    functionSourceFile: "ch.qos.logback.core.net.server.RemoteReceiverServerListener"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 2
    returnType: "ch.qos.logback.core.net.server.RemoteReceiverClient"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.net.Socket"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.server.RemoteReceiverStreamClient].<init>(java.lang.String,java.net.Socket)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.server.RemoteReceiverServerListener:43,1"
      Dst: "[ch.qos.logback.core.net.server.RemoteReceiverStreamClient].<init>(java.lang.String,java.net.Socket)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.server.RemoteReceiverStreamClient].<init>(java.lang.String,java.net.Socket)"
    functionSourceFile: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient"
    linkageType: null
    functionLinenumber: 47
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.net.Socket"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:48,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - Src: "ch.qos.logback.core.net.server.RemoteReceiverStreamClient:49,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 34
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:34,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.color.CyanCompositeConverter].<init>()"
    functionSourceFile: "ch.qos.logback.core.pattern.color.CyanCompositeConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.color.ForegroundCompositeConverterBase].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.color.CyanCompositeConverter:24,1"
      Dst: "[ch.qos.logback.core.pattern.color.ForegroundCompositeConverterBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.color.CyanCompositeConverter].getForegroundColorCode(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.pattern.color.CyanCompositeConverter"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.action.ContextNameAction].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.action.ContextNameAction"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.action.ContextNameAction:23,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.action.ContextNameAction].buildCurrentModel(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.classic.joran.action.ContextNameAction"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 3
    returnType: "ch.qos.logback.core.model.Model"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.model.ContextNameModel].<init>()"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.action.ContextNameAction:28,1"
      Dst: "[ch.qos.logback.classic.model.ContextNameModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.ContextNameModel].<init>()"
    functionSourceFile: "ch.qos.logback.classic.model.ContextNameModel"
    linkageType: null
    functionLinenumber: 4
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.NamedModel].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.ContextNameModel:5,1"
      Dst: "[ch.qos.logback.core.model.NamedModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.recovery.ResilientSyslogOutputStream].<init>(java.lang.String,int)"
    functionSourceFile: "ch.qos.logback.core.recovery.ResilientSyslogOutputStream"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.recovery.ResilientOutputStreamBase].<init>()"
    - "[ch.qos.logback.core.net.SyslogOutputStream].<init>(java.lang.String,int)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.recovery.ResilientSyslogOutputStream:28,1"
      Dst: "[ch.qos.logback.core.recovery.ResilientOutputStreamBase].<init>()"
    - Src: "ch.qos.logback.core.recovery.ResilientSyslogOutputStream:31,1"
      Dst: "[ch.qos.logback.core.net.SyslogOutputStream].<init>(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.recovery.ResilientSyslogOutputStream].getDescription()"
    functionSourceFile: "ch.qos.logback.core.recovery.ResilientSyslogOutputStream"
    linkageType: null
    functionLinenumber: 36
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int)"
    functionUses: 5
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.recovery.ResilientSyslogOutputStream:37,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.recovery.ResilientSyslogOutputStream].openNewOutputStream()"
    functionSourceFile: "ch.qos.logback.core.recovery.ResilientSyslogOutputStream"
    linkageType: null
    functionLinenumber: 41
    functionDepth: 1
    returnType: "java.io.OutputStream"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.SyslogOutputStream].<init>(java.lang.String,int)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.recovery.ResilientSyslogOutputStream:42,1"
      Dst: "[ch.qos.logback.core.net.SyslogOutputStream].<init>(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.SyslogOutputStream].<init>(java.lang.String,int)"
    functionSourceFile: "ch.qos.logback.core.net.SyslogOutputStream"
    linkageType: null
    functionLinenumber: 41
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.OutputStream].<init>()"
    - "[java.io.ByteArrayOutputStream].<init>()"
    - "[java.net.InetAddress].getByName(java.lang.String)"
    - "[java.net.DatagramSocket].<init>()"
    functionUses: 2
    ICount: 14
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.SyslogOutputStream:42,1"
      Dst: "[java.io.OutputStream].<init>()"
    - Src: "ch.qos.logback.core.net.SyslogOutputStream:39,1"
      Dst: "[java.io.ByteArrayOutputStream].<init>()"
    - Src: "ch.qos.logback.core.net.SyslogOutputStream:43,1"
      Dst: "[java.net.InetAddress].getByName(java.lang.String)"
    - Src: "ch.qos.logback.core.net.SyslogOutputStream:45,1"
      Dst: "[java.net.DatagramSocket].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.recovery.ResilientSyslogOutputStream].toString()"
    functionSourceFile: "ch.qos.logback.core.recovery.ResilientSyslogOutputStream"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].identityHashCode(java.lang.Object)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    functionUses: 3
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.recovery.ResilientSyslogOutputStream:47,1"
      Dst: "[java.lang.System].identityHashCode(java.lang.Object)"
    - Src: "ch.qos.logback.core.recovery.ResilientSyslogOutputStream:47,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.ClassicConstants].<init>()"
    functionSourceFile: "ch.qos.logback.classic.ClassicConstants"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.ClassicConstants:21,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__84].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__84"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__84].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__84:-1,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__84].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__84].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__84"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__84:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__84].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__84"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.conditional.ElseModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__84:-1,1"
      Dst: "[ch.qos.logback.core.model.processor.conditional.ElseModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.conditional.ElseModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.conditional.ElseModelHandler"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.conditional.ElseModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.conditional.ElseModelHandler:32,1"
      Dst: "[ch.qos.logback.core.model.processor.conditional.ElseModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.AppenderRefAction].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.action.AppenderRefAction"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 3
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.AppenderRefAction:23,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.AppenderRefAction].validPreconditions(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.AppenderRefAction"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 4
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].<init>(ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].validateRefAttribute()"
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].isValid()"
    functionUses: 1
    ICount: 9
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.AppenderRefAction:27,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].<init>(ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    - Src: "ch.qos.logback.core.joran.action.AppenderRefAction:28,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].validateRefAttribute()"
    - Src: "ch.qos.logback.core.joran.action.AppenderRefAction:29,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].isValid()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].<init>(ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 1
    returnType: "void"
    argCount: 4
    argTypes:
    - "ch.qos.logback.core.spi.ContextAware"
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>(ch.qos.logback.core.spi.ContextAware)"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].getContext()"
    - "[ch.qos.logback.core.pattern.DynamicConverter].getContext()"
    - "[ch.qos.logback.core.LayoutBase:ch.qos.logback.core.spi.ContextAwareBase:ch.qos.logback.core.spi.ContextAwareImpl].getContext()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAware].getContext()"
    functionUses: 16
    ICount: 13
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:33,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>(ch.qos.logback.core.spi.ContextAware)"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:34,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].getContext()"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:34,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].validateRefAttribute()"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 65
    functionDepth: 3
    returnType: "ch.qos.logback.core.joran.action.PreconditionValidator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].generic(java.lang.String)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:66,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].generic(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].isValid()"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 79
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 16
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.AppenderRefAction].buildCurrentModel(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.AppenderRefAction"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.Model"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.AppenderRefModel].<init>()"
    - "[org.xml.sax.helpers.AttributesImpl].getValue(java.lang.String)"
    - "[ch.qos.logback.core.model.AppenderRefModel].setRef(java.lang.String)"
    - "[org.xml.sax.Attributes].getValue(java.lang.String)"
    functionUses: 1
    ICount: 9
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.AppenderRefAction:35,1"
      Dst: "[ch.qos.logback.core.model.AppenderRefModel].<init>()"
    - Src: "ch.qos.logback.core.joran.action.AppenderRefAction:36,1"
      Dst: "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.AppenderRefAction:37,1"
      Dst: "[ch.qos.logback.core.model.AppenderRefModel].setRef(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.AppenderRefModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.AppenderRefModel"
    linkageType: null
    functionLinenumber: 21
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.AppenderRefModel:22,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.ArrayList].<init>()"
    functionUses: 16
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:27,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.model.Model:40,1"
      Dst: "[java.util.ArrayList].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.AppenderRefModel].setRef(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.AppenderRefModel"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ConfigurationEvent].<init>(ch.qos.logback.core.spi.ConfigurationEvent$EventType,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.spi.ConfigurationEvent"
    linkageType: null
    functionLinenumber: 45
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.spi.ConfigurationEvent$EventType"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 5
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ConfigurationEvent:46,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ConfigurationEvent].newConfigurationChangeDetectorRunningEvent(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.spi.ConfigurationEvent"
    linkageType: null
    functionLinenumber: 51
    functionDepth: 1
    returnType: "ch.qos.logback.core.spi.ConfigurationEvent"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ConfigurationEvent].<init>(ch.qos.logback.core.spi.ConfigurationEvent$EventType,java.lang.Object)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ConfigurationEvent:52,1"
      Dst: "[ch.qos.logback.core.spi.ConfigurationEvent].<init>(ch.qos.logback.core.spi.ConfigurationEvent$EventType,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ConfigurationEvent].newConfigurationChangeDetectorRegisteredEvent(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.spi.ConfigurationEvent"
    linkageType: null
    functionLinenumber: 55
    functionDepth: 1
    returnType: "ch.qos.logback.core.spi.ConfigurationEvent"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ConfigurationEvent].<init>(ch.qos.logback.core.spi.ConfigurationEvent$EventType,java.lang.Object)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ConfigurationEvent:56,1"
      Dst: "[ch.qos.logback.core.spi.ConfigurationEvent].<init>(ch.qos.logback.core.spi.ConfigurationEvent$EventType,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ConfigurationEvent].newConfigurationChangeDetectedEvent(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.spi.ConfigurationEvent"
    linkageType: null
    functionLinenumber: 58
    functionDepth: 1
    returnType: "ch.qos.logback.core.spi.ConfigurationEvent"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ConfigurationEvent].<init>(ch.qos.logback.core.spi.ConfigurationEvent$EventType,java.lang.Object)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ConfigurationEvent:59,1"
      Dst: "[ch.qos.logback.core.spi.ConfigurationEvent].<init>(ch.qos.logback.core.spi.ConfigurationEvent$EventType,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ConfigurationEvent].newConfigurationStartedEvent(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.spi.ConfigurationEvent"
    linkageType: null
    functionLinenumber: 61
    functionDepth: 1
    returnType: "ch.qos.logback.core.spi.ConfigurationEvent"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ConfigurationEvent].<init>(ch.qos.logback.core.spi.ConfigurationEvent$EventType,java.lang.Object)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ConfigurationEvent:62,1"
      Dst: "[ch.qos.logback.core.spi.ConfigurationEvent].<init>(ch.qos.logback.core.spi.ConfigurationEvent$EventType,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ConfigurationEvent].<init>(ch.qos.logback.core.spi.ConfigurationEvent$EventType,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.spi.ConfigurationEvent"
    linkageType: null
    functionLinenumber: 45
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.spi.ConfigurationEvent$EventType"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 5
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ConfigurationEvent:46,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ConfigurationEvent].newConfigurationEndedEvent(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.spi.ConfigurationEvent"
    linkageType: null
    functionLinenumber: 64
    functionDepth: 1
    returnType: "ch.qos.logback.core.spi.ConfigurationEvent"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ConfigurationEvent].<init>(ch.qos.logback.core.spi.ConfigurationEvent$EventType,java.lang.Object)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ConfigurationEvent:65,1"
      Dst: "[ch.qos.logback.core.spi.ConfigurationEvent].<init>(ch.qos.logback.core.spi.ConfigurationEvent$EventType,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ConfigurationEvent].getEventType()"
    functionSourceFile: "ch.qos.logback.core.spi.ConfigurationEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.core.spi.ConfigurationEvent$EventType"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ConfigurationEvent].getData()"
    functionSourceFile: "ch.qos.logback.core.spi.ConfigurationEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ConfigurationEvent].toString()"
    functionSourceFile: "ch.qos.logback.core.spi.ConfigurationEvent"
    linkageType: null
    functionLinenumber: 78
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.ConfigurationEvent$EventType,java.lang.Object)"
    functionUses: 3
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ConfigurationEvent:79,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.ConfigurationEvent$EventType,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__99].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__99"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__99].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__99:-1,1"
      Dst: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__99].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__99].<init>()"
    functionSourceFile: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__99"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__99:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__99].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__99"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ImplicitModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__99:-1,1"
      Dst: "[ch.qos.logback.core.model.processor.ImplicitModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ImplicitModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ImplicitModelHandler"
    linkageType: null
    functionLinenumber: 51
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ImplicitModelHandler"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getBeanDescriptionCache()"
    - "[ch.qos.logback.core.model.processor.ImplicitModelHandler].<init>(ch.qos.logback.core.Context,ch.qos.logback.core.joran.util.beans.BeanDescriptionCache)"
    functionUses: 2
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:52,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getBeanDescriptionCache()"
    - Src: "ch.qos.logback.core.model.processor.ImplicitModelHandler:53,1"
      Dst: "[ch.qos.logback.core.model.processor.ImplicitModelHandler].<init>(ch.qos.logback.core.Context,ch.qos.logback.core.joran.util.beans.BeanDescriptionCache)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.SaxEventRecorder].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEventRecorder"
    linkageType: null
    functionLinenumber: 48
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].<init>(ch.qos.logback.core.Context,ch.qos.logback.core.joran.spi.ElementPath)"
    - "[ch.qos.logback.core.joran.spi.ElementPath].<init>()"
    functionUses: 2
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:49,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].<init>()"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:49,1"
      Dst: "[ch.qos.logback.core.joran.event.SaxEventRecorder].<init>(ch.qos.logback.core.Context,ch.qos.logback.core.joran.spi.ElementPath)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.SaxEventRecorder].<init>(ch.qos.logback.core.Context,ch.qos.logback.core.joran.spi.ElementPath)"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEventRecorder"
    linkageType: null
    functionLinenumber: 51
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.joran.spi.ElementPath"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.xml.sax.helpers.DefaultHandler].<init>()"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].<init>(ch.qos.logback.core.Context,java.lang.Object)"
    - "[java.util.ArrayList].<init>()"
    functionUses: 1
    ICount: 12
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:52,1"
      Dst: "[org.xml.sax.helpers.DefaultHandler].<init>()"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:45,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:53,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].<init>(ch.qos.logback.core.Context,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.SaxEventRecorder].recordEvents(java.io.InputStream)"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEventRecorder"
    linkageType: null
    functionLinenumber: 57
    functionDepth: 5
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.InputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.xml.sax.InputSource].<init>(java.io.InputStream)"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].recordEvents(org.xml.sax.InputSource)"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:58,1"
      Dst: "[org.xml.sax.InputSource].<init>(java.io.InputStream)"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:58,1"
      Dst: "[ch.qos.logback.core.joran.event.SaxEventRecorder].recordEvents(org.xml.sax.InputSource)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.SaxEventRecorder].recordEvents(org.xml.sax.InputSource)"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEventRecorder"
    linkageType: null
    functionLinenumber: 61
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.xml.sax.InputSource"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].buildSaxParser()"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].handleError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.joran.spi.JoranException].<init>(java.lang.String,java.lang.Throwable)"
    - "[javax.xml.parsers.SAXParser].parse(org.xml.sax.InputSource,org.xml.sax.helpers.DefaultHandler)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 2
    ICount: 17
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:62,1"
      Dst: "[ch.qos.logback.core.joran.event.SaxEventRecorder].buildSaxParser()"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:64,1"
      Dst: "[javax.xml.parsers.SAXParser].parse(org.xml.sax.InputSource,org.xml.sax.helpers.DefaultHandler)"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:67,1"
      Dst: "[ch.qos.logback.core.joran.event.SaxEventRecorder].handleError(java.lang.String,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:70,1"
      Dst: "[ch.qos.logback.core.joran.spi.JoranException].<init>(java.lang.String,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:74,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.SaxEventRecorder].handleError(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEventRecorder"
    linkageType: null
    functionLinenumber: 77
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.joran.spi.JoranException].<init>(java.lang.String,java.lang.Throwable)"
    functionUses: 2
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:78,1"
      Dst: "[ch.qos.logback.core.joran.event.SaxEventRecorder].addError(java.lang.String,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:79,1"
      Dst: "[ch.qos.logback.core.joran.spi.JoranException].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.SaxEventRecorder].buildSaxParser()"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEventRecorder"
    linkageType: null
    functionLinenumber: 83
    functionDepth: 3
    returnType: "javax.xml.parsers.SAXParser"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.joran.spi.JoranException].<init>(java.lang.String,java.lang.Throwable)"
    - "[javax.xml.parsers.SAXParserFactory].newInstance()"
    - "[javax.xml.parsers.SAXParserFactory].setValidating(boolean)"
    - "[javax.xml.parsers.SAXParserFactory].setFeature(java.lang.String,boolean)"
    - "[javax.xml.parsers.SAXParserFactory].setNamespaceAware(boolean)"
    - "[javax.xml.parsers.SAXParserFactory].newSAXParser()"
    functionUses: 1
    ICount: 18
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:84,1"
      Dst: "[javax.xml.parsers.SAXParserFactory].newInstance()"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:85,1"
      Dst: "[javax.xml.parsers.SAXParserFactory].setValidating(boolean)"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:88,1"
      Dst: "[javax.xml.parsers.SAXParserFactory].setFeature(java.lang.String,boolean)"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:90,1"
      Dst: "[javax.xml.parsers.SAXParserFactory].setNamespaceAware(boolean)"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:91,1"
      Dst: "[javax.xml.parsers.SAXParserFactory].newSAXParser()"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:94,1"
      Dst: "[ch.qos.logback.core.joran.event.SaxEventRecorder].addError(java.lang.String,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:95,1"
      Dst: "[ch.qos.logback.core.joran.spi.JoranException].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.SaxEventRecorder].startDocument()"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEventRecorder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.SaxEventRecorder].getLocator()"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEventRecorder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "org.xml.sax.Locator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.SaxEventRecorder].setDocumentLocator(org.xml.sax.Locator)"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEventRecorder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.xml.sax.Locator"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.SaxEventRecorder].shouldIgnoreForElementPath(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEventRecorder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.SaxEventRecorder].startElement(java.lang.String,java.lang.String,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEventRecorder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].getTagName(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].shouldIgnoreForElementPath(java.lang.String)"
    - "[ch.qos.logback.core.joran.spi.ElementPath].push(java.lang.String)"
    - "[ch.qos.logback.core.joran.spi.ElementPath].duplicate()"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].getLocator()"
    - "[ch.qos.logback.core.joran.event.StartEvent].<init>(ch.qos.logback.core.joran.spi.ElementPath,java.lang.String,java.lang.String,java.lang.String,org.xml.sax.Attributes,org.xml.sax.Locator)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 0
    ICount: 18
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.event.SaxEventRecorder:121"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.event.SaxEventRecorder:124"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.event.SaxEventRecorder:123"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:120,1"
      Dst: "[ch.qos.logback.core.joran.event.SaxEventRecorder].getTagName(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:121,1"
      Dst: "[ch.qos.logback.core.joran.event.SaxEventRecorder].shouldIgnoreForElementPath(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:122,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].push(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:124,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].duplicate()"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:125,1"
      Dst: "[ch.qos.logback.core.joran.event.SaxEventRecorder].getLocator()"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:125,1"
      Dst: "[ch.qos.logback.core.joran.event.StartEvent].<init>(ch.qos.logback.core.joran.spi.ElementPath,java.lang.String,java.lang.String,java.lang.String,org.xml.sax.Attributes,org.xml.sax.Locator)"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:125,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.event.SaxEventRecorder].getTagName(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEventRecorder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].length()"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.event.SaxEventRecorder:165"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.event.SaxEventRecorder:166"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.event.SaxEventRecorder:165"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.event.SaxEventRecorder:165"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.event.SaxEventRecorder:168"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.event.SaxEventRecorder:167"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:165,1"
      Dst: "[java.lang.String].length()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.joran.event.SaxEventRecorder].shouldIgnoreForElementPath(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEventRecorder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ElementPath].push(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementPath"
    linkageType: null
    functionLinenumber: 96
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].add(java.lang.Object)"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:97,1"
      Dst: "[java.util.ArrayList].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ElementPath].duplicate()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementPath"
    linkageType: null
    functionLinenumber: 57
    functionDepth: 1
    returnType: "ch.qos.logback.core.joran.spi.ElementPath"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.spi.ElementPath].<init>()"
    - "[java.util.ArrayList].addAll(java.util.Collection)"
    functionUses: 2
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:58,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].<init>()"
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:59,1"
      Dst: "[java.util.ArrayList].addAll(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.SaxEventRecorder].getLocator()"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEventRecorder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "org.xml.sax.Locator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.StartEvent].<init>(ch.qos.logback.core.joran.spi.ElementPath,java.lang.String,java.lang.String,java.lang.String,org.xml.sax.Attributes,org.xml.sax.Locator)"
    functionSourceFile: "ch.qos.logback.core.joran.event.StartEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 6
    argTypes:
    - "ch.qos.logback.core.joran.spi.ElementPath"
    - "java.lang.String"
    - "java.lang.String"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    - "org.xml.sax.Locator"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.event.SaxEvent].<init>(java.lang.String,java.lang.String,java.lang.String,org.xml.sax.Locator)"
    - "[org.xml.sax.helpers.AttributesImpl].<init>(org.xml.sax.Attributes)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.StartEvent:28,1"
      Dst: "[ch.qos.logback.core.joran.event.SaxEvent].<init>(java.lang.String,java.lang.String,java.lang.String,org.xml.sax.Locator)"
    - Src: "ch.qos.logback.core.joran.event.StartEvent:30,1"
      Dst: "[org.xml.sax.helpers.AttributesImpl].<init>(org.xml.sax.Attributes)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.SaxEvent].<init>(java.lang.String,java.lang.String,java.lang.String,org.xml.sax.Locator)"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    - "java.lang.String"
    - "org.xml.sax.Locator"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[org.xml.sax.helpers.LocatorImpl].<init>(org.xml.sax.Locator)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.SaxEvent:26,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.joran.event.SaxEvent:31,1"
      Dst: "[org.xml.sax.helpers.LocatorImpl].<init>(org.xml.sax.Locator)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.SaxEventRecorder].characters(char[],int,int)"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEventRecorder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "void"
    argCount: 3
    argTypes:
    - "char[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].<init>(char[],int,int)"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].getLastEvent()"
    - "[ch.qos.logback.core.joran.event.BodyEvent].append(java.lang.String)"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].isSpaceOnly(java.lang.String)"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].getLocator()"
    - "[ch.qos.logback.core.joran.event.BodyEvent].<init>(java.lang.String,org.xml.sax.Locator)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 0
    ICount: 20
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.event.SaxEventRecorder:131"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.event.SaxEventRecorder:136"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.event.SaxEventRecorder:135"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.event.SaxEventRecorder:136"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.event.SaxEventRecorder:140"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.event.SaxEventRecorder:139"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:129,1"
      Dst: "[java.lang.String].<init>(char[],int,int)"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:130,1"
      Dst: "[ch.qos.logback.core.joran.event.SaxEventRecorder].getLastEvent()"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:133,1"
      Dst: "[ch.qos.logback.core.joran.event.BodyEvent].append(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:136,1"
      Dst: "[ch.qos.logback.core.joran.event.SaxEventRecorder].isSpaceOnly(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:137,1"
      Dst: "[ch.qos.logback.core.joran.event.SaxEventRecorder].getLocator()"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:137,1"
      Dst: "[ch.qos.logback.core.joran.event.BodyEvent].<init>(java.lang.String,org.xml.sax.Locator)"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:137,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.joran.event.SaxEventRecorder].getLastEvent()"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEventRecorder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.core.joran.event.SaxEvent"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.List].isEmpty()"
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.event.SaxEventRecorder:148"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.event.SaxEventRecorder:151"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.event.SaxEventRecorder:150"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:148,1"
      Dst: "[java.util.List].isEmpty()"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:151,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:152,1"
      Dst: "[java.util.List].get(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.BodyEvent].append(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.event.BodyEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.BodyEvent:45,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.SaxEventRecorder].isSpaceOnly(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEventRecorder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    - "[java.lang.String].length()"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.event.SaxEventRecorder:144"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.event.SaxEventRecorder:142"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:143,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:144,1"
      Dst: "[java.lang.String].length()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.event.SaxEventRecorder].getLocator()"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEventRecorder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "org.xml.sax.Locator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.BodyEvent].<init>(java.lang.String,org.xml.sax.Locator)"
    functionSourceFile: "ch.qos.logback.core.joran.event.BodyEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "org.xml.sax.Locator"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.event.SaxEvent].<init>(java.lang.String,java.lang.String,java.lang.String,org.xml.sax.Locator)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.BodyEvent:23,1"
      Dst: "[ch.qos.logback.core.joran.event.SaxEvent].<init>(java.lang.String,java.lang.String,java.lang.String,org.xml.sax.Locator)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.SaxEvent].<init>(java.lang.String,java.lang.String,java.lang.String,org.xml.sax.Locator)"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    - "java.lang.String"
    - "org.xml.sax.Locator"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[org.xml.sax.helpers.LocatorImpl].<init>(org.xml.sax.Locator)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.SaxEvent:26,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.joran.event.SaxEvent:31,1"
      Dst: "[org.xml.sax.helpers.LocatorImpl].<init>(org.xml.sax.Locator)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.SaxEventRecorder].isSpaceOnly(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEventRecorder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    - "[java.lang.String].length()"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.event.SaxEventRecorder:144"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.event.SaxEventRecorder:142"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:143,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:144,1"
      Dst: "[java.lang.String].length()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.event.SaxEventRecorder].getLastEvent()"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEventRecorder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.core.joran.event.SaxEvent"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.List].isEmpty()"
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.event.SaxEventRecorder:148"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.event.SaxEventRecorder:151"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.event.SaxEventRecorder:150"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:148,1"
      Dst: "[java.util.List].isEmpty()"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:151,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:152,1"
      Dst: "[java.util.List].get(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.SaxEventRecorder].endElement(java.lang.String,java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEventRecorder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].getLocator()"
    - "[ch.qos.logback.core.joran.event.EndEvent].<init>(java.lang.String,java.lang.String,java.lang.String,org.xml.sax.Locator)"
    - "[java.util.List].add(java.lang.Object)"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].getTagName(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].shouldIgnoreForElementPath(java.lang.String)"
    - "[ch.qos.logback.core.joran.spi.ElementPath].pop()"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.event.SaxEventRecorder:158"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.event.SaxEventRecorder:161"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.event.SaxEventRecorder:160"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:156,1"
      Dst: "[ch.qos.logback.core.joran.event.SaxEventRecorder].getLocator()"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:156,1"
      Dst: "[ch.qos.logback.core.joran.event.EndEvent].<init>(java.lang.String,java.lang.String,java.lang.String,org.xml.sax.Locator)"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:156,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:157,1"
      Dst: "[ch.qos.logback.core.joran.event.SaxEventRecorder].getTagName(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:158,1"
      Dst: "[ch.qos.logback.core.joran.event.SaxEventRecorder].shouldIgnoreForElementPath(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:159,1"
      Dst: "[ch.qos.logback.core.joran.spi.ElementPath].pop()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.event.SaxEventRecorder].getLocator()"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEventRecorder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "org.xml.sax.Locator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.EndEvent].<init>(java.lang.String,java.lang.String,java.lang.String,org.xml.sax.Locator)"
    functionSourceFile: "ch.qos.logback.core.joran.event.EndEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    - "java.lang.String"
    - "org.xml.sax.Locator"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.event.SaxEvent].<init>(java.lang.String,java.lang.String,java.lang.String,org.xml.sax.Locator)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.EndEvent:21,1"
      Dst: "[ch.qos.logback.core.joran.event.SaxEvent].<init>(java.lang.String,java.lang.String,java.lang.String,org.xml.sax.Locator)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.SaxEvent].<init>(java.lang.String,java.lang.String,java.lang.String,org.xml.sax.Locator)"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    - "java.lang.String"
    - "org.xml.sax.Locator"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[org.xml.sax.helpers.LocatorImpl].<init>(org.xml.sax.Locator)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.SaxEvent:26,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.joran.event.SaxEvent:31,1"
      Dst: "[org.xml.sax.helpers.LocatorImpl].<init>(org.xml.sax.Locator)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.SaxEventRecorder].getTagName(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEventRecorder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].length()"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.event.SaxEventRecorder:165"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.event.SaxEventRecorder:166"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.event.SaxEventRecorder:165"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.event.SaxEventRecorder:165"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.event.SaxEventRecorder:168"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.event.SaxEventRecorder:167"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:165,1"
      Dst: "[java.lang.String].length()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.joran.event.SaxEventRecorder].shouldIgnoreForElementPath(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEventRecorder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.ElementPath].pop()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.ElementPath"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].isEmpty()"
    - "[java.util.ArrayList].size()"
    - "[java.util.ArrayList].remove(int)"
    functionUses: 1
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.ElementPath:105"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:108"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.ElementPath:107"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:105,1"
      Dst: "[java.util.ArrayList].isEmpty()"
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:106,1"
      Dst: "[java.util.ArrayList].size()"
    - Src: "ch.qos.logback.core.joran.spi.ElementPath:106,1"
      Dst: "[java.util.ArrayList].remove(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.event.SaxEventRecorder].getTagName(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEventRecorder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].length()"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.event.SaxEventRecorder:165"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.event.SaxEventRecorder:166"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.event.SaxEventRecorder:165"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.event.SaxEventRecorder:165"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.event.SaxEventRecorder:168"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.event.SaxEventRecorder:167"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:165,1"
      Dst: "[java.lang.String].length()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.joran.event.SaxEventRecorder].error(org.xml.sax.SAXParseException)"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEventRecorder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.xml.sax.SAXParseException"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.xml.sax.SAXParseException].getLineNumber()"
    - "[org.xml.sax.SAXParseException].getColumnNumber()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int)"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].addError(java.lang.String)"
    - "[org.xml.sax.SAXParseException].toString()"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:172,1"
      Dst: "[org.xml.sax.SAXParseException].getLineNumber()"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:173,1"
      Dst: "[org.xml.sax.SAXParseException].getColumnNumber()"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:173,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int)"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:172,1"
      Dst: "[ch.qos.logback.core.joran.event.SaxEventRecorder].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:174,1"
      Dst: "[org.xml.sax.SAXParseException].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.SaxEventRecorder].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEventRecorder"
    linkageType: null
    functionLinenumber: 188
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addError(java.lang.String)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:189,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareImpl].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareImpl"
    linkageType: null
    functionLinenumber: 93
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.joran.spi.CAI_WithLocatorSupport].getOrigin()"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].getOrigin()"
    functionUses: 5
    ICount: 7
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:94,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].getOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:94,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:94,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.SaxEventRecorder].fatalError(org.xml.sax.SAXParseException)"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEventRecorder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.xml.sax.SAXParseException"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.xml.sax.SAXParseException].getLineNumber()"
    - "[org.xml.sax.SAXParseException].getColumnNumber()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int)"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].addError(java.lang.String)"
    - "[org.xml.sax.SAXParseException].toString()"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:178,1"
      Dst: "[org.xml.sax.SAXParseException].getLineNumber()"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:179,1"
      Dst: "[org.xml.sax.SAXParseException].getColumnNumber()"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:179,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int)"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:178,1"
      Dst: "[ch.qos.logback.core.joran.event.SaxEventRecorder].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:180,1"
      Dst: "[org.xml.sax.SAXParseException].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.SaxEventRecorder].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEventRecorder"
    linkageType: null
    functionLinenumber: 188
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addError(java.lang.String)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:189,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.SaxEventRecorder].warning(org.xml.sax.SAXParseException)"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEventRecorder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.xml.sax.SAXParseException"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.xml.sax.SAXParseException].getLineNumber()"
    - "[org.xml.sax.SAXParseException].getColumnNumber()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int)"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].addWarn(java.lang.String,java.lang.Throwable)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:184,1"
      Dst: "[org.xml.sax.SAXParseException].getLineNumber()"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:185,1"
      Dst: "[org.xml.sax.SAXParseException].getColumnNumber()"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:185,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int,int)"
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:184,1"
      Dst: "[ch.qos.logback.core.joran.event.SaxEventRecorder].addWarn(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.SaxEventRecorder].addWarn(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEventRecorder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addWarn(java.lang.String,java.lang.Throwable)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:213,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].addWarn(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareImpl].addWarn(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareImpl"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareImpl].getOrigin()"
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addStatus(ch.qos.logback.core.status.Status)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:90,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].getOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:90,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:90,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.SaxEventRecorder].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEventRecorder"
    linkageType: null
    functionLinenumber: 188
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addError(java.lang.String)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:189,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.SaxEventRecorder].addError(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEventRecorder"
    linkageType: null
    functionLinenumber: 192
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addError(java.lang.String,java.lang.Throwable)"
    functionUses: 5
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:193,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.SaxEventRecorder].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEventRecorder"
    linkageType: null
    functionLinenumber: 196
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addInfo(java.lang.String)"
    functionUses: 14
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:197,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].addInfo(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareImpl].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareImpl"
    linkageType: null
    functionLinenumber: 77
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.joran.spi.CAI_WithLocatorSupport].getOrigin()"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].getOrigin()"
    functionUses: 15
    ICount: 7
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:78,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].getOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:78,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:78,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.SaxEventRecorder].addInfo(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEventRecorder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addInfo(java.lang.String,java.lang.Throwable)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:201,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].addInfo(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareImpl].addInfo(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareImpl"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareImpl].getOrigin()"
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addStatus(ch.qos.logback.core.status.Status)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:82,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].getOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:82,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:82,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.SaxEventRecorder].addStatus(ch.qos.logback.core.status.Status)"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEventRecorder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.status.Status"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addStatus(ch.qos.logback.core.status.Status)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:205,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareImpl].addStatus(ch.qos.logback.core.status.Status)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareImpl"
    linkageType: null
    functionLinenumber: 64
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.status.Status"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - "[ch.qos.logback.core.BasicStatusManager].add(ch.qos.logback.core.status.Status)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.ContextAwareImpl)"
    - "[java.io.PrintStream].println(java.lang.String)"
    - "[ch.qos.logback.core.Context].getStatusManager()"
    - "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    functionUses: 3
    ICount: 17
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareImpl:65"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:71"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:70"
        BranchSideFuncs:
        - "getStatusManager()"
    - Branch String: "ch.qos.logback.core.spi.ContextAwareImpl:66"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:69"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:68"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareImpl:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:75"
        BranchSideFuncs:
        - "add(ch.qos.logback.core.status.Status)"
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareImpl:74"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:67,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.ContextAwareImpl)"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:67,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:71,1"
      Dst: "[ch.qos.logback.core.Context].getStatusManager()"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:73,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.joran.event.SaxEventRecorder].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEventRecorder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addWarn(java.lang.String)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:209,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].addWarn(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareImpl].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareImpl"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareImpl].getOrigin()"
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addStatus(ch.qos.logback.core.status.Status)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:86,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].getOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:86,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareImpl:86,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.SaxEventRecorder].addWarn(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEventRecorder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addWarn(java.lang.String,java.lang.Throwable)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:213,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].addWarn(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.SaxEventRecorder].getContext()"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEventRecorder"
    linkageType: null
    functionLinenumber: 216
    functionDepth: 1
    returnType: "ch.qos.logback.core.Context"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareImpl].getContext()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:217,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].getContext()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareImpl].getContext()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareImpl"
    linkageType: null
    functionLinenumber: 53
    functionDepth: 0
    returnType: "ch.qos.logback.core.Context"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.SaxEventRecorder].setContext(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEventRecorder"
    linkageType: null
    functionLinenumber: 220
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareImpl].setContext(ch.qos.logback.core.Context)"
    functionUses: 7
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.SaxEventRecorder:221,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].setContext(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.SaxEventRecorder].getSaxEventList()"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEventRecorder"
    linkageType: null
    functionLinenumber: 224
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.LifeCycleManager].<init>()"
    functionSourceFile: "ch.qos.logback.core.LifeCycleManager"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.HashSet].<init>()"
    functionUses: 1
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.LifeCycleManager:28,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.LifeCycleManager:30,1"
      Dst: "[java.util.HashSet].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.LifeCycleManager].register(ch.qos.logback.core.spi.LifeCycle)"
    functionSourceFile: "ch.qos.logback.core.LifeCycleManager"
    linkageType: null
    functionLinenumber: 38
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.spi.LifeCycle"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Set].add(java.lang.Object)"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.LifeCycleManager:39,1"
      Dst: "[java.util.Set].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.LifeCycleManager].reset()"
    functionSourceFile: "ch.qos.logback.core.LifeCycleManager"
    linkageType: null
    functionLinenumber: 47
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.jul.LevelChangePropagator:ch.qos.logback.classic.net.ReceiverBase:ch.qos.logback.classic.turbo.TurboFilter:ch.qos.logback.core.AppenderBase:ch.qos.logback.core.ContextBase:ch.qos.logback.core.LayoutBase:ch.qos.logback.core.UnsynchronizedAppenderBase:ch.qos.logback.core.boolex.EventEvaluatorBase:ch.qos.logback.core.boolex.Matcher:ch.qos.logback.core.encoder.EncoderBase:ch.qos.logback.core.encoder.LayoutWrappingEncoder:ch.qos.logback.core.filter.Filter:ch.qos.logback.core.net.SMTPAppenderBase:ch.qos.logback.core.pattern.DynamicConverter:ch.qos.logback.core.rolling.RollingPolicyBase:ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase:ch.qos.logback.core.rolling.TriggeringPolicyBase:ch.qos.logback.core.sift.AbstractDiscriminator:ch.qos.logback.core.status.OnPrintStreamStatusListenerBase:ch.qos.logback.core.testUtil.TrivialStatusListener].isStarted()"
    - "[ch.qos.logback.core.FileAppender].stop()"
    - "[ch.qos.logback.core.status.OnFileStatusListener].stop()"
    - "[ch.qos.logback.core.net.server.AbstractServerSocketAppender].stop()"
    - "[ch.qos.logback.classic.turbo.DuplicateMessageFilter].stop()"
    - "[ch.qos.logback.core.ContextBase].stop()"
    - "[ch.qos.logback.core.rolling.RollingFileAppender].stop()"
    - "[ch.qos.logback.core.net.SyslogAppenderBase].stop()"
    - "[ch.qos.logback.core.testUtil.StringListAppender].stop()"
    - "[ch.qos.logback.classic.pattern.MDCConverter].stop()"
    - "[ch.qos.logback.core.read.CyclicBufferAppender].stop()"
    - "[ch.qos.logback.classic.LoggerContext].stop()"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].stop()"
    - "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].stop()"
    - "[ch.qos.logback.core.sift.SiftingAppenderBase].stop()"
    - "[ch.qos.logback.core.AsyncAppenderBase].stop()"
    - "[ch.qos.logback.core.OutputStreamAppender].stop()"
    - "[ch.qos.logback.core.net.AbstractSocketAppender].stop()"
    - "[ch.qos.logback.classic.net.ReceiverBase].stop()"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[ch.qos.logback.core.spi.LifeCycle].isStarted()"
    - "[ch.qos.logback.core.spi.LifeCycle].stop()"
    - "[java.util.Set].clear()"
    functionUses: 1
    ICount: 14
    EdgeCount: 19
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.LifeCycleManager:48"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.LifeCycleManager:53"
        BranchSideFuncs:
        - "isStarted()"
      - BranchSide: "ch.qos.logback.core.LifeCycleManager:52"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.LifeCycleManager:49"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.LifeCycleManager:52"
        BranchSideFuncs:
        - "stop()"
      - BranchSide: "ch.qos.logback.core.LifeCycleManager:51"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.LifeCycleManager:48,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "ch.qos.logback.core.LifeCycleManager:48,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.LifeCycleManager:48,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.LifeCycleManager:49,1"
      Dst: "[ch.qos.logback.core.spi.LifeCycle].isStarted()"
    - Src: "ch.qos.logback.core.LifeCycleManager:50,1"
      Dst: "[ch.qos.logback.core.spi.LifeCycle].stop()"
    - Src: "ch.qos.logback.core.LifeCycleManager:53,1"
      Dst: "[java.util.Set].clear()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[org.slf4j.helpers.NormalizedParameters].<init>(java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "org.slf4j.helpers.NormalizedParameters"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.NormalizedParameters:19,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NormalizedParameters].<init>(java.lang.String,java.lang.Object[])"
    functionSourceFile: "org.slf4j.helpers.NormalizedParameters"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.NormalizedParameters].<init>(java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.NormalizedParameters:26,1"
      Dst: "[org.slf4j.helpers.NormalizedParameters].<init>(java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NormalizedParameters].getMessage()"
    functionSourceFile: "org.slf4j.helpers.NormalizedParameters"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NormalizedParameters].getArguments()"
    functionSourceFile: "org.slf4j.helpers.NormalizedParameters"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.Object[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NormalizedParameters].getThrowable()"
    functionSourceFile: "org.slf4j.helpers.NormalizedParameters"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.Throwable"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NormalizedParameters].getThrowableCandidate(java.lang.Object[])"
    functionSourceFile: "org.slf4j.helpers.NormalizedParameters"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 0
    returnType: "java.lang.Throwable"
    argCount: 1
    argTypes:
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.NormalizedParameters:51"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.NormalizedParameters:52"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.NormalizedParameters:51"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.NormalizedParameters:51"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.NormalizedParameters:55"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.NormalizedParameters:54"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.NormalizedParameters:56"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.NormalizedParameters:60"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.NormalizedParameters:59"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.helpers.NormalizedParameters].trimmedCopy(java.lang.Object[])"
    functionSourceFile: "org.slf4j.helpers.NormalizedParameters"
    linkageType: null
    functionLinenumber: 70
    functionDepth: 0
    returnType: "java.lang.Object[]"
    argCount: 1
    argTypes:
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    functionUses: 1
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.NormalizedParameters:71"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.NormalizedParameters:72"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.NormalizedParameters:71"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.NormalizedParameters:71"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.NormalizedParameters:75"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.NormalizedParameters:74"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.NormalizedParameters:79"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.NormalizedParameters:83"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.NormalizedParameters:82"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.NormalizedParameters:72,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - Src: "org.slf4j.helpers.NormalizedParameters:80,1"
      Dst: "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[org.slf4j.helpers.NormalizedParameters].normalize(java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "org.slf4j.helpers.NormalizedParameters"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "org.slf4j.helpers.NormalizedParameters"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.NormalizedParameters].<init>(java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[org.slf4j.helpers.NormalizedParameters].getThrowableCandidate(java.lang.Object[])"
    - "[org.slf4j.helpers.MessageFormatter].trimmedCopy(java.lang.Object[])"
    - "[org.slf4j.helpers.NormalizedParameters].<init>(java.lang.String,java.lang.Object[])"
    functionUses: 0
    ICount: 22
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.NormalizedParameters:94"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.NormalizedParameters:98"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.NormalizedParameters:97"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.NormalizedParameters:98"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.NormalizedParameters:99"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.NormalizedParameters:98"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.NormalizedParameters:98"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.NormalizedParameters:102"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.NormalizedParameters:101"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.NormalizedParameters:103"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.NormalizedParameters:107"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.NormalizedParameters:106"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.NormalizedParameters:95,1"
      Dst: "[org.slf4j.helpers.NormalizedParameters].<init>(java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Src: "org.slf4j.helpers.NormalizedParameters:102,1"
      Dst: "[org.slf4j.helpers.NormalizedParameters].getThrowableCandidate(java.lang.Object[])"
    - Src: "org.slf4j.helpers.NormalizedParameters:104,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].trimmedCopy(java.lang.Object[])"
    - Src: "org.slf4j.helpers.NormalizedParameters:107,1"
      Dst: "[org.slf4j.helpers.NormalizedParameters].<init>(java.lang.String,java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.helpers.NormalizedParameters].<init>(java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "org.slf4j.helpers.NormalizedParameters"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.NormalizedParameters:19,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NormalizedParameters].getThrowableCandidate(java.lang.Object[])"
    functionSourceFile: "org.slf4j.helpers.NormalizedParameters"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 0
    returnType: "java.lang.Throwable"
    argCount: 1
    argTypes:
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.NormalizedParameters:51"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.NormalizedParameters:52"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.NormalizedParameters:51"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.NormalizedParameters:51"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.NormalizedParameters:55"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.NormalizedParameters:54"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.NormalizedParameters:56"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.NormalizedParameters:60"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.NormalizedParameters:59"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.helpers.MessageFormatter].trimmedCopy(java.lang.Object[])"
    functionSourceFile: "org.slf4j.helpers.MessageFormatter"
    linkageType: null
    functionLinenumber: 426
    functionDepth: 1
    returnType: "java.lang.Object[]"
    argCount: 1
    argTypes:
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.NormalizedParameters].trimmedCopy(java.lang.Object[])"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.MessageFormatter:427,1"
      Dst: "[org.slf4j.helpers.NormalizedParameters].trimmedCopy(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NormalizedParameters].<init>(java.lang.String,java.lang.Object[])"
    functionSourceFile: "org.slf4j.helpers.NormalizedParameters"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.NormalizedParameters].<init>(java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.NormalizedParameters:26,1"
      Dst: "[org.slf4j.helpers.NormalizedParameters].<init>(java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NormalizedParameters].normalize(org.slf4j.event.LoggingEvent)"
    functionSourceFile: "org.slf4j.helpers.NormalizedParameters"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 3
    returnType: "org.slf4j.helpers.NormalizedParameters"
    argCount: 1
    argTypes:
    - "org.slf4j.event.LoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.event.LoggingEvent].getMessage()"
    - "[org.slf4j.event.LoggingEvent].getArgumentArray()"
    - "[org.slf4j.event.LoggingEvent].getThrowable()"
    - "[org.slf4j.helpers.NormalizedParameters].normalize(java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.NormalizedParameters:113,1"
      Dst: "[org.slf4j.event.LoggingEvent].getMessage()"
    - Src: "org.slf4j.helpers.NormalizedParameters:113,1"
      Dst: "[org.slf4j.event.LoggingEvent].getArgumentArray()"
    - Src: "org.slf4j.helpers.NormalizedParameters:113,1"
      Dst: "[org.slf4j.event.LoggingEvent].getThrowable()"
    - Src: "org.slf4j.helpers.NormalizedParameters:113,1"
      Dst: "[org.slf4j.helpers.NormalizedParameters].normalize(java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NormalizedParameters].normalize(java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "org.slf4j.helpers.NormalizedParameters"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "org.slf4j.helpers.NormalizedParameters"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.NormalizedParameters].<init>(java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[org.slf4j.helpers.NormalizedParameters].getThrowableCandidate(java.lang.Object[])"
    - "[org.slf4j.helpers.MessageFormatter].trimmedCopy(java.lang.Object[])"
    - "[org.slf4j.helpers.NormalizedParameters].<init>(java.lang.String,java.lang.Object[])"
    functionUses: 0
    ICount: 22
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.NormalizedParameters:94"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.NormalizedParameters:98"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.NormalizedParameters:97"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.NormalizedParameters:98"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.NormalizedParameters:99"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.NormalizedParameters:98"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.NormalizedParameters:98"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.NormalizedParameters:102"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.NormalizedParameters:101"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.NormalizedParameters:103"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.NormalizedParameters:107"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.NormalizedParameters:106"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.NormalizedParameters:95,1"
      Dst: "[org.slf4j.helpers.NormalizedParameters].<init>(java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Src: "org.slf4j.helpers.NormalizedParameters:102,1"
      Dst: "[org.slf4j.helpers.NormalizedParameters].getThrowableCandidate(java.lang.Object[])"
    - Src: "org.slf4j.helpers.NormalizedParameters:104,1"
      Dst: "[org.slf4j.helpers.MessageFormatter].trimmedCopy(java.lang.Object[])"
    - Src: "org.slf4j.helpers.NormalizedParameters:107,1"
      Dst: "[org.slf4j.helpers.NormalizedParameters].<init>(java.lang.String,java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.html.DefaultCssBuilder].<init>()"
    functionSourceFile: "ch.qos.logback.classic.html.DefaultCssBuilder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.html.DefaultCssBuilder:27,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.html.DefaultCssBuilder].addCss(java.lang.StringBuilder)"
    functionSourceFile: "ch.qos.logback.classic.html.DefaultCssBuilder"
    linkageType: null
    functionLinenumber: 29
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.StringBuilder"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 1
    ICount: 42
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.html.DefaultCssBuilder:30,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.action.LoggerAction].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.action.LoggerAction"
    linkageType: null
    functionLinenumber: 29
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.action.LoggerAction:30,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.action.LoggerAction].validPreconditions(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.classic.joran.action.LoggerAction"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 4
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].<init>(ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].validateNameAttribute()"
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].isValid()"
    functionUses: 1
    ICount: 9
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.action.LoggerAction:34,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].<init>(ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    - Src: "ch.qos.logback.classic.joran.action.LoggerAction:35,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].validateNameAttribute()"
    - Src: "ch.qos.logback.classic.joran.action.LoggerAction:36,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].isValid()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].<init>(ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 1
    returnType: "void"
    argCount: 4
    argTypes:
    - "ch.qos.logback.core.spi.ContextAware"
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>(ch.qos.logback.core.spi.ContextAware)"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].getContext()"
    - "[ch.qos.logback.core.pattern.DynamicConverter].getContext()"
    - "[ch.qos.logback.core.LayoutBase:ch.qos.logback.core.spi.ContextAwareBase:ch.qos.logback.core.spi.ContextAwareImpl].getContext()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAware].getContext()"
    functionUses: 16
    ICount: 13
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:33,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>(ch.qos.logback.core.spi.ContextAware)"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:34,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].getContext()"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:34,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].validateNameAttribute()"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 57
    functionDepth: 3
    returnType: "ch.qos.logback.core.joran.action.PreconditionValidator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].generic(java.lang.String)"
    functionUses: 5
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:58,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].generic(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].isValid()"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 79
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 16
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.action.LoggerAction].buildCurrentModel(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.classic.joran.action.LoggerAction"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.Model"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.model.LoggerModel].<init>()"
    - "[org.xml.sax.helpers.AttributesImpl].getValue(java.lang.String)"
    - "[ch.qos.logback.classic.model.LoggerModel].setName(java.lang.String)"
    - "[ch.qos.logback.classic.model.LoggerModel].setLevel(java.lang.String)"
    - "[ch.qos.logback.classic.model.LoggerModel].setAdditivity(java.lang.String)"
    - "[org.xml.sax.Attributes].getValue(java.lang.String)"
    functionUses: 1
    ICount: 13
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.action.LoggerAction:43,1"
      Dst: "[ch.qos.logback.classic.model.LoggerModel].<init>()"
    - Src: "ch.qos.logback.classic.joran.action.LoggerAction:45,1"
      Dst: "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - Src: "ch.qos.logback.classic.joran.action.LoggerAction:46,1"
      Dst: "[ch.qos.logback.classic.model.LoggerModel].setName(java.lang.String)"
    - Src: "ch.qos.logback.classic.joran.action.LoggerAction:49,1"
      Dst: "[ch.qos.logback.classic.model.LoggerModel].setLevel(java.lang.String)"
    - Src: "ch.qos.logback.classic.joran.action.LoggerAction:52,1"
      Dst: "[ch.qos.logback.classic.model.LoggerModel].setAdditivity(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.LoggerModel].<init>()"
    functionSourceFile: "ch.qos.logback.classic.model.LoggerModel"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.LoggerModel:23,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.LoggerModel].setName(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.model.LoggerModel"
    linkageType: null
    functionLinenumber: 49
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.LoggerModel].setLevel(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.model.LoggerModel"
    linkageType: null
    functionLinenumber: 57
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.LoggerModel].setAdditivity(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.model.LoggerModel"
    linkageType: null
    functionLinenumber: 65
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.color.GreenCompositeConverter].<init>()"
    functionSourceFile: "ch.qos.logback.core.pattern.color.GreenCompositeConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.color.ForegroundCompositeConverterBase].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.color.GreenCompositeConverter:24,1"
      Dst: "[ch.qos.logback.core.pattern.color.ForegroundCompositeConverterBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.color.GreenCompositeConverter].getForegroundColorCode(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.pattern.color.GreenCompositeConverter"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.FileUtil].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.util.FileUtil"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.FileUtil:27,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - Src: "ch.qos.logback.core.util.FileUtil:28,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.FileUtil].fileToURL(java.io.File)"
    functionSourceFile: "ch.qos.logback.core.util.FileUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.net.URL"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.File].toURI()"
    - "[java.net.URI].toURL()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File)"
    - "[java.lang.RuntimeException].<init>(java.lang.String,java.lang.Throwable)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.FileUtil:33,1"
      Dst: "[java.io.File].toURI()"
    - Src: "ch.qos.logback.core.util.FileUtil:33,1"
      Dst: "[java.net.URI].toURL()"
    - Src: "ch.qos.logback.core.util.FileUtil:35,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File)"
    - Src: "ch.qos.logback.core.util.FileUtil:35,1"
      Dst: "[java.lang.RuntimeException].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.FileUtil].createMissingParentDirectories(java.io.File)"
    functionSourceFile: "ch.qos.logback.core.util.FileUtil"
    linkageType: null
    functionLinenumber: 47
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.File].getParentFile()"
    - "[java.io.File].mkdirs()"
    - "[java.io.File].exists()"
    functionUses: 3
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.FileUtil:49"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.FileUtil:56"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.FileUtil:48,1"
      Dst: "[java.io.File].getParentFile()"
    - Src: "ch.qos.logback.core.util.FileUtil:57,1"
      Dst: "[java.io.File].mkdirs()"
    - Src: "ch.qos.logback.core.util.FileUtil:58,1"
      Dst: "[java.io.File].exists()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.FileUtil].resourceAsString(java.lang.ClassLoader,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.FileUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "java.lang.ClassLoader"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ClassLoader].getResource(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[java.net.URL].openConnection()"
    - "[java.net.URLConnection].setUseCaches(boolean)"
    - "[java.net.URLConnection].getInputStream()"
    - "[java.io.InputStreamReader].<init>(java.io.InputStream)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.io.InputStreamReader].read(char[],int,int)"
    - "[java.lang.StringBuilder].append(char[],int,int)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.io.InputStreamReader].close()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    functionUses: 0
    ICount: 45
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.FileUtil:63"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.FileUtil:68"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.FileUtil:67"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.FileUtil:76"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.FileUtil:79"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.FileUtil:78"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.FileUtil:83"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.FileUtil:78"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.FileUtil:83"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.FileUtil:90"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.FileUtil:83"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.FileUtil:89"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.FileUtil:62,1"
      Dst: "[java.lang.ClassLoader].getResource(java.lang.String)"
    - Src: "ch.qos.logback.core.util.FileUtil:64,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.util.FileUtil:64,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.util.FileUtil:70,1"
      Dst: "[java.net.URL].openConnection()"
    - Src: "ch.qos.logback.core.util.FileUtil:71,1"
      Dst: "[java.net.URLConnection].setUseCaches(boolean)"
    - Src: "ch.qos.logback.core.util.FileUtil:72,1"
      Dst: "[java.net.URLConnection].getInputStream()"
    - Src: "ch.qos.logback.core.util.FileUtil:72,1"
      Dst: "[java.io.InputStreamReader].<init>(java.io.InputStream)"
    - Src: "ch.qos.logback.core.util.FileUtil:74,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.core.util.FileUtil:76,1"
      Dst: "[java.io.InputStreamReader].read(char[],int,int)"
    - Src: "ch.qos.logback.core.util.FileUtil:77,1"
      Dst: "[java.lang.StringBuilder].append(char[],int,int)"
    - Src: "ch.qos.logback.core.util.FileUtil:79,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "ch.qos.logback.core.util.FileUtil:85,1"
      Dst: "[java.io.InputStreamReader].close()"
    - Src: "ch.qos.logback.core.util.FileUtil:81,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 17
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 74
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.FileUtil].copy(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.FileUtil"
    linkageType: null
    functionLinenumber: 96
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.rolling.RolloverFailure].<init>(java.lang.String)"
    - "[java.io.FileInputStream].<init>(java.lang.String)"
    - "[java.io.BufferedInputStream].<init>(java.io.InputStream)"
    - "[java.io.FileOutputStream].<init>(java.lang.String)"
    - "[java.io.BufferedOutputStream].<init>(java.io.OutputStream)"
    - "[java.io.FilterInputStream].read(byte[])"
    - "[java.io.BufferedOutputStream].write(byte[],int,int)"
    - "[java.io.BufferedInputStream].close()"
    - "[java.io.FilterOutputStream].close()"
    - "[java.lang.NullPointerException].<init>(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    functionUses: 1
    ICount: 52
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.FileUtil:105"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.FileUtil:109"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.FileUtil:108"
        BranchSideFuncs:
        - "addError(java.lang.String,java.lang.Throwable)"
        - "<init>(java.lang.String)"
    - Branch String: "ch.qos.logback.core.util.FileUtil:118"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.FileUtil:125"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.util.FileUtil:124"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.FileUtil:125"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.FileUtil:133"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.util.FileUtil:132"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.FileUtil:118"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.FileUtil:125"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.util.FileUtil:124"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.FileUtil:125"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.FileUtil:132"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.util.FileUtil:131"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.FileUtil:100,1"
      Dst: "[java.io.FileInputStream].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.util.FileUtil:100,1"
      Dst: "[java.io.BufferedInputStream].<init>(java.io.InputStream)"
    - Src: "ch.qos.logback.core.util.FileUtil:101,1"
      Dst: "[java.io.FileOutputStream].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.util.FileUtil:101,1"
      Dst: "[java.io.BufferedOutputStream].<init>(java.io.OutputStream)"
    - Src: "ch.qos.logback.core.util.FileUtil:105,1"
      Dst: "[java.io.FilterInputStream].read(byte[])"
    - Src: "ch.qos.logback.core.util.FileUtil:106,1"
      Dst: "[java.io.BufferedOutputStream].write(byte[],int,int)"
    - Src: "ch.qos.logback.core.util.FileUtil:109,1"
      Dst: "[java.io.BufferedInputStream].close()"
    - Src: "ch.qos.logback.core.util.FileUtil:111,1"
      Dst: "[java.io.FilterOutputStream].close()"
    - Src: "ch.qos.logback.core.util.FileUtil:-1,1"
      Dst: "[java.lang.NullPointerException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.util.FileUtil:114,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.util.FileUtil:115,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.util.FileUtil:116,1"
      Dst: "[ch.qos.logback.core.rolling.RolloverFailure].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 18
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.util.ExecutorServiceUtil$1].<init>()"
    functionSourceFile: "ch.qos.logback.core.util.ExecutorServiceUtil$1"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.ExecutorServiceUtil$1].makeThreadFactory()"
    - "[java.lang.Object].<init>()"
    - "[java.util.concurrent.atomic.AtomicInteger].<init>(int)"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.ExecutorServiceUtil$1:43,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.util.ExecutorServiceUtil$1:45,1"
      Dst: "[java.util.concurrent.atomic.AtomicInteger].<init>(int)"
    - Src: "ch.qos.logback.core.util.ExecutorServiceUtil$1:48,1"
      Dst: "[ch.qos.logback.core.util.ExecutorServiceUtil$1].makeThreadFactory()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.ExecutorServiceUtil$1].makeThreadFactory()"
    functionSourceFile: "ch.qos.logback.core.util.ExecutorServiceUtil$1"
    linkageType: null
    functionLinenumber: 55
    functionDepth: 3
    returnType: "java.util.concurrent.ThreadFactory"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.EnvUtil].isJDK21OrHigher()"
    - "[java.lang.Class].getMethod(java.lang.String,java.lang.Class[])"
    - "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    - "[java.lang.Object].getClass()"
    - "[java.util.concurrent.Executors].defaultThreadFactory()"
    functionUses: 1
    ICount: 20
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.ExecutorServiceUtil$1:56"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.ExecutorServiceUtil$1:66"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.ExecutorServiceUtil$1:56,1"
      Dst: "[ch.qos.logback.core.util.EnvUtil].isJDK21OrHigher()"
    - Src: "ch.qos.logback.core.util.ExecutorServiceUtil$1:58,1"
      Dst: "[java.lang.Class].getMethod(java.lang.String,java.lang.Class[])"
    - Src: "ch.qos.logback.core.util.ExecutorServiceUtil$1:59,1"
      Dst: "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    - Src: "ch.qos.logback.core.util.ExecutorServiceUtil$1:60,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.util.ExecutorServiceUtil$1:63,1"
      Dst: "[java.util.concurrent.Executors].defaultThreadFactory()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.EnvUtil].isJDK21OrHigher()"
    functionSourceFile: "ch.qos.logback.core.util.EnvUtil"
    linkageType: null
    functionLinenumber: 115
    functionDepth: 2
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.EnvUtil].isJDK_N_OrHigher(int)"
    functionUses: 3
    ICount: 2
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.EnvUtil:116,1"
      Dst: "[ch.qos.logback.core.util.EnvUtil].isJDK_N_OrHigher(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.ExecutorServiceUtil$1].newThread(java.lang.Runnable)"
    functionSourceFile: "ch.qos.logback.core.util.ExecutorServiceUtil$1"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.Thread"
    argCount: 1
    argTypes:
    - "java.lang.Runnable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.ThreadFactory].newThread(java.lang.Runnable)"
    - "[java.lang.Thread].isDaemon()"
    - "[java.lang.Thread].setDaemon(boolean)"
    - "[java.util.concurrent.atomic.AtomicInteger].getAndIncrement()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - "[java.lang.Thread].setName(java.lang.String)"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.ExecutorServiceUtil$1:74"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.ExecutorServiceUtil$1:77"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.ExecutorServiceUtil$1:76"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.ExecutorServiceUtil$1:73,1"
      Dst: "[java.util.concurrent.ThreadFactory].newThread(java.lang.Runnable)"
    - Src: "ch.qos.logback.core.util.ExecutorServiceUtil$1:74,1"
      Dst: "[java.lang.Thread].isDaemon()"
    - Src: "ch.qos.logback.core.util.ExecutorServiceUtil$1:75,1"
      Dst: "[java.lang.Thread].setDaemon(boolean)"
    - Src: "ch.qos.logback.core.util.ExecutorServiceUtil$1:77,1"
      Dst: "[java.util.concurrent.atomic.AtomicInteger].getAndIncrement()"
    - Src: "ch.qos.logback.core.util.ExecutorServiceUtil$1:77,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - Src: "ch.qos.logback.core.util.ExecutorServiceUtil$1:77,1"
      Dst: "[java.lang.Thread].setName(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.DefaultInvocationGate].<init>()"
    functionSourceFile: "ch.qos.logback.core.util.DefaultInvocationGate"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].currentTimeMillis()"
    - "[ch.qos.logback.core.util.DefaultInvocationGate].<init>(long,long,long)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.DefaultInvocationGate:52,1"
      Dst: "[java.lang.System].currentTimeMillis()"
    - Src: "ch.qos.logback.core.util.DefaultInvocationGate:52,1"
      Dst: "[ch.qos.logback.core.util.DefaultInvocationGate].<init>(long,long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.DefaultInvocationGate].<init>(long,long,long)"
    functionSourceFile: "ch.qos.logback.core.util.DefaultInvocationGate"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "long"
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.DefaultInvocationGate:55,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.DefaultInvocationGate].isTooSoon(long)"
    functionSourceFile: "ch.qos.logback.core.util.DefaultInvocationGate"
    linkageType: null
    functionLinenumber: 74
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.DefaultInvocationGate].increaseMask()"
    - "[ch.qos.logback.core.util.DefaultInvocationGate].updateLimits(long)"
    - "[ch.qos.logback.core.util.DefaultInvocationGate].decreaseMask()"
    functionUses: 2
    ICount: 36
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.DefaultInvocationGate:75"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.DefaultInvocationGate:-1"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.DefaultInvocationGate:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.DefaultInvocationGate:77"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.DefaultInvocationGate:83"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.DefaultInvocationGate:82"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.DefaultInvocationGate:78"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.DefaultInvocationGate:81"
        BranchSideFuncs:
        - "increaseMask()"
      - BranchSide: "ch.qos.logback.core.util.DefaultInvocationGate:80"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.DefaultInvocationGate:83"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.DefaultInvocationGate:89"
        BranchSideFuncs:
        - "updateLimits(long)"
        - "decreaseMask()"
      - BranchSide: "ch.qos.logback.core.util.DefaultInvocationGate:88"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.DefaultInvocationGate:89"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.DefaultInvocationGate:88"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.DefaultInvocationGate:79,1"
      Dst: "[ch.qos.logback.core.util.DefaultInvocationGate].increaseMask()"
    - Src: "ch.qos.logback.core.util.DefaultInvocationGate:81,1"
      Dst: "[ch.qos.logback.core.util.DefaultInvocationGate].updateLimits(long)"
    - Src: "ch.qos.logback.core.util.DefaultInvocationGate:84,1"
      Dst: "[ch.qos.logback.core.util.DefaultInvocationGate].decreaseMask()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 13
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.util.DefaultInvocationGate].increaseMask()"
    functionSourceFile: "ch.qos.logback.core.util.DefaultInvocationGate"
    linkageType: null
    functionLinenumber: 102
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.DefaultInvocationGate:103"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.DefaultInvocationGate:105"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.DefaultInvocationGate:104"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.DefaultInvocationGate].updateLimits(long)"
    functionSourceFile: "ch.qos.logback.core.util.DefaultInvocationGate"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.DefaultInvocationGate].decreaseMask()"
    functionSourceFile: "ch.qos.logback.core.util.DefaultInvocationGate"
    linkageType: null
    functionLinenumber: 108
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.DefaultInvocationGate].updateLimits(long)"
    functionSourceFile: "ch.qos.logback.core.util.DefaultInvocationGate"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.DefaultInvocationGate].getMask()"
    functionSourceFile: "ch.qos.logback.core.util.DefaultInvocationGate"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.DefaultInvocationGate].increaseMask()"
    functionSourceFile: "ch.qos.logback.core.util.DefaultInvocationGate"
    linkageType: null
    functionLinenumber: 102
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.DefaultInvocationGate:103"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.DefaultInvocationGate:105"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.DefaultInvocationGate:104"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.DefaultInvocationGate].decreaseMask()"
    functionSourceFile: "ch.qos.logback.core.util.DefaultInvocationGate"
    linkageType: null
    functionLinenumber: 108
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.DefaultInvocationGate].getInvocationCounter()"
    functionSourceFile: "ch.qos.logback.core.util.DefaultInvocationGate"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.MDCValueLevelPair].<init>()"
    functionSourceFile: "ch.qos.logback.classic.turbo.MDCValueLevelPair"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.turbo.MDCValueLevelPair:24,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.MDCValueLevelPair].getValue()"
    functionSourceFile: "ch.qos.logback.classic.turbo.MDCValueLevelPair"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.MDCValueLevelPair].setValue(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.turbo.MDCValueLevelPair"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.MDCValueLevelPair].getLevel()"
    functionSourceFile: "ch.qos.logback.classic.turbo.MDCValueLevelPair"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.classic.Level"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.MDCValueLevelPair].setLevel(ch.qos.logback.classic.Level)"
    functionSourceFile: "ch.qos.logback.classic.turbo.MDCValueLevelPair"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.Level"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble].<init>(java.lang.Class,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble"
    linkageType: null
    functionLinenumber: 30
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 2
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble:31,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble].getHostClass()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble"
    linkageType: null
    functionLinenumber: -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: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble].getPropertyName()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble].hashCode()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble"
    linkageType: null
    functionLinenumber: 47
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].hashCode()"
    - "[java.lang.String].hashCode()"
    functionUses: 4
    ICount: 17
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble:48"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble:47"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble:49"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble:47"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble:48,1"
      Dst: "[java.lang.Object].hashCode()"
    - Src: "ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble:49,1"
      Dst: "[java.lang.String].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble"
    linkageType: null
    functionLinenumber: 54
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[java.lang.Object].equals(java.lang.Object)"
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 6
    ICount: 32
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble:55"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble:57"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble:56"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble:57"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble:59"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble:58"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble:59"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble:61"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble:60"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble:62"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble:65"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble:64"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble:63"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble:67"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble:66"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble:65"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble:67"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble:66"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble:67"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble:70"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble:69"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble:68"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble:72"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble:71"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble:70"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble:72"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble:71"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble:59,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble:65,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.joran.spi.HostClassAndPropertyDouble:70,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 17
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.net.DefaultSocketConnector$ConsoleExceptionHandler].<init>()"
    functionSourceFile: "ch.qos.logback.core.net.DefaultSocketConnector$ConsoleExceptionHandler"
    linkageType: null
    functionLinenumber: 115
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.DefaultSocketConnector$ConsoleExceptionHandler:116,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.DefaultSocketConnector$ConsoleExceptionHandler].connectionFailed(ch.qos.logback.core.net.SocketConnector,java.lang.Exception)"
    functionSourceFile: "ch.qos.logback.core.net.DefaultSocketConnector$ConsoleExceptionHandler"
    linkageType: null
    functionLinenumber: 118
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.net.SocketConnector"
    - "java.lang.Exception"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.PrintStream].println(java.lang.Object)"
    functionUses: 1
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.DefaultSocketConnector$ConsoleExceptionHandler:119,1"
      Dst: "[java.io.PrintStream].println(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.helpers.MDCInsertingServletFilter].<init>()"
    functionSourceFile: "ch.qos.logback.classic.helpers.MDCInsertingServletFilter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.helpers.MDCInsertingServletFilter:39,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.helpers.MDCInsertingServletFilter].destroy()"
    functionSourceFile: "ch.qos.logback.classic.helpers.MDCInsertingServletFilter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.helpers.MDCInsertingServletFilter].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,jakarta.servlet.FilterChain)"
    functionSourceFile: "ch.qos.logback.classic.helpers.MDCInsertingServletFilter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "void"
    argCount: 3
    argTypes:
    - "jakarta.servlet.ServletRequest"
    - "jakarta.servlet.ServletResponse"
    - "jakarta.servlet.FilterChain"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.helpers.MDCInsertingServletFilter].insertIntoMDC(jakarta.servlet.ServletRequest)"
    - "[jakarta.servlet.FilterChain].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)"
    - "[ch.qos.logback.classic.helpers.MDCInsertingServletFilter].clearMDC()"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.helpers.MDCInsertingServletFilter:48,1"
      Dst: "[ch.qos.logback.classic.helpers.MDCInsertingServletFilter].insertIntoMDC(jakarta.servlet.ServletRequest)"
    - Src: "ch.qos.logback.classic.helpers.MDCInsertingServletFilter:50,1"
      Dst: "[jakarta.servlet.FilterChain].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)"
    - Src: "ch.qos.logback.classic.helpers.MDCInsertingServletFilter:52,1"
      Dst: "[ch.qos.logback.classic.helpers.MDCInsertingServletFilter].clearMDC()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.helpers.MDCInsertingServletFilter].insertIntoMDC(jakarta.servlet.ServletRequest)"
    functionSourceFile: "ch.qos.logback.classic.helpers.MDCInsertingServletFilter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "jakarta.servlet.ServletRequest"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jakarta.servlet.ServletRequest].getRemoteHost()"
    - "[org.slf4j.MDC].put(java.lang.String,java.lang.String)"
    - "[jakarta.servlet.http.HttpServletRequest].getRequestURI()"
    - "[jakarta.servlet.http.HttpServletRequest].getRequestURL()"
    - "[java.lang.StringBuffer].toString()"
    - "[jakarta.servlet.http.HttpServletRequest].getMethod()"
    - "[jakarta.servlet.http.HttpServletRequest].getQueryString()"
    - "[jakarta.servlet.http.HttpServletRequest].getHeader(java.lang.String)"
    functionUses: 0
    ICount: 22
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.helpers.MDCInsertingServletFilter:60"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.helpers.MDCInsertingServletFilter:73"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.helpers.MDCInsertingServletFilter:72"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.helpers.MDCInsertingServletFilter:64"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.helpers.MDCInsertingServletFilter:67"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.helpers.MDCInsertingServletFilter:66"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.helpers.MDCInsertingServletFilter:58,1"
      Dst: "[jakarta.servlet.ServletRequest].getRemoteHost()"
    - Src: "ch.qos.logback.classic.helpers.MDCInsertingServletFilter:58,1"
      Dst: "[org.slf4j.MDC].put(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.classic.helpers.MDCInsertingServletFilter:62,1"
      Dst: "[jakarta.servlet.http.HttpServletRequest].getRequestURI()"
    - Src: "ch.qos.logback.classic.helpers.MDCInsertingServletFilter:63,1"
      Dst: "[jakarta.servlet.http.HttpServletRequest].getRequestURL()"
    - Src: "ch.qos.logback.classic.helpers.MDCInsertingServletFilter:65,1"
      Dst: "[java.lang.StringBuffer].toString()"
    - Src: "ch.qos.logback.classic.helpers.MDCInsertingServletFilter:67,1"
      Dst: "[jakarta.servlet.http.HttpServletRequest].getMethod()"
    - Src: "ch.qos.logback.classic.helpers.MDCInsertingServletFilter:68,1"
      Dst: "[jakarta.servlet.http.HttpServletRequest].getQueryString()"
    - Src: "ch.qos.logback.classic.helpers.MDCInsertingServletFilter:69,1"
      Dst: "[jakarta.servlet.http.HttpServletRequest].getHeader(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[org.slf4j.MDC].put(java.lang.String,java.lang.String)"
    functionSourceFile: "org.slf4j.MDC"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - "[org.slf4j.spi.MDCAdapter].put(java.lang.String,java.lang.String)"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.MDC:121"
      Branch Sides:
      - BranchSide: "org.slf4j.MDC:124"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.MDC:123"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.MDC:124"
      Branch Sides:
      - BranchSide: "org.slf4j.MDC:127"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.MDC:126"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.MDC:122,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "org.slf4j.MDC:125,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - Src: "org.slf4j.MDC:127,1"
      Dst: "[org.slf4j.spi.MDCAdapter].put(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.helpers.MDCInsertingServletFilter].clearMDC()"
    functionSourceFile: "ch.qos.logback.classic.helpers.MDCInsertingServletFilter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.MDC].remove(java.lang.String)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.helpers.MDCInsertingServletFilter:76,1"
      Dst: "[org.slf4j.MDC].remove(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.MDC].remove(java.lang.String)"
    functionSourceFile: "org.slf4j.MDC"
    linkageType: null
    functionLinenumber: 196
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.util.LogbackMDCAdapterSimple].remove(java.lang.String)"
    - "[ch.qos.logback.classic.util.LogbackMDCAdapter].remove(java.lang.String)"
    - "[org.slf4j.helpers.BasicMDCAdapter].remove(java.lang.String)"
    - "[org.slf4j.helpers.NOPMDCAdapter].remove(java.lang.String)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - "[org.slf4j.spi.MDCAdapter].remove(java.lang.String)"
    functionUses: 1
    ICount: 13
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "org.slf4j.MDC:197"
      Branch Sides:
      - BranchSide: "org.slf4j.MDC:201"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.MDC:200"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.MDC:201"
      Branch Sides:
      - BranchSide: "org.slf4j.MDC:204"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.MDC:203"
        BranchSideFuncs:
        - "remove(java.lang.String)"
    Callsites:
    - Src: "org.slf4j.MDC:198,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "org.slf4j.MDC:202,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - Src: "org.slf4j.MDC:204,1"
      Dst: "[org.slf4j.spi.MDCAdapter].remove(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.helpers.MDCInsertingServletFilter].insertIntoMDC(jakarta.servlet.ServletRequest)"
    functionSourceFile: "ch.qos.logback.classic.helpers.MDCInsertingServletFilter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "jakarta.servlet.ServletRequest"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jakarta.servlet.ServletRequest].getRemoteHost()"
    - "[org.slf4j.MDC].put(java.lang.String,java.lang.String)"
    - "[jakarta.servlet.http.HttpServletRequest].getRequestURI()"
    - "[jakarta.servlet.http.HttpServletRequest].getRequestURL()"
    - "[java.lang.StringBuffer].toString()"
    - "[jakarta.servlet.http.HttpServletRequest].getMethod()"
    - "[jakarta.servlet.http.HttpServletRequest].getQueryString()"
    - "[jakarta.servlet.http.HttpServletRequest].getHeader(java.lang.String)"
    functionUses: 0
    ICount: 22
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.helpers.MDCInsertingServletFilter:60"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.helpers.MDCInsertingServletFilter:73"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.helpers.MDCInsertingServletFilter:72"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.helpers.MDCInsertingServletFilter:64"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.helpers.MDCInsertingServletFilter:67"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.helpers.MDCInsertingServletFilter:66"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.helpers.MDCInsertingServletFilter:58,1"
      Dst: "[jakarta.servlet.ServletRequest].getRemoteHost()"
    - Src: "ch.qos.logback.classic.helpers.MDCInsertingServletFilter:58,1"
      Dst: "[org.slf4j.MDC].put(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.classic.helpers.MDCInsertingServletFilter:62,1"
      Dst: "[jakarta.servlet.http.HttpServletRequest].getRequestURI()"
    - Src: "ch.qos.logback.classic.helpers.MDCInsertingServletFilter:63,1"
      Dst: "[jakarta.servlet.http.HttpServletRequest].getRequestURL()"
    - Src: "ch.qos.logback.classic.helpers.MDCInsertingServletFilter:65,1"
      Dst: "[java.lang.StringBuffer].toString()"
    - Src: "ch.qos.logback.classic.helpers.MDCInsertingServletFilter:67,1"
      Dst: "[jakarta.servlet.http.HttpServletRequest].getMethod()"
    - Src: "ch.qos.logback.classic.helpers.MDCInsertingServletFilter:68,1"
      Dst: "[jakarta.servlet.http.HttpServletRequest].getQueryString()"
    - Src: "ch.qos.logback.classic.helpers.MDCInsertingServletFilter:69,1"
      Dst: "[jakarta.servlet.http.HttpServletRequest].getHeader(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.helpers.MDCInsertingServletFilter].clearMDC()"
    functionSourceFile: "ch.qos.logback.classic.helpers.MDCInsertingServletFilter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.MDC].remove(java.lang.String)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.helpers.MDCInsertingServletFilter:76,1"
      Dst: "[org.slf4j.MDC].remove(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.helpers.MDCInsertingServletFilter].init(jakarta.servlet.FilterConfig)"
    functionSourceFile: "ch.qos.logback.classic.helpers.MDCInsertingServletFilter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "jakarta.servlet.FilterConfig"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.ContextSelectorStaticBinder].<init>()"
    functionSourceFile: "ch.qos.logback.classic.util.ContextSelectorStaticBinder"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.ContextSelectorStaticBinder:33,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.ContextSelectorStaticBinder].getSingleton()"
    functionSourceFile: "ch.qos.logback.classic.util.ContextSelectorStaticBinder"
    linkageType: null
    functionLinenumber: 40
    functionDepth: 0
    returnType: "ch.qos.logback.classic.util.ContextSelectorStaticBinder"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.ContextSelectorStaticBinder].init(ch.qos.logback.classic.LoggerContext,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.util.ContextSelectorStaticBinder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.classic.LoggerContext"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalAccessException].<init>(java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].getSystemProperty(java.lang.String)"
    - "[ch.qos.logback.classic.selector.DefaultContextSelector].<init>(ch.qos.logback.classic.LoggerContext)"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[ch.qos.logback.classic.selector.ContextJNDISelector].<init>(ch.qos.logback.classic.LoggerContext)"
    - "[ch.qos.logback.classic.util.ContextSelectorStaticBinder].dynamicalContextSelector(ch.qos.logback.classic.LoggerContext,java.lang.String)"
    functionUses: 0
    ICount: 27
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.ContextSelectorStaticBinder:56"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.ContextSelectorStaticBinder:58"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.ContextSelectorStaticBinder:57"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.util.ContextSelectorStaticBinder:58"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.ContextSelectorStaticBinder:62"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.ContextSelectorStaticBinder:61"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.util.ContextSelectorStaticBinder:63"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.ContextSelectorStaticBinder:65"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.ContextSelectorStaticBinder:64"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.util.ContextSelectorStaticBinder:65"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.ContextSelectorStaticBinder:68"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.ContextSelectorStaticBinder:59,1"
      Dst: "[java.lang.IllegalAccessException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.classic.util.ContextSelectorStaticBinder:62,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].getSystemProperty(java.lang.String)"
    - Src: "ch.qos.logback.classic.util.ContextSelectorStaticBinder:64,1"
      Dst: "[ch.qos.logback.classic.selector.DefaultContextSelector].<init>(ch.qos.logback.classic.LoggerContext)"
    - Src: "ch.qos.logback.classic.util.ContextSelectorStaticBinder:65,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "ch.qos.logback.classic.util.ContextSelectorStaticBinder:67,1"
      Dst: "[ch.qos.logback.classic.selector.ContextJNDISelector].<init>(ch.qos.logback.classic.LoggerContext)"
    - Src: "ch.qos.logback.classic.util.ContextSelectorStaticBinder:69,1"
      Dst: "[ch.qos.logback.classic.util.ContextSelectorStaticBinder].dynamicalContextSelector(ch.qos.logback.classic.LoggerContext,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.util.OptionHelper].getSystemProperty(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 174
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].getProperty(java.lang.String)"
    functionUses: 4
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:175,1"
      Dst: "[java.lang.System].getProperty(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.selector.DefaultContextSelector].<init>(ch.qos.logback.classic.LoggerContext)"
    functionSourceFile: "ch.qos.logback.classic.selector.DefaultContextSelector"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.LoggerContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.selector.DefaultContextSelector:25,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.selector.ContextJNDISelector].<init>(ch.qos.logback.classic.LoggerContext)"
    functionSourceFile: "ch.qos.logback.classic.selector.ContextJNDISelector"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.LoggerContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.HashMap].<init>()"
    - "[java.util.Collections].synchronizedMap(java.util.Map)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:59,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:60,1"
      Dst: "[java.util.HashMap].<init>()"
    - Src: "ch.qos.logback.classic.selector.ContextJNDISelector:60,1"
      Dst: "[java.util.Collections].synchronizedMap(java.util.Map)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.ContextSelectorStaticBinder].dynamicalContextSelector(ch.qos.logback.classic.LoggerContext,java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.util.ContextSelectorStaticBinder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.classic.selector.ContextSelector"
    argCount: 2
    argTypes:
    - "ch.qos.logback.classic.LoggerContext"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].loadClass(java.lang.String)"
    - "[java.lang.Class].getConstructor(java.lang.Class[])"
    - "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.ContextSelectorStaticBinder:91,1"
      Dst: "[ch.qos.logback.core.util.Loader].loadClass(java.lang.String)"
    - Src: "ch.qos.logback.classic.util.ContextSelectorStaticBinder:92,1"
      Dst: "[java.lang.Class].getConstructor(java.lang.Class[])"
    - Src: "ch.qos.logback.classic.util.ContextSelectorStaticBinder:93,1"
      Dst: "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.Loader].loadClass(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.Loader"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.lang.Class"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].forName(java.lang.String)"
    - "[ch.qos.logback.core.util.Loader].getTCL()"
    - "[java.lang.ClassLoader].loadClass(java.lang.String)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.Loader:186"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.Loader:190"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.Loader:189"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.Loader:187,1"
      Dst: "[java.lang.Class].forName(java.lang.String)"
    - Src: "ch.qos.logback.core.util.Loader:190,1"
      Dst: "[ch.qos.logback.core.util.Loader].getTCL()"
    - Src: "ch.qos.logback.core.util.Loader:190,1"
      Dst: "[java.lang.ClassLoader].loadClass(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.Loader].getTCL()"
    functionSourceFile: "ch.qos.logback.core.util.Loader"
    linkageType: null
    functionLinenumber: 126
    functionDepth: 0
    returnType: "java.lang.ClassLoader"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Thread].currentThread()"
    - "[java.lang.Thread].getContextClassLoader()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.Loader:127,1"
      Dst: "[java.lang.Thread].currentThread()"
    - Src: "ch.qos.logback.core.util.Loader:127,1"
      Dst: "[java.lang.Thread].getContextClassLoader()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.ContextSelectorStaticBinder].dynamicalContextSelector(ch.qos.logback.classic.LoggerContext,java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.util.ContextSelectorStaticBinder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.classic.selector.ContextSelector"
    argCount: 2
    argTypes:
    - "ch.qos.logback.classic.LoggerContext"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].loadClass(java.lang.String)"
    - "[java.lang.Class].getConstructor(java.lang.Class[])"
    - "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.ContextSelectorStaticBinder:91,1"
      Dst: "[ch.qos.logback.core.util.Loader].loadClass(java.lang.String)"
    - Src: "ch.qos.logback.classic.util.ContextSelectorStaticBinder:92,1"
      Dst: "[java.lang.Class].getConstructor(java.lang.Class[])"
    - Src: "ch.qos.logback.classic.util.ContextSelectorStaticBinder:93,1"
      Dst: "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.ContextSelectorStaticBinder].getContextSelector()"
    functionSourceFile: "ch.qos.logback.classic.util.ContextSelectorStaticBinder"
    linkageType: null
    functionLinenumber: 96
    functionDepth: 0
    returnType: "ch.qos.logback.classic.selector.ContextSelector"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_3__90].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_3__90"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Predicate"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_3__90].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_3__90:-1,1"
      Dst: "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_3__90].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_3__90].<init>()"
    functionSourceFile: "ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_3__90"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_3__90:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_3__90].test(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_3__90"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ConsoleAppender].lambda$wrapWithJansi$3(java.lang.reflect.Method)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_3__90:-1,1"
      Dst: "[ch.qos.logback.core.ConsoleAppender].lambda$wrapWithJansi$3(java.lang.reflect.Method)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ConsoleAppender].lambda$wrapWithJansi$3(java.lang.reflect.Method)"
    functionSourceFile: "ch.qos.logback.core.ConsoleAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Method"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.reflect.Method].getReturnType()"
    - "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ConsoleAppender:110,1"
      Dst: "[java.lang.reflect.Method].getReturnType()"
    - Src: "ch.qos.logback.core.ConsoleAppender:110,1"
      Dst: "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.CopyOnInheritThreadLocal].<init>()"
    functionSourceFile: "ch.qos.logback.classic.util.CopyOnInheritThreadLocal"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.InheritableThreadLocal].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.CopyOnInheritThreadLocal:24,1"
      Dst: "[java.lang.InheritableThreadLocal].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.CopyOnInheritThreadLocal].childValue(java.util.HashMap)"
    functionSourceFile: "ch.qos.logback.classic.util.CopyOnInheritThreadLocal"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.util.HashMap"
    argCount: 1
    argTypes:
    - "java.util.HashMap"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashMap].<init>(java.util.Map)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.CopyOnInheritThreadLocal:31"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.CopyOnInheritThreadLocal:34"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.CopyOnInheritThreadLocal:33"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.CopyOnInheritThreadLocal:34,1"
      Dst: "[java.util.HashMap].<init>(java.util.Map)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.CopyOnInheritThreadLocal].childValue(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.util.CopyOnInheritThreadLocal"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.util.CopyOnInheritThreadLocal].childValue(java.util.HashMap)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.CopyOnInheritThreadLocal:24,1"
      Dst: "[ch.qos.logback.classic.util.CopyOnInheritThreadLocal].childValue(java.util.HashMap)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.CopyOnInheritThreadLocal].childValue(java.util.HashMap)"
    functionSourceFile: "ch.qos.logback.classic.util.CopyOnInheritThreadLocal"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.util.HashMap"
    argCount: 1
    argTypes:
    - "java.util.HashMap"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashMap].<init>(java.util.Map)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.CopyOnInheritThreadLocal:31"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.CopyOnInheritThreadLocal:34"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.CopyOnInheritThreadLocal:33"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.CopyOnInheritThreadLocal:34,1"
      Dst: "[java.util.HashMap].<init>(java.util.Map)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.ConfigurationModel].<init>()"
    functionSourceFile: "ch.qos.logback.classic.model.ConfigurationModel"
    linkageType: null
    functionLinenumber: 7
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.ConfigurationModel:8,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.ConfigurationModel].makeNewInstance()"
    functionSourceFile: "ch.qos.logback.classic.model.ConfigurationModel"
    linkageType: null
    functionLinenumber: 18
    functionDepth: 2
    returnType: "ch.qos.logback.classic.model.ConfigurationModel"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.model.ConfigurationModel].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.ConfigurationModel:19,1"
      Dst: "[ch.qos.logback.classic.model.ConfigurationModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.ConfigurationModel].<init>()"
    functionSourceFile: "ch.qos.logback.classic.model.ConfigurationModel"
    linkageType: null
    functionLinenumber: 7
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.ConfigurationModel:8,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.ConfigurationModel].mirror(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.classic.model.ConfigurationModel"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].mirror(ch.qos.logback.core.model.Model)"
    functionUses: 1
    ICount: 13
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.ConfigurationModel:24,1"
      Dst: "[ch.qos.logback.core.model.Model].mirror(ch.qos.logback.core.model.Model)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].mirror(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 56
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 11
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.ConfigurationModel].getDebugStr()"
    functionSourceFile: "ch.qos.logback.classic.model.ConfigurationModel"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.ConfigurationModel].setDebugStr(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.model.ConfigurationModel"
    linkageType: null
    functionLinenumber: 35
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.ConfigurationModel].getScanStr()"
    functionSourceFile: "ch.qos.logback.classic.model.ConfigurationModel"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.ConfigurationModel].setScanStr(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.model.ConfigurationModel"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.ConfigurationModel].getScanPeriodStr()"
    functionSourceFile: "ch.qos.logback.classic.model.ConfigurationModel"
    linkageType: null
    functionLinenumber: 47
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.ConfigurationModel].setScanPeriodStr(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.model.ConfigurationModel"
    linkageType: null
    functionLinenumber: 51
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.ConfigurationModel].getPackagingDataStr()"
    functionSourceFile: "ch.qos.logback.classic.model.ConfigurationModel"
    linkageType: null
    functionLinenumber: 55
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.ConfigurationModel].setPackagingDataStr(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.model.ConfigurationModel"
    linkageType: null
    functionLinenumber: 59
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.ConfigurationModel].hashCode()"
    functionSourceFile: "ch.qos.logback.classic.model.ConfigurationModel"
    linkageType: null
    functionLinenumber: 65
    functionDepth: 1
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].hashCode()"
    - "[java.util.Objects].hash(java.lang.Object[])"
    functionUses: 5
    ICount: 15
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.ConfigurationModel:66,1"
      Dst: "[ch.qos.logback.core.model.Model].hashCode()"
    - Src: "ch.qos.logback.classic.model.ConfigurationModel:67,1"
      Dst: "[java.util.Objects].hash(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].hashCode()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 145
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Integer].valueOf(int)"
    - "[java.util.Objects].hash(java.lang.Object[])"
    functionUses: 15
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:146,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "ch.qos.logback.core.model.Model:146,1"
      Dst: "[java.util.Objects].hash(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.ConfigurationModel].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.model.ConfigurationModel"
    linkageType: null
    functionLinenumber: 72
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].equals(java.lang.Object)"
    - "[java.lang.Object].getClass()"
    - "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    functionUses: 6
    ICount: 32
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.model.ConfigurationModel:73"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.ConfigurationModel:75"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.model.ConfigurationModel:74"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "ch.qos.logback.classic.model.ConfigurationModel:75"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.ConfigurationModel:77"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.model.ConfigurationModel:76"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.model.ConfigurationModel:77"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.ConfigurationModel:79"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.model.ConfigurationModel:78"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.model.ConfigurationModel:80"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.ConfigurationModel:-1"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.model.ConfigurationModel:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.model.ConfigurationModel:80"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.ConfigurationModel:-1"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.model.ConfigurationModel:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.model.ConfigurationModel:81"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.ConfigurationModel:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.model.ConfigurationModel:81"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.model.ConfigurationModel:-2"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.ConfigurationModel:75,1"
      Dst: "[ch.qos.logback.core.model.Model].equals(java.lang.Object)"
    - Src: "ch.qos.logback.classic.model.ConfigurationModel:77,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.classic.model.ConfigurationModel:80,1"
      Dst: "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 13
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.model.Model].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 150
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    functionUses: 16
    ICount: 30
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.Model:151"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:153"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:152"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:153"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:155"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:154"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:155"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:157"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:156"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:158"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:-1"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:158"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:-1"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:159"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:159"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:-2"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:155,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.model.Model:158,1"
      Dst: "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 13
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.subst.Token].<init>(ch.qos.logback.core.subst.Token$Type,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.subst.Token"
    linkageType: null
    functionLinenumber: 29
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.subst.Token$Type"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 5
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.Token:30,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.Token].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.subst.Token"
    linkageType: null
    functionLinenumber: 36
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 6
    ICount: 25
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.subst.Token:37"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Token:39"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.Token:38"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.subst.Token:39"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Token:40"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.Token:39"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.subst.Token:39"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Token:42"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.Token:41"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.subst.Token:44"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Token:46"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.Token:45"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.subst.Token:46"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Token:46"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.Token:45"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.subst.Token:46"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Token:49"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.Token:48"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.subst.Token:46"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Token:49"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.Token:48"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.Token:39,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.subst.Token:46,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 13
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.subst.Token].hashCode()"
    functionSourceFile: "ch.qos.logback.core.subst.Token"
    linkageType: null
    functionLinenumber: 53
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].hashCode()"
    - "[java.lang.String].hashCode()"
    functionUses: 4
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.subst.Token:54"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Token:54"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.Token:53"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.subst.Token:55"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Token:55"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.Token:54"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.Token:54,1"
      Dst: "[java.lang.Enum].hashCode()"
    - Src: "ch.qos.logback.core.subst.Token:55,1"
      Dst: "[java.lang.String].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.subst.Token].toString()"
    functionSourceFile: "ch.qos.logback.core.subst.Token"
    linkageType: null
    functionLinenumber: 60
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.subst.Token$Type)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 3
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.subst.Token:62"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.subst.Token:65"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.subst.Token:64"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.Token:61,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.subst.Token$Type)"
    - Src: "ch.qos.logback.core.subst.Token:63,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.subst.Token:65,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.PackagingDataCalculator].<init>()"
    functionSourceFile: "ch.qos.logback.classic.spi.PackagingDataCalculator"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.HashMap].<init>()"
    functionUses: 1
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:29,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:33,1"
      Dst: "[java.util.HashMap].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.PackagingDataCalculator].calculate(ch.qos.logback.classic.spi.IThrowableProxy)"
    functionSourceFile: "ch.qos.logback.classic.spi.PackagingDataCalculator"
    linkageType: null
    functionLinenumber: 56
    functionDepth: 6
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.IThrowableProxy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.ThrowableProxy].getStackTraceElementProxyArray()"
    - "[ch.qos.logback.classic.spi.PackagingDataCalculator].populateFrames(ch.qos.logback.classic.spi.StackTraceElementProxy[])"
    - "[ch.qos.logback.classic.spi.ThrowableProxy:ch.qos.logback.classic.spi.ThrowableProxyVO].getSuppressed()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy:ch.qos.logback.classic.spi.ThrowableProxyVO].getStackTraceElementProxyArray()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy:ch.qos.logback.classic.spi.ThrowableProxyVO].getCause()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getStackTraceElementProxyArray()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getSuppressed()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getCause()"
    functionUses: 1
    ICount: 18
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:57"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:67"
        BranchSideFuncs:
        - "getSuppressed()"
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:66"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:60"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:65"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:64"
        BranchSideFuncs:
        - "getCause()"
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:64"
        BranchSideFuncs:
        - "getCause()"
    Callsites:
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:58,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getStackTraceElementProxyArray()"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:58,1"
      Dst: "[ch.qos.logback.classic.spi.PackagingDataCalculator].populateFrames(ch.qos.logback.classic.spi.StackTraceElementProxy[])"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:59,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getSuppressed()"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:65,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getCause()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.classic.spi.PackagingDataCalculator].populateFrames(ch.qos.logback.classic.spi.StackTraceElementProxy[])"
    functionSourceFile: "ch.qos.logback.classic.spi.PackagingDataCalculator"
    linkageType: null
    functionLinenumber: 72
    functionDepth: 5
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.StackTraceElementProxy[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.STEUtil].findNumberOfCommonFrames(java.lang.StackTraceElement[],ch.qos.logback.classic.spi.StackTraceElementProxy[])"
    - "[ch.qos.logback.classic.spi.PackagingDataCalculator].computeBySTEP(ch.qos.logback.classic.spi.StackTraceElementProxy,java.lang.ClassLoader)"
    - "[ch.qos.logback.classic.spi.StackTraceElementProxy].setClassPackagingData(ch.qos.logback.classic.spi.ClassPackagingData)"
    - "[ch.qos.logback.classic.spi.PackagingDataCalculator].populateUncommonFrames(int,ch.qos.logback.classic.spi.StackTraceElementProxy[],java.lang.ClassLoader)"
    - "[java.lang.Throwable].<init>(java.lang.String)"
    - "[java.lang.Throwable].getStackTrace()"
    - "[java.lang.StackTraceElement].getClassName()"
    - "[java.lang.NullPointerException].<init>(java.lang.String)"
    functionUses: 2
    ICount: 29
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:83"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:105"
        BranchSideFuncs:
        - "populateUncommonFrames(int,ch.qos.logback.classic.spi.StackTraceElementProxy[],java.lang.ClassLoader)"
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:85"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:88"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:92"
      Branch Sides: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:73,1"
      Dst: "[java.lang.Throwable].<init>(java.lang.String)"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:74,1"
      Dst: "[java.lang.Throwable].getStackTrace()"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:75,1"
      Dst: "[ch.qos.logback.classic.spi.STEUtil].findNumberOfCommonFrames(java.lang.StackTraceElement[],ch.qos.logback.classic.spi.StackTraceElementProxy[])"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:90,1"
      Dst: "[java.lang.StackTraceElement].getClassName()"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:-1,1"
      Dst: "[java.lang.NullPointerException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:102,1"
      Dst: "[ch.qos.logback.classic.spi.PackagingDataCalculator].computeBySTEP(ch.qos.logback.classic.spi.StackTraceElementProxy,java.lang.ClassLoader)"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:103,1"
      Dst: "[ch.qos.logback.classic.spi.StackTraceElementProxy].setClassPackagingData(ch.qos.logback.classic.spi.ClassPackagingData)"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:106,1"
      Dst: "[ch.qos.logback.classic.spi.PackagingDataCalculator].populateUncommonFrames(int,ch.qos.logback.classic.spi.StackTraceElementProxy[],java.lang.ClassLoader)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.PackagingDataCalculator].populateUncommonFrames(int,ch.qos.logback.classic.spi.StackTraceElementProxy[],java.lang.ClassLoader)"
    functionSourceFile: "ch.qos.logback.classic.spi.PackagingDataCalculator"
    linkageType: null
    functionLinenumber: 110
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "int"
    - "ch.qos.logback.classic.spi.StackTraceElementProxy[]"
    - "java.lang.ClassLoader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.PackagingDataCalculator].computeBySTEP(ch.qos.logback.classic.spi.StackTraceElementProxy,java.lang.ClassLoader)"
    - "[ch.qos.logback.classic.spi.StackTraceElementProxy].setClassPackagingData(ch.qos.logback.classic.spi.ClassPackagingData)"
    functionUses: 1
    ICount: 14
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:112"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:116"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:114,1"
      Dst: "[ch.qos.logback.classic.spi.PackagingDataCalculator].computeBySTEP(ch.qos.logback.classic.spi.StackTraceElementProxy,java.lang.ClassLoader)"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:115,1"
      Dst: "[ch.qos.logback.classic.spi.StackTraceElementProxy].setClassPackagingData(ch.qos.logback.classic.spi.ClassPackagingData)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.PackagingDataCalculator].calculateByExactType(java.lang.Class)"
    functionSourceFile: "ch.qos.logback.classic.spi.PackagingDataCalculator"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 3
    returnType: "ch.qos.logback.classic.spi.ClassPackagingData"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].getName()"
    - "[java.util.HashMap].get(java.lang.Object)"
    - "[ch.qos.logback.classic.spi.PackagingDataCalculator].getImplementationVersion(java.lang.Class)"
    - "[ch.qos.logback.classic.spi.PackagingDataCalculator].getCodeLocation(java.lang.Class)"
    - "[ch.qos.logback.classic.spi.ClassPackagingData].<init>(java.lang.String,java.lang.String)"
    - "[java.util.HashMap].put(java.lang.Object,java.lang.Object)"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:122"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:125"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:124"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:120,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:121,1"
      Dst: "[java.util.HashMap].get(java.lang.Object)"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:125,1"
      Dst: "[ch.qos.logback.classic.spi.PackagingDataCalculator].getImplementationVersion(java.lang.Class)"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:126,1"
      Dst: "[ch.qos.logback.classic.spi.PackagingDataCalculator].getCodeLocation(java.lang.Class)"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:127,1"
      Dst: "[ch.qos.logback.classic.spi.ClassPackagingData].<init>(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:128,1"
      Dst: "[java.util.HashMap].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.PackagingDataCalculator].getImplementationVersion(java.lang.Class)"
    functionSourceFile: "ch.qos.logback.classic.spi.PackagingDataCalculator"
    linkageType: null
    functionLinenumber: 146
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].getPackage()"
    - "[java.lang.Package].getImplementationVersion()"
    functionUses: 1
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:147"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:150"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:149"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:151"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:159"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:158"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:153"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:156"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:155"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:150,1"
      Dst: "[java.lang.Class].getPackage()"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:152,1"
      Dst: "[java.lang.Package].getImplementationVersion()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.PackagingDataCalculator].getCodeLocation(java.lang.Class)"
    functionSourceFile: "ch.qos.logback.classic.spi.PackagingDataCalculator"
    linkageType: null
    functionLinenumber: 164
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.PackagingDataCalculator].getCodeLocation(java.lang.String,char)"
    - "[java.lang.Class].getProtectionDomain()"
    - "[java.security.ProtectionDomain].getCodeSource()"
    - "[java.security.CodeSource].getLocation()"
    - "[java.net.URL].toString()"
    functionUses: 1
    ICount: 17
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:165"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:182"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:168"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:183"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:182"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:170"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:183"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:182"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:174"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:177"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:176"
        BranchSideFuncs:
        - "getCodeLocation(java.lang.String,char)"
    Callsites:
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:167,1"
      Dst: "[java.lang.Class].getProtectionDomain()"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:167,1"
      Dst: "[java.security.ProtectionDomain].getCodeSource()"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:169,1"
      Dst: "[java.security.CodeSource].getLocation()"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:171,1"
      Dst: "[java.net.URL].toString()"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:173,1"
      Dst: "[ch.qos.logback.classic.spi.PackagingDataCalculator].getCodeLocation(java.lang.String,char)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.spi.ClassPackagingData].<init>(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.spi.ClassPackagingData"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ClassPackagingData:30,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.PackagingDataCalculator].computeBySTEP(ch.qos.logback.classic.spi.StackTraceElementProxy,java.lang.ClassLoader)"
    functionSourceFile: "ch.qos.logback.classic.spi.PackagingDataCalculator"
    linkageType: null
    functionLinenumber: 132
    functionDepth: 3
    returnType: "ch.qos.logback.classic.spi.ClassPackagingData"
    argCount: 2
    argTypes:
    - "ch.qos.logback.classic.spi.StackTraceElementProxy"
    - "java.lang.ClassLoader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.PackagingDataCalculator].bestEffortLoadClass(java.lang.ClassLoader,java.lang.String)"
    - "[ch.qos.logback.classic.spi.PackagingDataCalculator].getImplementationVersion(java.lang.Class)"
    - "[ch.qos.logback.classic.spi.PackagingDataCalculator].getCodeLocation(java.lang.Class)"
    - "[ch.qos.logback.classic.spi.ClassPackagingData].<init>(java.lang.String,java.lang.String,boolean)"
    - "[java.lang.StackTraceElement].getClassName()"
    - "[java.util.HashMap].get(java.lang.Object)"
    - "[java.util.HashMap].put(java.lang.Object,java.lang.Object)"
    functionUses: 2
    ICount: 18
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:135"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:138"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:137"
        BranchSideFuncs:
        - "getCodeLocation(java.lang.Class)"
        - "<init>(java.lang.String,java.lang.String,boolean)"
        - "bestEffortLoadClass(java.lang.ClassLoader,java.lang.String)"
        - "getImplementationVersion(java.lang.Class)"
    Callsites:
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:133,1"
      Dst: "[java.lang.StackTraceElement].getClassName()"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:134,1"
      Dst: "[java.util.HashMap].get(java.lang.Object)"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:138,1"
      Dst: "[ch.qos.logback.classic.spi.PackagingDataCalculator].bestEffortLoadClass(java.lang.ClassLoader,java.lang.String)"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:139,1"
      Dst: "[ch.qos.logback.classic.spi.PackagingDataCalculator].getImplementationVersion(java.lang.Class)"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:140,1"
      Dst: "[ch.qos.logback.classic.spi.PackagingDataCalculator].getCodeLocation(java.lang.Class)"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:141,1"
      Dst: "[ch.qos.logback.classic.spi.ClassPackagingData].<init>(java.lang.String,java.lang.String,boolean)"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:142,1"
      Dst: "[java.util.HashMap].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.PackagingDataCalculator].getImplementationVersion(java.lang.Class)"
    functionSourceFile: "ch.qos.logback.classic.spi.PackagingDataCalculator"
    linkageType: null
    functionLinenumber: 146
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].getPackage()"
    - "[java.lang.Package].getImplementationVersion()"
    functionUses: 1
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:147"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:150"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:149"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:151"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:159"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:158"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:153"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:156"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:155"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:150,1"
      Dst: "[java.lang.Class].getPackage()"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:152,1"
      Dst: "[java.lang.Package].getImplementationVersion()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.PackagingDataCalculator].getCodeLocation(java.lang.Class)"
    functionSourceFile: "ch.qos.logback.classic.spi.PackagingDataCalculator"
    linkageType: null
    functionLinenumber: 164
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.PackagingDataCalculator].getCodeLocation(java.lang.String,char)"
    - "[java.lang.Class].getProtectionDomain()"
    - "[java.security.ProtectionDomain].getCodeSource()"
    - "[java.security.CodeSource].getLocation()"
    - "[java.net.URL].toString()"
    functionUses: 1
    ICount: 17
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:165"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:182"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:168"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:183"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:182"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:170"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:183"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:182"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:174"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:177"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:176"
        BranchSideFuncs:
        - "getCodeLocation(java.lang.String,char)"
    Callsites:
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:167,1"
      Dst: "[java.lang.Class].getProtectionDomain()"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:167,1"
      Dst: "[java.security.ProtectionDomain].getCodeSource()"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:169,1"
      Dst: "[java.security.CodeSource].getLocation()"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:171,1"
      Dst: "[java.net.URL].toString()"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:173,1"
      Dst: "[ch.qos.logback.classic.spi.PackagingDataCalculator].getCodeLocation(java.lang.String,char)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.spi.PackagingDataCalculator].getCodeLocation(java.lang.String,char)"
    functionSourceFile: "ch.qos.logback.classic.spi.PackagingDataCalculator"
    linkageType: null
    functionLinenumber: 187
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.PackagingDataCalculator].isFolder(int,java.lang.String)"
    - "[java.lang.String].lastIndexOf(int)"
    - "[java.lang.String].lastIndexOf(int,int)"
    - "[java.lang.String].substring(int)"
    functionUses: 2
    ICount: 18
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:189"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:192"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:191"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:192"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:195"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:194"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:188,1"
      Dst: "[java.lang.String].lastIndexOf(int)"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:189,1"
      Dst: "[ch.qos.logback.classic.spi.PackagingDataCalculator].isFolder(int,java.lang.String)"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:190,1"
      Dst: "[java.lang.String].lastIndexOf(int,int)"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:191,1"
      Dst: "[java.lang.String].substring(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.PackagingDataCalculator].isFolder(int,java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.spi.PackagingDataCalculator"
    linkageType: null
    functionLinenumber: 198
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "int"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].length()"
    functionUses: 1
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:199"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:198"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:199"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:198"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:199,1"
      Dst: "[java.lang.String].length()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.spi.PackagingDataCalculator].loadClass(java.lang.ClassLoader,java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.spi.PackagingDataCalculator"
    linkageType: null
    functionLinenumber: 202
    functionDepth: 0
    returnType: "java.lang.Class"
    argCount: 2
    argTypes:
    - "java.lang.ClassLoader"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ClassLoader].loadClass(java.lang.String)"
    - "[java.lang.Throwable].printStackTrace()"
    functionUses: 2
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:203"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:207"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:206"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:207,1"
      Dst: "[java.lang.ClassLoader].loadClass(java.lang.String)"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:213,1"
      Dst: "[java.lang.Throwable].printStackTrace()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.PackagingDataCalculator].bestEffortLoadClass(java.lang.ClassLoader,java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.spi.PackagingDataCalculator"
    linkageType: null
    functionLinenumber: 224
    functionDepth: 1
    returnType: "java.lang.Class"
    argCount: 2
    argTypes:
    - "java.lang.ClassLoader"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.PackagingDataCalculator].loadClass(java.lang.ClassLoader,java.lang.String)"
    - "[java.lang.Thread].currentThread()"
    - "[java.lang.Thread].getContextClassLoader()"
    - "[java.lang.Class].forName(java.lang.String)"
    - "[java.lang.Throwable].printStackTrace()"
    functionUses: 1
    ICount: 22
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:226"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:229"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:228"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:230"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:233"
        BranchSideFuncs:
        - "loadClass(java.lang.ClassLoader,java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:232"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.PackagingDataCalculator:233"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:238"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.PackagingDataCalculator:237"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:225,1"
      Dst: "[ch.qos.logback.classic.spi.PackagingDataCalculator].loadClass(java.lang.ClassLoader,java.lang.String)"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:229,1"
      Dst: "[java.lang.Thread].currentThread()"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:229,1"
      Dst: "[java.lang.Thread].getContextClassLoader()"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:238,1"
      Dst: "[java.lang.Class].forName(java.lang.String)"
    - Src: "ch.qos.logback.classic.spi.PackagingDataCalculator:244,1"
      Dst: "[java.lang.Throwable].printStackTrace()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].<init>(java.lang.String,java.util.Queue,boolean)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 59
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.util.Queue"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:60,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].getName()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 67
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].makeLoggingEventBuilder(org.slf4j.event.Level)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "org.slf4j.spi.LoggingEventBuilder"
    argCount: 1
    argTypes:
    - "org.slf4j.event.Level"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].makeLoggingEventBuilder(org.slf4j.event.Level)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:73,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:73,1"
      Dst: "[org.slf4j.Logger].makeLoggingEventBuilder(org.slf4j.event.Level)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].atLevel(org.slf4j.event.Level)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "org.slf4j.spi.LoggingEventBuilder"
    argCount: 1
    argTypes:
    - "org.slf4j.event.Level"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].atLevel(org.slf4j.event.Level)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:78,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:78,1"
      Dst: "[org.slf4j.Logger].atLevel(org.slf4j.event.Level)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].isEnabledForLevel(org.slf4j.event.Level)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 82
    functionDepth: 4
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "org.slf4j.event.Level"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.helpers.SubstituteLogger].isEnabledForLevel(org.slf4j.event.Level)"
    - "[org.slf4j.Logger].isEnabledForLevel(org.slf4j.event.Level)"
    functionUses: 2
    ICount: 5
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:83,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:83,1"
      Dst: "[org.slf4j.Logger].isEnabledForLevel(org.slf4j.event.Level)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].isTraceEnabled()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 87
    functionDepth: 4
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.helpers.SubstituteLogger].isTraceEnabled()"
    - "[ch.qos.logback.classic.Logger].isTraceEnabled()"
    - "[org.slf4j.event.EventRecordingLogger:org.slf4j.helpers.NOPLogger].isTraceEnabled()"
    - "[org.slf4j.Logger].isTraceEnabled()"
    functionUses: 2
    ICount: 4
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:88,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:88,1"
      Dst: "[org.slf4j.Logger].isTraceEnabled()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].trace(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].trace(java.lang.String)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:93,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:93,1"
      Dst: "[org.slf4j.Logger].trace(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].trace(java.lang.String,java.lang.Object)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].trace(java.lang.String,java.lang.Object)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:98,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:98,1"
      Dst: "[org.slf4j.Logger].trace(java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].trace(java.lang.String,java.lang.Object,java.lang.Object)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].trace(java.lang.String,java.lang.Object,java.lang.Object)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:103,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:103,1"
      Dst: "[org.slf4j.Logger].trace(java.lang.String,java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].trace(java.lang.String,java.lang.Object[])"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].trace(java.lang.String,java.lang.Object[])"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:108,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:108,1"
      Dst: "[org.slf4j.Logger].trace(java.lang.String,java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].trace(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].trace(java.lang.String,java.lang.Throwable)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:113,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:113,1"
      Dst: "[org.slf4j.Logger].trace(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].isTraceEnabled(org.slf4j.Marker)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "org.slf4j.Marker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].isTraceEnabled(org.slf4j.Marker)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:118,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:118,1"
      Dst: "[org.slf4j.Logger].isTraceEnabled(org.slf4j.Marker)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].trace(org.slf4j.Marker,java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].trace(org.slf4j.Marker,java.lang.String)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:123,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:123,1"
      Dst: "[org.slf4j.Logger].trace(org.slf4j.Marker,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].trace(org.slf4j.Marker,java.lang.String,java.lang.Object)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].trace(org.slf4j.Marker,java.lang.String,java.lang.Object)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:128,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:128,1"
      Dst: "[org.slf4j.Logger].trace(org.slf4j.Marker,java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].trace(org.slf4j.Marker,java.lang.String,java.lang.Object,java.lang.Object)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "void"
    argCount: 4
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].trace(org.slf4j.Marker,java.lang.String,java.lang.Object,java.lang.Object)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:133,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:133,1"
      Dst: "[org.slf4j.Logger].trace(org.slf4j.Marker,java.lang.String,java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].trace(org.slf4j.Marker,java.lang.String,java.lang.Object[])"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].trace(org.slf4j.Marker,java.lang.String,java.lang.Object[])"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:137,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:137,1"
      Dst: "[org.slf4j.Logger].trace(org.slf4j.Marker,java.lang.String,java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].trace(org.slf4j.Marker,java.lang.String,java.lang.Throwable)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].trace(org.slf4j.Marker,java.lang.String,java.lang.Throwable)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:141,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:141,1"
      Dst: "[org.slf4j.Logger].trace(org.slf4j.Marker,java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].atTrace()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "org.slf4j.spi.LoggingEventBuilder"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].atTrace()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:146,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:146,1"
      Dst: "[org.slf4j.Logger].atTrace()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].isDebugEnabled()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 150
    functionDepth: 4
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.helpers.SubstituteLogger].isDebugEnabled()"
    - "[org.slf4j.helpers.NOPLogger].isDebugEnabled()"
    - "[ch.qos.logback.classic.Logger].isDebugEnabled()"
    - "[org.slf4j.event.EventRecordingLogger].isDebugEnabled()"
    - "[org.slf4j.Logger].isDebugEnabled()"
    functionUses: 2
    ICount: 4
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:151,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:151,1"
      Dst: "[org.slf4j.Logger].isDebugEnabled()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].debug(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 155
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.AbstractLogger].debug(java.lang.String)"
    - "[ch.qos.logback.classic.Logger].debug(java.lang.String)"
    - "[org.slf4j.helpers.SubstituteLogger].debug(java.lang.String)"
    - "[org.slf4j.helpers.NOPLogger].debug(java.lang.String)"
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].debug(java.lang.String)"
    functionUses: 2
    ICount: 5
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:156,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:156,1"
      Dst: "[org.slf4j.Logger].debug(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].debug(java.lang.String,java.lang.Object)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 160
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].debug(java.lang.String,java.lang.Object)"
    - "[org.slf4j.helpers.AbstractLogger].debug(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.classic.Logger].debug(java.lang.String,java.lang.Object)"
    - "[org.slf4j.helpers.NOPLogger].debug(java.lang.String,java.lang.Object)"
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].debug(java.lang.String,java.lang.Object)"
    functionUses: 2
    ICount: 6
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:161,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:161,1"
      Dst: "[org.slf4j.Logger].debug(java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].debug(java.lang.String,java.lang.Object,java.lang.Object)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].debug(java.lang.String,java.lang.Object,java.lang.Object)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:166,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:166,1"
      Dst: "[org.slf4j.Logger].debug(java.lang.String,java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].debug(java.lang.String,java.lang.Object[])"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].debug(java.lang.String,java.lang.Object[])"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:171,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:171,1"
      Dst: "[org.slf4j.Logger].debug(java.lang.String,java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].debug(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].debug(java.lang.String,java.lang.Throwable)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:176,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:176,1"
      Dst: "[org.slf4j.Logger].debug(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].isDebugEnabled(org.slf4j.Marker)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "org.slf4j.Marker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].isDebugEnabled(org.slf4j.Marker)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:181,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:181,1"
      Dst: "[org.slf4j.Logger].isDebugEnabled(org.slf4j.Marker)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].debug(org.slf4j.Marker,java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].debug(org.slf4j.Marker,java.lang.String)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:186,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:186,1"
      Dst: "[org.slf4j.Logger].debug(org.slf4j.Marker,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].debug(org.slf4j.Marker,java.lang.String,java.lang.Object)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].debug(org.slf4j.Marker,java.lang.String,java.lang.Object)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:191,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:191,1"
      Dst: "[org.slf4j.Logger].debug(org.slf4j.Marker,java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].debug(org.slf4j.Marker,java.lang.String,java.lang.Object,java.lang.Object)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "void"
    argCount: 4
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].debug(org.slf4j.Marker,java.lang.String,java.lang.Object,java.lang.Object)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:196,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:196,1"
      Dst: "[org.slf4j.Logger].debug(org.slf4j.Marker,java.lang.String,java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].debug(org.slf4j.Marker,java.lang.String,java.lang.Object[])"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].debug(org.slf4j.Marker,java.lang.String,java.lang.Object[])"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:201,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:201,1"
      Dst: "[org.slf4j.Logger].debug(org.slf4j.Marker,java.lang.String,java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].debug(org.slf4j.Marker,java.lang.String,java.lang.Throwable)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].debug(org.slf4j.Marker,java.lang.String,java.lang.Throwable)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:206,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:206,1"
      Dst: "[org.slf4j.Logger].debug(org.slf4j.Marker,java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].atDebug()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "org.slf4j.spi.LoggingEventBuilder"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].atDebug()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:211,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:211,1"
      Dst: "[org.slf4j.Logger].atDebug()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].isInfoEnabled()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 215
    functionDepth: 4
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.helpers.SubstituteLogger].isInfoEnabled()"
    - "[ch.qos.logback.classic.Logger].isInfoEnabled()"
    - "[org.slf4j.helpers.NOPLogger].isInfoEnabled()"
    - "[org.slf4j.event.EventRecordingLogger].isInfoEnabled()"
    - "[org.slf4j.Logger].isInfoEnabled()"
    functionUses: 2
    ICount: 4
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:216,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:216,1"
      Dst: "[org.slf4j.Logger].isInfoEnabled()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].info(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 221
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.helpers.SubstituteLogger].info(java.lang.String)"
    - "[org.slf4j.helpers.AbstractLogger].info(java.lang.String)"
    - "[ch.qos.logback.classic.Logger].info(java.lang.String)"
    - "[org.slf4j.helpers.NOPLogger].info(java.lang.String)"
    - "[org.slf4j.Logger].info(java.lang.String)"
    functionUses: 6
    ICount: 5
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:222,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:222,1"
      Dst: "[org.slf4j.Logger].info(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].info(java.lang.String,java.lang.Object)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].info(java.lang.String,java.lang.Object)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:227,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:227,1"
      Dst: "[org.slf4j.Logger].info(java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].info(java.lang.String,java.lang.Object,java.lang.Object)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].info(java.lang.String,java.lang.Object,java.lang.Object)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:232,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:232,1"
      Dst: "[org.slf4j.Logger].info(java.lang.String,java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].info(java.lang.String,java.lang.Object[])"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].info(java.lang.String,java.lang.Object[])"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:237,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:237,1"
      Dst: "[org.slf4j.Logger].info(java.lang.String,java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].info(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].info(java.lang.String,java.lang.Throwable)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:242,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:242,1"
      Dst: "[org.slf4j.Logger].info(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].isInfoEnabled(org.slf4j.Marker)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "org.slf4j.Marker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].isInfoEnabled(org.slf4j.Marker)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:247,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:247,1"
      Dst: "[org.slf4j.Logger].isInfoEnabled(org.slf4j.Marker)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].info(org.slf4j.Marker,java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].info(org.slf4j.Marker,java.lang.String)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:252,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:252,1"
      Dst: "[org.slf4j.Logger].info(org.slf4j.Marker,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].info(org.slf4j.Marker,java.lang.String,java.lang.Object)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].info(org.slf4j.Marker,java.lang.String,java.lang.Object)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:257,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:257,1"
      Dst: "[org.slf4j.Logger].info(org.slf4j.Marker,java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].info(org.slf4j.Marker,java.lang.String,java.lang.Object,java.lang.Object)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "void"
    argCount: 4
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].info(org.slf4j.Marker,java.lang.String,java.lang.Object,java.lang.Object)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:262,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:262,1"
      Dst: "[org.slf4j.Logger].info(org.slf4j.Marker,java.lang.String,java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].info(org.slf4j.Marker,java.lang.String,java.lang.Object[])"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].info(org.slf4j.Marker,java.lang.String,java.lang.Object[])"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:267,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:267,1"
      Dst: "[org.slf4j.Logger].info(org.slf4j.Marker,java.lang.String,java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].info(org.slf4j.Marker,java.lang.String,java.lang.Throwable)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].info(org.slf4j.Marker,java.lang.String,java.lang.Throwable)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:272,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:272,1"
      Dst: "[org.slf4j.Logger].info(org.slf4j.Marker,java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].atInfo()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "org.slf4j.spi.LoggingEventBuilder"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].atInfo()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:277,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:277,1"
      Dst: "[org.slf4j.Logger].atInfo()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].isWarnEnabled()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 282
    functionDepth: 4
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.helpers.SubstituteLogger].isWarnEnabled()"
    - "[org.slf4j.event.EventRecordingLogger].isWarnEnabled()"
    - "[ch.qos.logback.classic.Logger].isWarnEnabled()"
    - "[org.slf4j.helpers.NOPLogger].isWarnEnabled()"
    - "[org.slf4j.Logger].isWarnEnabled()"
    functionUses: 2
    ICount: 4
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:283,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:283,1"
      Dst: "[org.slf4j.Logger].isWarnEnabled()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].warn(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].warn(java.lang.String)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:288,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:288,1"
      Dst: "[org.slf4j.Logger].warn(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].warn(java.lang.String,java.lang.Object)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].warn(java.lang.String,java.lang.Object)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:293,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:293,1"
      Dst: "[org.slf4j.Logger].warn(java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].warn(java.lang.String,java.lang.Object,java.lang.Object)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].warn(java.lang.String,java.lang.Object,java.lang.Object)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:298,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:298,1"
      Dst: "[org.slf4j.Logger].warn(java.lang.String,java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].warn(java.lang.String,java.lang.Object[])"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].warn(java.lang.String,java.lang.Object[])"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:303,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:303,1"
      Dst: "[org.slf4j.Logger].warn(java.lang.String,java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].warn(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].warn(java.lang.String,java.lang.Throwable)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:308,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:308,1"
      Dst: "[org.slf4j.Logger].warn(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].isWarnEnabled(org.slf4j.Marker)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "org.slf4j.Marker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].isWarnEnabled(org.slf4j.Marker)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:312,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:312,1"
      Dst: "[org.slf4j.Logger].isWarnEnabled(org.slf4j.Marker)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].warn(org.slf4j.Marker,java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].warn(org.slf4j.Marker,java.lang.String)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:317,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:317,1"
      Dst: "[org.slf4j.Logger].warn(org.slf4j.Marker,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].warn(org.slf4j.Marker,java.lang.String,java.lang.Object)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].warn(org.slf4j.Marker,java.lang.String,java.lang.Object)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:322,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:322,1"
      Dst: "[org.slf4j.Logger].warn(org.slf4j.Marker,java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].warn(org.slf4j.Marker,java.lang.String,java.lang.Object,java.lang.Object)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "void"
    argCount: 4
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].warn(org.slf4j.Marker,java.lang.String,java.lang.Object,java.lang.Object)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:327,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:327,1"
      Dst: "[org.slf4j.Logger].warn(org.slf4j.Marker,java.lang.String,java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].warn(org.slf4j.Marker,java.lang.String,java.lang.Object[])"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].warn(org.slf4j.Marker,java.lang.String,java.lang.Object[])"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:332,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:332,1"
      Dst: "[org.slf4j.Logger].warn(org.slf4j.Marker,java.lang.String,java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].warn(org.slf4j.Marker,java.lang.String,java.lang.Throwable)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].warn(org.slf4j.Marker,java.lang.String,java.lang.Throwable)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:337,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:337,1"
      Dst: "[org.slf4j.Logger].warn(org.slf4j.Marker,java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].atWarn()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "org.slf4j.spi.LoggingEventBuilder"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].atWarn()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:342,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:342,1"
      Dst: "[org.slf4j.Logger].atWarn()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].isErrorEnabled()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 348
    functionDepth: 4
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[ch.qos.logback.classic.Logger].isErrorEnabled()"
    - "[org.slf4j.event.EventRecordingLogger].isErrorEnabled()"
    - "[org.slf4j.helpers.SubstituteLogger].isErrorEnabled()"
    - "[org.slf4j.helpers.NOPLogger].isErrorEnabled()"
    - "[org.slf4j.Logger].isErrorEnabled()"
    functionUses: 2
    ICount: 4
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:349,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:349,1"
      Dst: "[org.slf4j.Logger].isErrorEnabled()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].error(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].error(java.lang.String)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:354,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:354,1"
      Dst: "[org.slf4j.Logger].error(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].error(java.lang.String,java.lang.Object)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].error(java.lang.String,java.lang.Object)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:359,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:359,1"
      Dst: "[org.slf4j.Logger].error(java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].error(java.lang.String,java.lang.Object,java.lang.Object)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].error(java.lang.String,java.lang.Object,java.lang.Object)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:364,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:364,1"
      Dst: "[org.slf4j.Logger].error(java.lang.String,java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].error(java.lang.String,java.lang.Object[])"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].error(java.lang.String,java.lang.Object[])"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:369,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:369,1"
      Dst: "[org.slf4j.Logger].error(java.lang.String,java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].error(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 373
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.helpers.SubstituteLogger].error(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.classic.Logger].error(java.lang.String,java.lang.Throwable)"
    - "[org.slf4j.helpers.AbstractLogger].error(java.lang.String,java.lang.Throwable)"
    - "[org.slf4j.helpers.NOPLogger].error(java.lang.String,java.lang.Throwable)"
    - "[org.slf4j.Logger].error(java.lang.String,java.lang.Throwable)"
    functionUses: 2
    ICount: 6
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:374,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:374,1"
      Dst: "[org.slf4j.Logger].error(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].isErrorEnabled(org.slf4j.Marker)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "org.slf4j.Marker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].isErrorEnabled(org.slf4j.Marker)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:379,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:379,1"
      Dst: "[org.slf4j.Logger].isErrorEnabled(org.slf4j.Marker)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].error(org.slf4j.Marker,java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].error(org.slf4j.Marker,java.lang.String)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:384,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:384,1"
      Dst: "[org.slf4j.Logger].error(org.slf4j.Marker,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].error(org.slf4j.Marker,java.lang.String,java.lang.Object)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].error(org.slf4j.Marker,java.lang.String,java.lang.Object)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:389,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:389,1"
      Dst: "[org.slf4j.Logger].error(org.slf4j.Marker,java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].error(org.slf4j.Marker,java.lang.String,java.lang.Object,java.lang.Object)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "void"
    argCount: 4
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].error(org.slf4j.Marker,java.lang.String,java.lang.Object,java.lang.Object)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:394,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:394,1"
      Dst: "[org.slf4j.Logger].error(org.slf4j.Marker,java.lang.String,java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].error(org.slf4j.Marker,java.lang.String,java.lang.Object[])"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].error(org.slf4j.Marker,java.lang.String,java.lang.Object[])"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:399,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:399,1"
      Dst: "[org.slf4j.Logger].error(org.slf4j.Marker,java.lang.String,java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].error(org.slf4j.Marker,java.lang.String,java.lang.Throwable)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "org.slf4j.Marker"
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].error(org.slf4j.Marker,java.lang.String,java.lang.Throwable)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:404,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:404,1"
      Dst: "[org.slf4j.Logger].error(org.slf4j.Marker,java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].atError()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 4
    returnType: "org.slf4j.spi.LoggingEventBuilder"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - "[org.slf4j.Logger].atError()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:409,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    - Src: "org.slf4j.helpers.SubstituteLogger:409,1"
      Dst: "[org.slf4j.Logger].atError()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].equals(java.lang.Object)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 413
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 6
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:414"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:416"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:415"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:416"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:417"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:416"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:416"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:419"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:418"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:421"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:424"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:423"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:416,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "org.slf4j.helpers.SubstituteLogger:421,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.helpers.SubstituteLogger].hashCode()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 428
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].hashCode()"
    functionUses: 4
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:429,1"
      Dst: "[java.lang.String].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].delegate()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 436
    functionDepth: 3
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionUses: 10
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:437"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:440"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:439"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.helpers.SubstituteLogger:440"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:443"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:442"
        BranchSideFuncs:
        - "getEventRecordingLogger()"
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:443,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].getEventRecordingLogger()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 447
    functionDepth: 2
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.event.EventRecordingLogger].<init>(org.slf4j.helpers.SubstituteLogger,java.util.Queue)"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:448"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:451"
        BranchSideFuncs:
        - "<init>(org.slf4j.helpers.SubstituteLogger,java.util.Queue)"
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:450"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:449,1"
      Dst: "[org.slf4j.event.EventRecordingLogger].<init>(org.slf4j.helpers.SubstituteLogger,java.util.Queue)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.helpers.SubstituteLogger].setDelegate(org.slf4j.Logger)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 458
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.slf4j.Logger"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].isDelegateEventAware()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 462
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Boolean].booleanValue()"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getMethod(java.lang.String,java.lang.Class[])"
    functionUses: 3
    ICount: 21
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:463"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:467"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:466"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:464,1"
      Dst: "[java.lang.Boolean].booleanValue()"
    - Src: "org.slf4j.helpers.SubstituteLogger:467,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "org.slf4j.helpers.SubstituteLogger:467,1"
      Dst: "[java.lang.Class].getMethod(java.lang.String,java.lang.Class[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteLogger].log(org.slf4j.event.LoggingEvent)"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 475
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.slf4j.event.LoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLogger].isDelegateEventAware()"
    - "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    functionUses: 1
    ICount: 16
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:476"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:483"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteLogger:476,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].isDelegateEventAware()"
    - Src: "org.slf4j.helpers.SubstituteLogger:478,1"
      Dst: "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.helpers.SubstituteLogger].isDelegateNull()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 486
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.helpers.SubstituteLogger:487"
      Branch Sides:
      - BranchSide: "org.slf4j.helpers.SubstituteLogger:486"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.helpers.SubstituteLogger].isDelegateNOP()"
    functionSourceFile: "org.slf4j.helpers.SubstituteLogger"
    linkageType: null
    functionLinenumber: 490
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.SaxEvent].<init>(java.lang.String,java.lang.String,java.lang.String,org.xml.sax.Locator)"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    - "java.lang.String"
    - "org.xml.sax.Locator"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[org.xml.sax.helpers.LocatorImpl].<init>(org.xml.sax.Locator)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.SaxEvent:26,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.joran.event.SaxEvent:31,1"
      Dst: "[org.xml.sax.helpers.LocatorImpl].<init>(org.xml.sax.Locator)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.SaxEvent].getLocalName()"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.SaxEvent].getLocator()"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEvent"
    linkageType: null
    functionLinenumber: 38
    functionDepth: 0
    returnType: "org.xml.sax.Locator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.SaxEvent].getNamespaceURI()"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.SaxEvent].getQName()"
    functionSourceFile: "ch.qos.logback.core.joran.event.SaxEvent"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.XMLUtil].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.spi.XMLUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.spi.XMLUtil:20,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.spi.XMLUtil].checkIfWellFormed(java.net.URL,ch.qos.logback.core.status.StatusManager)"
    functionSourceFile: "ch.qos.logback.core.joran.spi.XMLUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.net.URL"
    - "ch.qos.logback.core.status.StatusManager"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.LoginAuthenticator].<init>(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.net.LoginAuthenticator"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jakarta.mail.Authenticator].<init>()"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.LoginAuthenticator:27,1"
      Dst: "[jakarta.mail.Authenticator].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.LoginAuthenticator].getPasswordAuthentication()"
    functionSourceFile: "ch.qos.logback.core.net.LoginAuthenticator"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "jakarta.mail.PasswordAuthentication"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jakarta.mail.PasswordAuthentication].<init>(java.lang.String,java.lang.String)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.LoginAuthenticator:33,1"
      Dst: "[jakarta.mail.PasswordAuthentication].<init>(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.DefinePropertyAction].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.action.DefinePropertyAction"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.DefinePropertyAction:29,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.DefinePropertyAction].validPreconditions(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.DefinePropertyAction"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 4
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].<init>(ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].validateClassAttribute()"
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].validateNameAttribute()"
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].isValid()"
    functionUses: 1
    ICount: 10
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.DefinePropertyAction:33,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].<init>(ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    - Src: "ch.qos.logback.core.joran.action.DefinePropertyAction:34,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].validateClassAttribute()"
    - Src: "ch.qos.logback.core.joran.action.DefinePropertyAction:35,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].validateNameAttribute()"
    - Src: "ch.qos.logback.core.joran.action.DefinePropertyAction:36,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].isValid()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].<init>(ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 1
    returnType: "void"
    argCount: 4
    argTypes:
    - "ch.qos.logback.core.spi.ContextAware"
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>(ch.qos.logback.core.spi.ContextAware)"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].getContext()"
    - "[ch.qos.logback.core.pattern.DynamicConverter].getContext()"
    - "[ch.qos.logback.core.LayoutBase:ch.qos.logback.core.spi.ContextAwareBase:ch.qos.logback.core.spi.ContextAwareImpl].getContext()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAware].getContext()"
    functionUses: 16
    ICount: 13
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:33,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>(ch.qos.logback.core.spi.ContextAware)"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:34,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].getContext()"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:34,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].validateClassAttribute()"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 53
    functionDepth: 3
    returnType: "ch.qos.logback.core.joran.action.PreconditionValidator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].generic(java.lang.String)"
    functionUses: 6
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:54,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].generic(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].validateNameAttribute()"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 57
    functionDepth: 3
    returnType: "ch.qos.logback.core.joran.action.PreconditionValidator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].generic(java.lang.String)"
    functionUses: 5
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:58,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].generic(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].isValid()"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 79
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 16
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.DefinePropertyAction].buildCurrentModel(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.DefinePropertyAction"
    linkageType: null
    functionLinenumber: 41
    functionDepth: 4
    returnType: "ch.qos.logback.core.model.Model"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.DefineModel].<init>()"
    - "[org.xml.sax.helpers.AttributesImpl].getValue(java.lang.String)"
    - "[ch.qos.logback.core.model.ComponentModel].setClassName(java.lang.String)"
    - "[ch.qos.logback.core.model.NamedComponentModel].setName(java.lang.String)"
    - "[ch.qos.logback.core.model.DefineModel].setScopeStr(java.lang.String)"
    - "[org.xml.sax.Attributes].getValue(java.lang.String)"
    functionUses: 1
    ICount: 13
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.DefinePropertyAction:42,1"
      Dst: "[ch.qos.logback.core.model.DefineModel].<init>()"
    - Src: "ch.qos.logback.core.joran.action.DefinePropertyAction:43,1"
      Dst: "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.DefinePropertyAction:43,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].setClassName(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.DefinePropertyAction:44,1"
      Dst: "[ch.qos.logback.core.model.NamedComponentModel].setName(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.DefinePropertyAction:45,1"
      Dst: "[ch.qos.logback.core.model.DefineModel].setScopeStr(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.DefineModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.DefineModel"
    linkageType: null
    functionLinenumber: 17
    functionDepth: 3
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.NamedComponentModel].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.DefineModel:18,1"
      Dst: "[ch.qos.logback.core.model.NamedComponentModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ComponentModel].setClassName(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.ComponentModel"
    linkageType: null
    functionLinenumber: 47
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 9
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.NamedComponentModel].setName(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.NamedComponentModel"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.DefineModel].setScopeStr(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.DefineModel"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.CachingDateFormatter].<init>(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.CachingDateFormatter"
    linkageType: null
    functionLinenumber: 47
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.CachingDateFormatter].<init>(java.lang.String,java.time.ZoneId)"
    functionUses: 3
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:48,1"
      Dst: "[ch.qos.logback.core.util.CachingDateFormatter].<init>(java.lang.String,java.time.ZoneId)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.CachingDateFormatter].<init>(java.lang.String,java.time.ZoneId)"
    functionSourceFile: "ch.qos.logback.core.util.CachingDateFormatter"
    linkageType: null
    functionLinenumber: 51
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.time.ZoneId"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.CachingDateFormatter].<init>(java.lang.String,java.time.ZoneId,java.util.Locale)"
    functionUses: 3
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:52,1"
      Dst: "[ch.qos.logback.core.util.CachingDateFormatter].<init>(java.lang.String,java.time.ZoneId,java.util.Locale)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.CachingDateFormatter].<init>(java.lang.String,java.time.ZoneId,java.util.Locale)"
    functionSourceFile: "ch.qos.logback.core.util.CachingDateFormatter"
    linkageType: null
    functionLinenumber: 54
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.time.ZoneId"
    - "java.util.Locale"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.CachingDateFormatter$CacheTuple].<init>(long,java.lang.String)"
    - "[java.lang.Object].<init>()"
    - "[java.time.ZoneId].systemDefault()"
    - "[java.util.Locale].getDefault()"
    - "[java.time.format.DateTimeFormatter].ofPattern(java.lang.String)"
    - "[java.time.format.DateTimeFormatter].withZone(java.time.ZoneId)"
    - "[java.time.format.DateTimeFormatter].withLocale(java.util.Locale)"
    - "[java.util.concurrent.atomic.AtomicReference].<init>(java.lang.Object)"
    functionUses: 2
    ICount: 25
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.CachingDateFormatter:56"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.CachingDateFormatter:59"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.CachingDateFormatter:58"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.CachingDateFormatter:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.CachingDateFormatter:60"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:55,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:57,1"
      Dst: "[java.time.ZoneId].systemDefault()"
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:61,1"
      Dst: "[java.util.Locale].getDefault()"
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:63,1"
      Dst: "[java.time.format.DateTimeFormatter].ofPattern(java.lang.String)"
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:63,1"
      Dst: "[java.time.format.DateTimeFormatter].withZone(java.time.ZoneId)"
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:63,1"
      Dst: "[java.time.format.DateTimeFormatter].withLocale(java.util.Locale)"
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:64,1"
      Dst: "[ch.qos.logback.core.util.CachingDateFormatter$CacheTuple].<init>(long,java.lang.String)"
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:65,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].<init>(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.util.CachingDateFormatter].format(long)"
    functionSourceFile: "ch.qos.logback.core.util.CachingDateFormatter"
    linkageType: null
    functionLinenumber: 68
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.CachingDateFormatter$CacheTuple].<init>(long,java.lang.String)"
    - "[java.util.concurrent.atomic.AtomicReference].get()"
    - "[java.time.Instant].ofEpochMilli(long)"
    - "[java.time.format.DateTimeFormatter].format(java.time.temporal.TemporalAccessor)"
    - "[java.util.concurrent.atomic.AtomicReference].compareAndSet(java.lang.Object,java.lang.Object)"
    functionUses: 6
    ICount: 19
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.CachingDateFormatter:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.CachingDateFormatter:79"
        BranchSideFuncs:
        - "<init>(long,java.lang.String)"
      - BranchSide: "ch.qos.logback.core.util.CachingDateFormatter:78"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:69,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].get()"
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:73,1"
      Dst: "[java.time.Instant].ofEpochMilli(long)"
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:74,1"
      Dst: "[java.time.format.DateTimeFormatter].format(java.time.temporal.TemporalAccessor)"
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:75,1"
      Dst: "[ch.qos.logback.core.util.CachingDateFormatter$CacheTuple].<init>(long,java.lang.String)"
    - Src: "ch.qos.logback.core.util.CachingDateFormatter:77,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].compareAndSet(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.sift.JNDIBasedContextDiscriminator].<init>()"
    functionSourceFile: "ch.qos.logback.classic.sift.JNDIBasedContextDiscriminator"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.sift.AbstractDiscriminator].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.sift.JNDIBasedContextDiscriminator:32,1"
      Dst: "[ch.qos.logback.core.sift.AbstractDiscriminator].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.sift.JNDIBasedContextDiscriminator].getDiscriminatingValue(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.sift.JNDIBasedContextDiscriminator"
    linkageType: null
    functionLinenumber: 40
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.util.ContextSelectorStaticBinder].getContextSelector()"
    - "[ch.qos.logback.classic.util.ContextSelectorStaticBinder].getSingleton()"
    - "[ch.qos.logback.classic.selector.DefaultContextSelector].getLoggerContext()"
    - "[ch.qos.logback.classic.selector.ContextJNDISelector].getLoggerContext()"
    - "[ch.qos.logback.core.ContextBase].getName()"
    - "[ch.qos.logback.classic.selector.ContextSelector].getLoggerContext()"
    functionUses: 1
    ICount: 13
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.sift.JNDIBasedContextDiscriminator:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.sift.JNDIBasedContextDiscriminator:47"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.sift.JNDIBasedContextDiscriminator:46"
        BranchSideFuncs:
        - "getLoggerContext()"
    - Branch String: "ch.qos.logback.classic.sift.JNDIBasedContextDiscriminator:48"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.sift.JNDIBasedContextDiscriminator:52"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.sift.JNDIBasedContextDiscriminator:51"
        BranchSideFuncs:
        - "getName()"
    Callsites:
    - Src: "ch.qos.logback.classic.sift.JNDIBasedContextDiscriminator:41,1"
      Dst: "[ch.qos.logback.classic.util.ContextSelectorStaticBinder].getSingleton()"
    - Src: "ch.qos.logback.classic.sift.JNDIBasedContextDiscriminator:41,1"
      Dst: "[ch.qos.logback.classic.util.ContextSelectorStaticBinder].getContextSelector()"
    - Src: "ch.qos.logback.classic.sift.JNDIBasedContextDiscriminator:47,1"
      Dst: "[ch.qos.logback.classic.selector.ContextSelector].getLoggerContext()"
    - Src: "ch.qos.logback.classic.sift.JNDIBasedContextDiscriminator:52,1"
      Dst: "[ch.qos.logback.core.ContextBase].getName()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.ContextSelectorStaticBinder].getSingleton()"
    functionSourceFile: "ch.qos.logback.classic.util.ContextSelectorStaticBinder"
    linkageType: null
    functionLinenumber: 40
    functionDepth: 0
    returnType: "ch.qos.logback.classic.util.ContextSelectorStaticBinder"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.ContextSelectorStaticBinder].getContextSelector()"
    functionSourceFile: "ch.qos.logback.classic.util.ContextSelectorStaticBinder"
    linkageType: null
    functionLinenumber: 96
    functionDepth: 0
    returnType: "ch.qos.logback.classic.selector.ContextSelector"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].getName()"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 157
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 12
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.sift.JNDIBasedContextDiscriminator].getKey()"
    functionSourceFile: "ch.qos.logback.classic.sift.JNDIBasedContextDiscriminator"
    linkageType: null
    functionLinenumber: 55
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.sift.JNDIBasedContextDiscriminator].setKey(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.sift.JNDIBasedContextDiscriminator"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.UnsupportedOperationException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.sift.JNDIBasedContextDiscriminator:60,1"
      Dst: "[java.lang.UnsupportedOperationException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.sift.JNDIBasedContextDiscriminator].getDefaultValue()"
    functionSourceFile: "ch.qos.logback.classic.sift.JNDIBasedContextDiscriminator"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.sift.JNDIBasedContextDiscriminator].setDefaultValue(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.sift.JNDIBasedContextDiscriminator"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.sift.JNDIBasedContextDiscriminator].getDiscriminatingValue(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.sift.JNDIBasedContextDiscriminator"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.sift.JNDIBasedContextDiscriminator].getDiscriminatingValue(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.sift.JNDIBasedContextDiscriminator:32,1"
      Dst: "[ch.qos.logback.classic.sift.JNDIBasedContextDiscriminator].getDiscriminatingValue(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.sift.JNDIBasedContextDiscriminator].getDiscriminatingValue(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.sift.JNDIBasedContextDiscriminator"
    linkageType: null
    functionLinenumber: 40
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.util.ContextSelectorStaticBinder].getContextSelector()"
    - "[ch.qos.logback.classic.util.ContextSelectorStaticBinder].getSingleton()"
    - "[ch.qos.logback.classic.selector.DefaultContextSelector].getLoggerContext()"
    - "[ch.qos.logback.classic.selector.ContextJNDISelector].getLoggerContext()"
    - "[ch.qos.logback.core.ContextBase].getName()"
    - "[ch.qos.logback.classic.selector.ContextSelector].getLoggerContext()"
    functionUses: 1
    ICount: 13
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.sift.JNDIBasedContextDiscriminator:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.sift.JNDIBasedContextDiscriminator:47"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.sift.JNDIBasedContextDiscriminator:46"
        BranchSideFuncs:
        - "getLoggerContext()"
    - Branch String: "ch.qos.logback.classic.sift.JNDIBasedContextDiscriminator:48"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.sift.JNDIBasedContextDiscriminator:52"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.sift.JNDIBasedContextDiscriminator:51"
        BranchSideFuncs:
        - "getName()"
    Callsites:
    - Src: "ch.qos.logback.classic.sift.JNDIBasedContextDiscriminator:41,1"
      Dst: "[ch.qos.logback.classic.util.ContextSelectorStaticBinder].getSingleton()"
    - Src: "ch.qos.logback.classic.sift.JNDIBasedContextDiscriminator:41,1"
      Dst: "[ch.qos.logback.classic.util.ContextSelectorStaticBinder].getContextSelector()"
    - Src: "ch.qos.logback.classic.sift.JNDIBasedContextDiscriminator:47,1"
      Dst: "[ch.qos.logback.classic.selector.ContextSelector].getLoggerContext()"
    - Src: "ch.qos.logback.classic.sift.JNDIBasedContextDiscriminator:52,1"
      Dst: "[ch.qos.logback.core.ContextBase].getName()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.SyslogOutputStream].<init>(java.lang.String,int)"
    functionSourceFile: "ch.qos.logback.core.net.SyslogOutputStream"
    linkageType: null
    functionLinenumber: 41
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.OutputStream].<init>()"
    - "[java.io.ByteArrayOutputStream].<init>()"
    - "[java.net.InetAddress].getByName(java.lang.String)"
    - "[java.net.DatagramSocket].<init>()"
    functionUses: 2
    ICount: 14
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.SyslogOutputStream:42,1"
      Dst: "[java.io.OutputStream].<init>()"
    - Src: "ch.qos.logback.core.net.SyslogOutputStream:39,1"
      Dst: "[java.io.ByteArrayOutputStream].<init>()"
    - Src: "ch.qos.logback.core.net.SyslogOutputStream:43,1"
      Dst: "[java.net.InetAddress].getByName(java.lang.String)"
    - Src: "ch.qos.logback.core.net.SyslogOutputStream:45,1"
      Dst: "[java.net.DatagramSocket].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.SyslogOutputStream].write(byte[],int,int)"
    functionSourceFile: "ch.qos.logback.core.net.SyslogOutputStream"
    linkageType: null
    functionLinenumber: 48
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "byte[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.ByteArrayOutputStream].write(byte[],int,int)"
    functionUses: 2
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.SyslogOutputStream:49,1"
      Dst: "[java.io.ByteArrayOutputStream].write(byte[],int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.SyslogOutputStream].flush()"
    functionSourceFile: "ch.qos.logback.core.net.SyslogOutputStream"
    linkageType: null
    functionLinenumber: 52
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.ByteArrayOutputStream].toByteArray()"
    - "[java.net.DatagramPacket].<init>(byte[],int,java.net.InetAddress,int)"
    - "[java.io.ByteArrayOutputStream].size()"
    - "[java.io.ByteArrayOutputStream].<init>()"
    - "[java.io.ByteArrayOutputStream].reset()"
    - "[java.net.DatagramSocket].send(java.net.DatagramPacket)"
    functionUses: 5
    ICount: 25
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.SyslogOutputStream:57"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.SyslogOutputStream:60"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.SyslogOutputStream:59"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.net.SyslogOutputStream:65"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.SyslogOutputStream:68"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.SyslogOutputStream:67"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.net.SyslogOutputStream:68"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.SyslogOutputStream:72"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.SyslogOutputStream:71"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.SyslogOutputStream:53,1"
      Dst: "[java.io.ByteArrayOutputStream].toByteArray()"
    - Src: "ch.qos.logback.core.net.SyslogOutputStream:54,1"
      Dst: "[java.net.DatagramPacket].<init>(byte[],int,java.net.InetAddress,int)"
    - Src: "ch.qos.logback.core.net.SyslogOutputStream:57,1"
      Dst: "[java.io.ByteArrayOutputStream].size()"
    - Src: "ch.qos.logback.core.net.SyslogOutputStream:58,1"
      Dst: "[java.io.ByteArrayOutputStream].<init>()"
    - Src: "ch.qos.logback.core.net.SyslogOutputStream:60,1"
      Dst: "[java.io.ByteArrayOutputStream].reset()"
    - Src: "ch.qos.logback.core.net.SyslogOutputStream:69,1"
      Dst: "[java.net.DatagramSocket].send(java.net.DatagramPacket)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.net.SyslogOutputStream].close()"
    functionSourceFile: "ch.qos.logback.core.net.SyslogOutputStream"
    linkageType: null
    functionLinenumber: 74
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.SyslogOutputStream].getPort()"
    functionSourceFile: "ch.qos.logback.core.net.SyslogOutputStream"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.SyslogOutputStream].write(int)"
    functionSourceFile: "ch.qos.logback.core.net.SyslogOutputStream"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.ByteArrayOutputStream].write(int)"
    functionUses: 2
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.SyslogOutputStream:85,1"
      Dst: "[java.io.ByteArrayOutputStream].write(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.SyslogOutputStream].getSendBufferSize()"
    functionSourceFile: "ch.qos.logback.core.net.SyslogOutputStream"
    linkageType: null
    functionLinenumber: 88
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.net.DatagramSocket].getSendBufferSize()"
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.SyslogOutputStream:89,1"
      Dst: "[java.net.DatagramSocket].getSendBufferSize()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__97].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__97"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__97].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__97:-1,1"
      Dst: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__97].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__97].<init>()"
    functionSourceFile: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__97"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__97:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__97].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__97"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.ParamModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.AppenderFactoryUsingSiftModel$makeInstance__97:-1,1"
      Dst: "[ch.qos.logback.core.joran.ParamModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ParamModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.joran.ParamModelHandler"
    linkageType: null
    functionLinenumber: 21
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.ParamModelHandler].<init>(ch.qos.logback.core.Context,ch.qos.logback.core.joran.util.beans.BeanDescriptionCache)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getBeanDescriptionCache()"
    functionUses: 2
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ParamModelHandler:22,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getBeanDescriptionCache()"
    - Src: "ch.qos.logback.core.joran.ParamModelHandler:22,1"
      Dst: "[ch.qos.logback.core.joran.ParamModelHandler].<init>(ch.qos.logback.core.Context,ch.qos.logback.core.joran.util.beans.BeanDescriptionCache)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread].<init>(ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter)"
    functionSourceFile: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread"
    linkageType: null
    functionLinenumber: 181
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:182,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread].run()"
    functionSourceFile: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread"
    linkageType: null
    functionLinenumber: 183
    functionDepth: 8
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].access$000(ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter)"
    - "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].access$100(ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter)"
    - "[ch.qos.logback.core.ContextBase].getName()"
    - "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread].performXMLConfiguration(ch.qos.logback.classic.LoggerContext)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.Context].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.net.URL].toString()"
    - "[java.lang.String].endsWith(java.lang.String)"
    functionUses: 2
    ICount: 31
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:184"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:188"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:187"
        BranchSideFuncs:
        - "getName()"
        - "access$000(ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter)"
        - "access$100(ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter)"
        - "addInfo(java.lang.String)"
    - Branch String: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:190"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:192"
        BranchSideFuncs:
        - "performXMLConfiguration(ch.qos.logback.classic.LoggerContext)"
      - BranchSide: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:191"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:192"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:195"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:194"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:185,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:188,1"
      Dst: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].access$000(ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:189,1"
      Dst: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].access$100(ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:189,1"
      Dst: "[ch.qos.logback.core.Context].getName()"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:189,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:190,1"
      Dst: "[java.net.URL].toString()"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:190,1"
      Dst: "[java.lang.String].endsWith(java.lang.String)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:191,1"
      Dst: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread].performXMLConfiguration(ch.qos.logback.classic.LoggerContext)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:193,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].access$000(ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter)"
    functionSourceFile: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter"
    linkageType: null
    functionLinenumber: 41
    functionDepth: 0
    returnType: "ch.qos.logback.core.Context"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].access$100(ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter)"
    functionSourceFile: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter"
    linkageType: null
    functionLinenumber: 41
    functionDepth: 0
    returnType: "ch.qos.logback.core.Context"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread].performXMLConfiguration(ch.qos.logback.classic.LoggerContext)"
    functionSourceFile: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread"
    linkageType: null
    functionLinenumber: 197
    functionDepth: 7
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.LoggerContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator].<init>()"
    - "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].access$200(ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.status.StatusUtil].<init>(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].access$300(ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter)"
    - "[ch.qos.logback.core.joran.GenericXMLConfigurator].recallSafeConfiguration()"
    - "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].access$400(ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter)"
    - "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].getMainWatchURL(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.classic.LoggerContext].reset()"
    - "[ch.qos.logback.core.joran.GenericXMLConfigurator].doConfigure(java.net.URL)"
    - "[ch.qos.logback.core.status.StatusUtil].hasXMLParsingErrors(long)"
    - "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread].fallbackConfiguration(ch.qos.logback.classic.LoggerContext,ch.qos.logback.core.model.Model,java.net.URL)"
    - "[java.lang.System].currentTimeMillis()"
    functionUses: 1
    ICount: 27
    EdgeCount: 13
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:207"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:212"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:211"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:198,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator].<init>()"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:199,1"
      Dst: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].access$200(ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:199,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:200,1"
      Dst: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].access$300(ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:200,1"
      Dst: "[ch.qos.logback.core.status.StatusUtil].<init>(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:201,1"
      Dst: "[ch.qos.logback.core.joran.GenericXMLConfigurator].recallSafeConfiguration()"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:202,1"
      Dst: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].access$400(ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:202,1"
      Dst: "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].getMainWatchURL(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:203,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].reset()"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:204,1"
      Dst: "[java.lang.System].currentTimeMillis()"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:206,1"
      Dst: "[ch.qos.logback.core.joran.GenericXMLConfigurator].doConfigure(java.net.URL)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:207,1"
      Dst: "[ch.qos.logback.core.status.StatusUtil].hasXMLParsingErrors(long)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:208,1"
      Dst: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread].fallbackConfiguration(ch.qos.logback.classic.LoggerContext,ch.qos.logback.core.model.Model,java.net.URL)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase].<init>()"
    functionUses: 7
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:43,1"
      Dst: "[ch.qos.logback.core.joran.JoranConfiguratorBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].access$200(ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter)"
    functionSourceFile: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter"
    linkageType: null
    functionLinenumber: 41
    functionDepth: 0
    returnType: "ch.qos.logback.core.Context"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 67
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:45"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:44"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:47"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:46,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].access$300(ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter)"
    functionSourceFile: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter"
    linkageType: null
    functionLinenumber: 41
    functionDepth: 0
    returnType: "ch.qos.logback.core.Context"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.StatusUtil].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.status.StatusUtil"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - "[java.lang.Object].<init>()"
    - "[ch.qos.logback.core.Context].getStatusManager()"
    functionUses: 4
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.StatusUtil:33,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.status.StatusUtil:34,1"
      Dst: "[ch.qos.logback.core.Context].getStatusManager()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].access$400(ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter)"
    functionSourceFile: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter"
    linkageType: null
    functionLinenumber: 41
    functionDepth: 0
    returnType: "ch.qos.logback.core.Context"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].getMainWatchURL(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil"
    linkageType: null
    functionLinenumber: 53
    functionDepth: 1
    returnType: "java.net.URL"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].getConfigurationWatchList(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].getMainURL()"
    functionUses: 3
    ICount: 6
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:55"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:58"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:57"
        BranchSideFuncs:
        - "getMainURL()"
    Callsites:
    - Src: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:54,1"
      Dst: "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].getConfigurationWatchList(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.joran.util.ConfigurationWatchListUtil:58,1"
      Dst: "[ch.qos.logback.core.joran.spi.ConfigurationWatchList].getMainURL()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].reset()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 358
    functionDepth: 5
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].reset()"
    - "[ch.qos.logback.classic.LoggerContext].initEvaluatorMap()"
    - "[ch.qos.logback.core.ContextBase].initCollisionMaps()"
    - "[ch.qos.logback.classic.Logger].recursiveReset()"
    - "[ch.qos.logback.classic.LoggerContext].resetTurboFilterList()"
    - "[ch.qos.logback.classic.LoggerContext].cancelScheduledTasks()"
    - "[ch.qos.logback.classic.LoggerContext].fireOnReset()"
    - "[ch.qos.logback.classic.LoggerContext].resetListenersExceptResetResistant()"
    - "[ch.qos.logback.classic.LoggerContext].resetStatusListenersExceptResetResistant()"
    functionUses: 6
    ICount: 15
    EdgeCount: 9
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:360,1"
      Dst: "[ch.qos.logback.core.ContextBase].reset()"
    - Src: "ch.qos.logback.classic.LoggerContext:361,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].initEvaluatorMap()"
    - Src: "ch.qos.logback.classic.LoggerContext:362,1"
      Dst: "[ch.qos.logback.core.ContextBase].initCollisionMaps()"
    - Src: "ch.qos.logback.classic.LoggerContext:363,1"
      Dst: "[ch.qos.logback.classic.Logger].recursiveReset()"
    - Src: "ch.qos.logback.classic.LoggerContext:364,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].resetTurboFilterList()"
    - Src: "ch.qos.logback.classic.LoggerContext:365,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].cancelScheduledTasks()"
    - Src: "ch.qos.logback.classic.LoggerContext:366,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].fireOnReset()"
    - Src: "ch.qos.logback.classic.LoggerContext:367,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].resetListenersExceptResetResistant()"
    - Src: "ch.qos.logback.classic.LoggerContext:368,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].resetStatusListenersExceptResetResistant()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.StatusUtil].hasXMLParsingErrors(long)"
    functionSourceFile: "ch.qos.logback.core.status.StatusUtil"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusUtil].containsMatch(long,int,java.lang.String)"
    functionUses: 3
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.StatusUtil:85,1"
      Dst: "[ch.qos.logback.core.status.StatusUtil].containsMatch(long,int,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread].fallbackConfiguration(ch.qos.logback.classic.LoggerContext,ch.qos.logback.core.model.Model,java.net.URL)"
    functionSourceFile: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread"
    linkageType: null
    functionLinenumber: 215
    functionDepth: 6
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.classic.LoggerContext"
    - "ch.qos.logback.core.model.Model"
    - "java.net.URL"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator].<init>()"
    - "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].access$500(ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.classic.LoggerContext].reset()"
    - "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].access$600(ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter)"
    - "[ch.qos.logback.core.joran.GenericXMLConfigurator].informContextOfURLUsedForConfiguration(ch.qos.logback.core.Context,java.net.URL)"
    - "[ch.qos.logback.core.model.ModelUtil].resetForReuse(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.joran.GenericXMLConfigurator].processModel(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.joran.GenericXMLConfigurator].registerSafeConfiguration(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    functionUses: 2
    ICount: 29
    EdgeCount: 13
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:218"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:231"
        BranchSideFuncs:
        - "informContextOfURLUsedForConfiguration(ch.qos.logback.core.Context,java.net.URL)"
        - "reset()"
        - "registerSafeConfiguration(ch.qos.logback.core.model.Model)"
        - "processModel(ch.qos.logback.core.model.Model)"
        - "addError(java.lang.String,java.lang.Throwable)"
        - "access$600(ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter)"
        - "resetForReuse(ch.qos.logback.core.model.Model)"
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:230"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:216,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator].<init>()"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:217,1"
      Dst: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].access$500(ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:217,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:219,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:221,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].reset()"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:222,1"
      Dst: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].access$600(ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:222,1"
      Dst: "[ch.qos.logback.core.joran.GenericXMLConfigurator].informContextOfURLUsedForConfiguration(ch.qos.logback.core.Context,java.net.URL)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:223,1"
      Dst: "[ch.qos.logback.core.model.ModelUtil].resetForReuse(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:224,1"
      Dst: "[ch.qos.logback.core.joran.GenericXMLConfigurator].processModel(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:225,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:226,1"
      Dst: "[ch.qos.logback.core.joran.GenericXMLConfigurator].registerSafeConfiguration(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:228,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].access$500(ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter)"
    functionSourceFile: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter"
    linkageType: null
    functionLinenumber: 41
    functionDepth: 0
    returnType: "ch.qos.logback.core.Context"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 96
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].access$600(ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter)"
    functionSourceFile: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter"
    linkageType: null
    functionLinenumber: 41
    functionDepth: 0
    returnType: "ch.qos.logback.core.Context"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ModelUtil].resetForReuse(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.ModelUtil"
    linkageType: null
    functionLinenumber: 13
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].resetForReuse()"
    functionUses: 3
    ICount: 5
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.ModelUtil:14"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.ModelUtil:16"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.ModelUtil:15"
        BranchSideFuncs:
        - "resetForReuse()"
    Callsites:
    - Src: "ch.qos.logback.core.model.ModelUtil:16,1"
      Dst: "[ch.qos.logback.core.model.Model].resetForReuse()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 74
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread].performXMLConfiguration(ch.qos.logback.classic.LoggerContext)"
    functionSourceFile: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread"
    linkageType: null
    functionLinenumber: 197
    functionDepth: 7
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.LoggerContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator].<init>()"
    - "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].access$200(ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.status.StatusUtil].<init>(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].access$300(ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter)"
    - "[ch.qos.logback.core.joran.GenericXMLConfigurator].recallSafeConfiguration()"
    - "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].access$400(ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter)"
    - "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].getMainWatchURL(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.classic.LoggerContext].reset()"
    - "[ch.qos.logback.core.joran.GenericXMLConfigurator].doConfigure(java.net.URL)"
    - "[ch.qos.logback.core.status.StatusUtil].hasXMLParsingErrors(long)"
    - "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread].fallbackConfiguration(ch.qos.logback.classic.LoggerContext,ch.qos.logback.core.model.Model,java.net.URL)"
    - "[java.lang.System].currentTimeMillis()"
    functionUses: 1
    ICount: 27
    EdgeCount: 13
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:207"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:212"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:211"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:198,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator].<init>()"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:199,1"
      Dst: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].access$200(ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:199,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:200,1"
      Dst: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].access$300(ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:200,1"
      Dst: "[ch.qos.logback.core.status.StatusUtil].<init>(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:201,1"
      Dst: "[ch.qos.logback.core.joran.GenericXMLConfigurator].recallSafeConfiguration()"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:202,1"
      Dst: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].access$400(ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:202,1"
      Dst: "[ch.qos.logback.core.joran.util.ConfigurationWatchListUtil].getMainWatchURL(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:203,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].reset()"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:204,1"
      Dst: "[java.lang.System].currentTimeMillis()"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:206,1"
      Dst: "[ch.qos.logback.core.joran.GenericXMLConfigurator].doConfigure(java.net.URL)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:207,1"
      Dst: "[ch.qos.logback.core.status.StatusUtil].hasXMLParsingErrors(long)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:208,1"
      Dst: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread].fallbackConfiguration(ch.qos.logback.classic.LoggerContext,ch.qos.logback.core.model.Model,java.net.URL)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread].fallbackConfiguration(ch.qos.logback.classic.LoggerContext,ch.qos.logback.core.model.Model,java.net.URL)"
    functionSourceFile: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread"
    linkageType: null
    functionLinenumber: 215
    functionDepth: 6
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.classic.LoggerContext"
    - "ch.qos.logback.core.model.Model"
    - "java.net.URL"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator].<init>()"
    - "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].access$500(ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.classic.LoggerContext].reset()"
    - "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].access$600(ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter)"
    - "[ch.qos.logback.core.joran.GenericXMLConfigurator].informContextOfURLUsedForConfiguration(ch.qos.logback.core.Context,java.net.URL)"
    - "[ch.qos.logback.core.model.ModelUtil].resetForReuse(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.joran.GenericXMLConfigurator].processModel(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.joran.GenericXMLConfigurator].registerSafeConfiguration(ch.qos.logback.core.model.Model)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    functionUses: 2
    ICount: 29
    EdgeCount: 13
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:218"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:231"
        BranchSideFuncs:
        - "informContextOfURLUsedForConfiguration(ch.qos.logback.core.Context,java.net.URL)"
        - "reset()"
        - "registerSafeConfiguration(ch.qos.logback.core.model.Model)"
        - "processModel(ch.qos.logback.core.model.Model)"
        - "addError(java.lang.String,java.lang.Throwable)"
        - "access$600(ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter)"
        - "resetForReuse(ch.qos.logback.core.model.Model)"
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:230"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:216,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator].<init>()"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:217,1"
      Dst: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].access$500(ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:217,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:219,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:221,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].reset()"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:222,1"
      Dst: "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].access$600(ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:222,1"
      Dst: "[ch.qos.logback.core.joran.GenericXMLConfigurator].informContextOfURLUsedForConfiguration(ch.qos.logback.core.Context,java.net.URL)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:223,1"
      Dst: "[ch.qos.logback.core.model.ModelUtil].resetForReuse(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:224,1"
      Dst: "[ch.qos.logback.core.joran.GenericXMLConfigurator].processModel(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:225,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:226,1"
      Dst: "[ch.qos.logback.core.joran.GenericXMLConfigurator].registerSafeConfiguration(ch.qos.logback.core.model.Model)"
    - Src: "ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread:228,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].<init>(ch.qos.logback.core.rolling.helper.FileNamePattern,ch.qos.logback.core.rolling.helper.RollingCalendar)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover"
    linkageType: null
    functionLinenumber: 41
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.rolling.helper.FileNamePattern"
    - "ch.qos.logback.core.rolling.helper.RollingCalendar"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].computeParentCleaningFlag(ch.qos.logback.core.rolling.helper.FileNamePattern)"
    functionUses: 2
    ICount: 13
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:42,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:45,1"
      Dst: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].computeParentCleaningFlag(ch.qos.logback.core.rolling.helper.FileNamePattern)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].cleanAsynchronously(java.time.Instant)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 1
    returnType: "java.util.concurrent.Future"
    argCount: 1
    argTypes:
    - "java.time.Instant"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover$ArchiveRemoverRunnable].<init>(ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover,java.time.Instant)"
    - "[ch.qos.logback.core.ContextBase].getAlternateExecutorService()"
    - "[ch.qos.logback.core.Context].getAlternateExecutorService()"
    - "[java.util.concurrent.ExecutorService].submit(java.lang.Runnable)"
    functionUses: 2
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:51,1"
      Dst: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover$ArchiveRemoverRunnable].<init>(ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover,java.time.Instant)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:52,1"
      Dst: "[ch.qos.logback.core.Context].getAlternateExecutorService()"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:53,1"
      Dst: "[java.util.concurrent.ExecutorService].submit(java.lang.Runnable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover$ArchiveRemoverRunnable].<init>(ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover,java.time.Instant)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover$ArchiveRemoverRunnable"
    linkageType: null
    functionLinenumber: 252
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover"
    - "java.time.Instant"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover$ArchiveRemoverRunnable:253,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].clean(java.time.Instant)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover"
    linkageType: null
    functionLinenumber: 64
    functionDepth: 6
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.time.Instant"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].computeElapsedPeriodsSinceLastClean(long)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].getPeriodOffsetForDeletionTarget()"
    - "[ch.qos.logback.core.rolling.helper.RollingCalendar].getEndOfNextNthPeriod(java.time.Instant,int)"
    - "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].cleanPeriod(java.time.Instant)"
    - "[java.time.Instant].toEpochMilli()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    functionUses: 1
    ICount: 18
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:69"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:73"
        BranchSideFuncs:
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:72"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:73"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:77"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:65,1"
      Dst: "[java.time.Instant].toEpochMilli()"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:67,1"
      Dst: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].computeElapsedPeriodsSinceLastClean(long)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:70,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:70,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:74,1"
      Dst: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].getPeriodOffsetForDeletionTarget()"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:75,1"
      Dst: "[ch.qos.logback.core.rolling.helper.RollingCalendar].getEndOfNextNthPeriod(java.time.Instant,int)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:76,1"
      Dst: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].cleanPeriod(java.time.Instant)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].getFilesInPeriod(java.time.Instant)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover"
    linkageType: null
    functionLinenumber: 80
    functionDepth: 1
    returnType: "java.io.File[]"
    argCount: 1
    argTypes:
    - "java.time.Instant"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].convert(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].fileExistsAndIsFile(java.io.File)"
    - "[java.io.File].<init>(java.lang.String)"
    functionUses: 2
    ICount: 13
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:84"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:87"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:86"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:81,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileNamePattern].convert(java.lang.Object)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:82,1"
      Dst: "[java.io.File].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:84,1"
      Dst: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].fileExistsAndIsFile(java.io.File)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].fileExistsAndIsFile(java.io.File)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover"
    linkageType: null
    functionLinenumber: 91
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.File].exists()"
    - "[java.io.File].isFile()"
    functionUses: 1
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:92"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:91"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:92"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:91"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:92,1"
      Dst: "[java.io.File].exists()"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:92,1"
      Dst: "[java.io.File].isFile()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].cleanPeriod(java.time.Instant)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover"
    linkageType: null
    functionLinenumber: 95
    functionDepth: 5
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.time.Instant"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].getFilesInPeriod(java.time.Instant)"
    - "[ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover].getFilesInPeriod(java.time.Instant)"
    - "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].checkAndDeleteFile(java.io.File)"
    - "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].getParentDir(java.io.File)"
    - "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].removeFolderIfEmpty(java.io.File)"
    functionUses: 1
    ICount: 18
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:98"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:101"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:102"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:106"
        BranchSideFuncs:
        - "removeFolderIfEmpty(java.io.File)"
        - "getParentDir(java.io.File)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:105"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:102"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:106"
        BranchSideFuncs:
        - "removeFolderIfEmpty(java.io.File)"
        - "getParentDir(java.io.File)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:105"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:96,1"
      Dst: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].getFilesInPeriod(java.time.Instant)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:99,1"
      Dst: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].checkAndDeleteFile(java.io.File)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:103,1"
      Dst: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].getParentDir(java.io.File)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:104,1"
      Dst: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].removeFolderIfEmpty(java.io.File)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].checkAndDeleteFile(java.io.File)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover"
    linkageType: null
    functionLinenumber: 108
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File)"
    - "[java.io.File].exists()"
    - "[java.io.File].delete()"
    - "[java.io.File].toString()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 3
    ICount: 17
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:110"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:113"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:112"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:113"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:118"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:117"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:119"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:122"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:121"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:109,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:109,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:111,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:113,1"
      Dst: "[java.io.File].exists()"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:118,1"
      Dst: "[java.io.File].delete()"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:120,1"
      Dst: "[java.io.File].toString()"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:120,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].capTotalSize(java.time.Instant)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover"
    linkageType: null
    functionLinenumber: 125
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.time.Instant"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.RollingCalendar].getEndOfNextNthPeriod(java.time.Instant,int)"
    - "[ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover].getFilesInPeriod(java.time.Instant)"
    - "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].getFilesInPeriod(java.time.Instant)"
    - "[ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover].descendingSort(java.io.File[],java.time.Instant)"
    - "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].descendingSort(java.io.File[],java.time.Instant)"
    - "[ch.qos.logback.core.util.FileSize].<init>(long)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].checkAndDeleteFile(java.io.File)"
    - "[java.io.File].length()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File,ch.qos.logback.core.util.FileSize)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.util.FileSize)"
    functionUses: 1
    ICount: 38
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:128"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:144"
        BranchSideFuncs:
        - "getEndOfNextNthPeriod(java.time.Instant,int)"
        - "getFilesInPeriod(java.time.Instant)"
        - "descendingSort(java.io.File[],java.time.Instant)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:143"
        BranchSideFuncs:
        - "<init>(long)"
        - "addInfo(java.lang.String)"
    - Branch String: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:132"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:126"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:125"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:134"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:null"
        BranchSideFuncs:
        - "checkAndDeleteFile(java.io.File)"
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:129,1"
      Dst: "[ch.qos.logback.core.rolling.helper.RollingCalendar].getEndOfNextNthPeriod(java.time.Instant,int)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:130,1"
      Dst: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].getFilesInPeriod(java.time.Instant)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:131,1"
      Dst: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].descendingSort(java.io.File[],java.time.Instant)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:133,1"
      Dst: "[java.io.File].length()"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:135,1"
      Dst: "[ch.qos.logback.core.util.FileSize].<init>(long)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:135,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File,ch.qos.logback.core.util.FileSize)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:135,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:139,1"
      Dst: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].checkAndDeleteFile(java.io.File)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:144,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.util.FileSize)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].descendingSort(java.io.File[],java.time.Instant)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover"
    linkageType: null
    functionLinenumber: 148
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.io.File[]"
    - "java.time.Instant"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].getParentDir(java.io.File)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover"
    linkageType: null
    functionLinenumber: 151
    functionDepth: 0
    returnType: "java.io.File"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.File].getAbsoluteFile()"
    - "[java.io.File].getParentFile()"
    functionUses: 2
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:152,1"
      Dst: "[java.io.File].getAbsoluteFile()"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:153,1"
      Dst: "[java.io.File].getParentFile()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].computeElapsedPeriodsSinceLastClean(long)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover"
    linkageType: null
    functionLinenumber: 158
    functionDepth: 4
    returnType: "int"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.rolling.helper.RollingCalendar].periodBarriersCrossed(long,long)"
    - "[java.lang.Math].min(long,long)"
    functionUses: 1
    ICount: 16
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:159"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:164"
        BranchSideFuncs:
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:163"
        BranchSideFuncs:
        - "periodBarriersCrossed(long,long)"
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:160,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:161,1"
      Dst: "[ch.qos.logback.core.rolling.helper.RollingCalendar].periodBarriersCrossed(long,long)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:162,1"
      Dst: "[java.lang.Math].min(long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].computeParentCleaningFlag(ch.qos.logback.core.rolling.helper.FileNamePattern)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover"
    linkageType: null
    functionLinenumber: 176
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.rolling.helper.FileNamePattern"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].getPrimaryDateTokenConverter()"
    - "[ch.qos.logback.core.rolling.helper.DateTokenConverter].getDatePattern()"
    - "[ch.qos.logback.core.pattern.Converter].getNext()"
    - "[ch.qos.logback.classic.pattern.FileOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LocalSequenceNumberConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.SyslogStartConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.DateTokenConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.NopThrowableInformationConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.PrefixCompositeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.DateConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.RelativeTimeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.IntegerTokenConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.KeyValuePairConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LineSeparatorConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LineOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.PropertyConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LevelConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MDCConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MessageConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ThreadConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.NamedConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MethodOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MicrosecondConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ContextNameConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MarkerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.CompositeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.SequenceNumberConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.CallerDataConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.LiteralConverter].convert(java.lang.Object)"
    - "[java.lang.String].indexOf(int)"
    - "[ch.qos.logback.core.pattern.Converter].convert(java.lang.Object)"
    functionUses: 1
    ICount: 26
    EdgeCount: 31
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:179"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:185"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:184"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:188"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:195"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:194"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:189"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:192"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:191"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:195"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:206"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:205"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:196"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:202"
        BranchSideFuncs:
        - "convert(java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:201"
        BranchSideFuncs:
        - "getNext()"
    - Branch String: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:198"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:202"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:201"
        BranchSideFuncs:
        - "getNext()"
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:177,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileNamePattern].getPrimaryDateTokenConverter()"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:179,1"
      Dst: "[ch.qos.logback.core.rolling.helper.DateTokenConverter].getDatePattern()"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:179,1"
      Dst: "[java.lang.String].indexOf(int)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:192,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].getNext()"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:197,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].convert(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 13
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.rolling.helper.FileNamePattern].getPrimaryDateTokenConverter()"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileNamePattern"
    linkageType: null
    functionLinenumber: 110
    functionDepth: 1
    returnType: "ch.qos.logback.core.rolling.helper.DateTokenConverter"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.DateTokenConverter].isPrimary()"
    - "[ch.qos.logback.core.pattern.Converter].getNext()"
    functionUses: 3
    ICount: 12
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:113"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:124"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:123"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:114"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:121"
        BranchSideFuncs:
        - "isPrimary()"
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:120"
        BranchSideFuncs:
        - "getNext()"
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:117"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:121"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:120"
        BranchSideFuncs:
        - "getNext()"
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:117,1"
      Dst: "[ch.qos.logback.core.rolling.helper.DateTokenConverter].isPrimary()"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:121,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].getNext()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.rolling.helper.DateTokenConverter].getDatePattern()"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.DateTokenConverter"
    linkageType: null
    functionLinenumber: 93
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].removeFolderIfEmpty(java.io.File)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover"
    linkageType: null
    functionLinenumber: 209
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].removeFolderIfEmpty(java.io.File,int)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:210,1"
      Dst: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].removeFolderIfEmpty(java.io.File,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].removeFolderIfEmpty(java.io.File,int)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover"
    linkageType: null
    functionLinenumber: 221
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.io.File"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.FileFilterUtil].isEmptyDirectory(java.io.File)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].checkAndDeleteFile(java.io.File)"
    - "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].removeFolderIfEmpty(java.io.File,int)"
    - "[java.io.File].isDirectory()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File)"
    - "[java.io.File].getParentFile()"
    functionUses: 2
    ICount: 16
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:222"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:225"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:224"
        BranchSideFuncs:
        - "isEmptyDirectory(java.io.File)"
    - Branch String: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:225"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:230"
        BranchSideFuncs:
        - "removeFolderIfEmpty(java.io.File,int)"
        - "checkAndDeleteFile(java.io.File)"
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:229"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:225"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:230"
        BranchSideFuncs:
        - "removeFolderIfEmpty(java.io.File,int)"
        - "checkAndDeleteFile(java.io.File)"
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:229"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:225,1"
      Dst: "[java.io.File].isDirectory()"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:225,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].isEmptyDirectory(java.io.File)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:226,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:226,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:227,1"
      Dst: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].checkAndDeleteFile(java.io.File)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:228,1"
      Dst: "[java.io.File].getParentFile()"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:228,1"
      Dst: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].removeFolderIfEmpty(java.io.File,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].setMaxHistory(int)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover"
    linkageType: null
    functionLinenumber: 232
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].getPeriodOffsetForDeletionTarget()"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover"
    linkageType: null
    functionLinenumber: 236
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].setTotalSizeCap(long)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover"
    linkageType: null
    functionLinenumber: 240
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].toString()"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover"
    linkageType: null
    functionLinenumber: 244
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.html.DefaultThrowableRenderer].<init>()"
    functionSourceFile: "ch.qos.logback.classic.html.DefaultThrowableRenderer"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.html.DefaultThrowableRenderer:23,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.html.DefaultThrowableRenderer].render(java.lang.StringBuilder,ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.html.DefaultThrowableRenderer"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].getThrowableProxy()"
    - "[ch.qos.logback.classic.html.DefaultThrowableRenderer].render(java.lang.StringBuilder,ch.qos.logback.classic.spi.IThrowableProxy)"
    - "[ch.qos.logback.classic.spi.ThrowableProxy:ch.qos.logback.classic.spi.ThrowableProxyVO].getCause()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getThrowableProxy()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getCause()"
    functionUses: 1
    ICount: 11
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.html.DefaultThrowableRenderer:30"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.html.DefaultThrowableRenderer:34"
        BranchSideFuncs:
        - "getCause()"
        - "render(java.lang.StringBuilder,ch.qos.logback.classic.spi.IThrowableProxy)"
      - BranchSide: "ch.qos.logback.classic.html.DefaultThrowableRenderer:33"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.html.DefaultThrowableRenderer:28,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getThrowableProxy()"
    - Src: "ch.qos.logback.classic.html.DefaultThrowableRenderer:29,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.html.DefaultThrowableRenderer:31,1"
      Dst: "[ch.qos.logback.classic.html.DefaultThrowableRenderer].render(java.lang.StringBuilder,ch.qos.logback.classic.spi.IThrowableProxy)"
    - Src: "ch.qos.logback.classic.html.DefaultThrowableRenderer:32,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getCause()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.html.DefaultThrowableRenderer].render(java.lang.StringBuilder,ch.qos.logback.classic.spi.IThrowableProxy)"
    functionSourceFile: "ch.qos.logback.classic.html.DefaultThrowableRenderer"
    linkageType: null
    functionLinenumber: 37
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "ch.qos.logback.classic.spi.IThrowableProxy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.html.DefaultThrowableRenderer].printFirstLine(java.lang.StringBuilder,ch.qos.logback.classic.spi.IThrowableProxy)"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].getCommonFrames()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy:ch.qos.logback.classic.spi.ThrowableProxyVO].getStackTraceElementProxyArray()"
    - "[ch.qos.logback.core.helpers.Transform].escapeTags(java.lang.String)"
    - "[ch.qos.logback.classic.spi.StackTraceElementProxy].toString()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getCommonFrames()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getStackTraceElementProxyArray()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(int)"
    functionUses: 1
    ICount: 27
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.html.DefaultThrowableRenderer:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.html.DefaultThrowableRenderer:49"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.html.DefaultThrowableRenderer:50"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.html.DefaultThrowableRenderer:55"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.html.DefaultThrowableRenderer:54"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.html.DefaultThrowableRenderer:38,1"
      Dst: "[ch.qos.logback.classic.html.DefaultThrowableRenderer].printFirstLine(java.lang.StringBuilder,ch.qos.logback.classic.spi.IThrowableProxy)"
    - Src: "ch.qos.logback.classic.html.DefaultThrowableRenderer:40,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getCommonFrames()"
    - Src: "ch.qos.logback.classic.html.DefaultThrowableRenderer:41,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getStackTraceElementProxyArray()"
    - Src: "ch.qos.logback.classic.html.DefaultThrowableRenderer:45,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.html.DefaultThrowableRenderer:46,1"
      Dst: "[ch.qos.logback.classic.spi.StackTraceElementProxy].toString()"
    - Src: "ch.qos.logback.classic.html.DefaultThrowableRenderer:46,1"
      Dst: "[ch.qos.logback.core.helpers.Transform].escapeTags(java.lang.String)"
    - Src: "ch.qos.logback.classic.html.DefaultThrowableRenderer:52,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.html.DefaultThrowableRenderer].printFirstLine(java.lang.StringBuilder,ch.qos.logback.classic.spi.IThrowableProxy)"
    functionSourceFile: "ch.qos.logback.classic.html.DefaultThrowableRenderer"
    linkageType: null
    functionLinenumber: 57
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "ch.qos.logback.classic.spi.IThrowableProxy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.ThrowableProxy].getCommonFrames()"
    - "[ch.qos.logback.core.helpers.Transform].escapeTags(java.lang.String)"
    - "[ch.qos.logback.classic.spi.ThrowableProxy:ch.qos.logback.classic.spi.ThrowableProxyVO].getClassName()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy:ch.qos.logback.classic.spi.ThrowableProxyVO].getMessage()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getCommonFrames()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getClassName()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getMessage()"
    functionUses: 1
    ICount: 16
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.html.DefaultThrowableRenderer:59"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.html.DefaultThrowableRenderer:62"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.html.DefaultThrowableRenderer:61"
        BranchSideFuncs:
        - "getClassName()"
        - "escapeTags(java.lang.String)"
        - "getMessage()"
    Callsites:
    - Src: "ch.qos.logback.classic.html.DefaultThrowableRenderer:58,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getCommonFrames()"
    - Src: "ch.qos.logback.classic.html.DefaultThrowableRenderer:60,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.html.DefaultThrowableRenderer:62,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getClassName()"
    - Src: "ch.qos.logback.classic.html.DefaultThrowableRenderer:62,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getMessage()"
    - Src: "ch.qos.logback.classic.html.DefaultThrowableRenderer:62,1"
      Dst: "[ch.qos.logback.core.helpers.Transform].escapeTags(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.helpers.Transform].escapeTags(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.helpers.Transform"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.helpers.Transform].escapeTags(java.lang.StringBuffer)"
    - "[java.lang.String].length()"
    - "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - "[java.util.regex.Matcher].find()"
    - "[java.lang.StringBuffer].<init>(java.lang.String)"
    functionUses: 10
    ICount: 13
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.helpers.Transform:40"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.Transform:41"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.Transform:40"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.helpers.Transform:40"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.Transform:41"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.Transform:40"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.helpers.Transform:40"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.Transform:43"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.Transform:42"
        BranchSideFuncs:
        - "escapeTags(java.lang.StringBuffer)"
    Callsites:
    - Src: "ch.qos.logback.core.helpers.Transform:40,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.core.helpers.Transform:40,1"
      Dst: "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - Src: "ch.qos.logback.core.helpers.Transform:40,1"
      Dst: "[java.util.regex.Matcher].find()"
    - Src: "ch.qos.logback.core.helpers.Transform:43,1"
      Dst: "[java.lang.StringBuffer].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.helpers.Transform:44,1"
      Dst: "[ch.qos.logback.core.helpers.Transform].escapeTags(java.lang.StringBuffer)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.spi.StackTraceElementProxy].toString()"
    functionSourceFile: "ch.qos.logback.classic.spi.StackTraceElementProxy"
    linkageType: null
    functionLinenumber: 88
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.StackTraceElementProxy].getSTEAsString()"
    functionUses: 6
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.StackTraceElementProxy:89,1"
      Dst: "[ch.qos.logback.classic.spi.StackTraceElementProxy].getSTEAsString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.html.DefaultThrowableRenderer].render(java.lang.StringBuilder,ch.qos.logback.classic.spi.IThrowableProxy)"
    functionSourceFile: "ch.qos.logback.classic.html.DefaultThrowableRenderer"
    linkageType: null
    functionLinenumber: 37
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "ch.qos.logback.classic.spi.IThrowableProxy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.html.DefaultThrowableRenderer].printFirstLine(java.lang.StringBuilder,ch.qos.logback.classic.spi.IThrowableProxy)"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].getCommonFrames()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy:ch.qos.logback.classic.spi.ThrowableProxyVO].getStackTraceElementProxyArray()"
    - "[ch.qos.logback.core.helpers.Transform].escapeTags(java.lang.String)"
    - "[ch.qos.logback.classic.spi.StackTraceElementProxy].toString()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getCommonFrames()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getStackTraceElementProxyArray()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(int)"
    functionUses: 1
    ICount: 27
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.html.DefaultThrowableRenderer:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.html.DefaultThrowableRenderer:49"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.html.DefaultThrowableRenderer:50"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.html.DefaultThrowableRenderer:55"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.html.DefaultThrowableRenderer:54"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.html.DefaultThrowableRenderer:38,1"
      Dst: "[ch.qos.logback.classic.html.DefaultThrowableRenderer].printFirstLine(java.lang.StringBuilder,ch.qos.logback.classic.spi.IThrowableProxy)"
    - Src: "ch.qos.logback.classic.html.DefaultThrowableRenderer:40,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getCommonFrames()"
    - Src: "ch.qos.logback.classic.html.DefaultThrowableRenderer:41,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getStackTraceElementProxyArray()"
    - Src: "ch.qos.logback.classic.html.DefaultThrowableRenderer:45,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.html.DefaultThrowableRenderer:46,1"
      Dst: "[ch.qos.logback.classic.spi.StackTraceElementProxy].toString()"
    - Src: "ch.qos.logback.classic.html.DefaultThrowableRenderer:46,1"
      Dst: "[ch.qos.logback.core.helpers.Transform].escapeTags(java.lang.String)"
    - Src: "ch.qos.logback.classic.html.DefaultThrowableRenderer:52,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.html.DefaultThrowableRenderer].printFirstLine(java.lang.StringBuilder,ch.qos.logback.classic.spi.IThrowableProxy)"
    functionSourceFile: "ch.qos.logback.classic.html.DefaultThrowableRenderer"
    linkageType: null
    functionLinenumber: 57
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "ch.qos.logback.classic.spi.IThrowableProxy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.ThrowableProxy].getCommonFrames()"
    - "[ch.qos.logback.core.helpers.Transform].escapeTags(java.lang.String)"
    - "[ch.qos.logback.classic.spi.ThrowableProxy:ch.qos.logback.classic.spi.ThrowableProxyVO].getClassName()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy:ch.qos.logback.classic.spi.ThrowableProxyVO].getMessage()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getCommonFrames()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getClassName()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getMessage()"
    functionUses: 1
    ICount: 16
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.html.DefaultThrowableRenderer:59"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.html.DefaultThrowableRenderer:62"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.html.DefaultThrowableRenderer:61"
        BranchSideFuncs:
        - "getClassName()"
        - "escapeTags(java.lang.String)"
        - "getMessage()"
    Callsites:
    - Src: "ch.qos.logback.classic.html.DefaultThrowableRenderer:58,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getCommonFrames()"
    - Src: "ch.qos.logback.classic.html.DefaultThrowableRenderer:60,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.html.DefaultThrowableRenderer:62,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getClassName()"
    - Src: "ch.qos.logback.classic.html.DefaultThrowableRenderer:62,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getMessage()"
    - Src: "ch.qos.logback.classic.html.DefaultThrowableRenderer:62,1"
      Dst: "[ch.qos.logback.core.helpers.Transform].escapeTags(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.html.DefaultThrowableRenderer].render(java.lang.StringBuilder,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.html.DefaultThrowableRenderer"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 5
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.html.DefaultThrowableRenderer].render(java.lang.StringBuilder,ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.html.DefaultThrowableRenderer:23,1"
      Dst: "[ch.qos.logback.classic.html.DefaultThrowableRenderer].render(java.lang.StringBuilder,ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.html.DefaultThrowableRenderer].render(java.lang.StringBuilder,ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.html.DefaultThrowableRenderer"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].getThrowableProxy()"
    - "[ch.qos.logback.classic.html.DefaultThrowableRenderer].render(java.lang.StringBuilder,ch.qos.logback.classic.spi.IThrowableProxy)"
    - "[ch.qos.logback.classic.spi.ThrowableProxy:ch.qos.logback.classic.spi.ThrowableProxyVO].getCause()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getThrowableProxy()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getCause()"
    functionUses: 1
    ICount: 11
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.html.DefaultThrowableRenderer:30"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.html.DefaultThrowableRenderer:34"
        BranchSideFuncs:
        - "getCause()"
        - "render(java.lang.StringBuilder,ch.qos.logback.classic.spi.IThrowableProxy)"
      - BranchSide: "ch.qos.logback.classic.html.DefaultThrowableRenderer:33"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.html.DefaultThrowableRenderer:28,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getThrowableProxy()"
    - Src: "ch.qos.logback.classic.html.DefaultThrowableRenderer:29,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.html.DefaultThrowableRenderer:31,1"
      Dst: "[ch.qos.logback.classic.html.DefaultThrowableRenderer].render(java.lang.StringBuilder,ch.qos.logback.classic.spi.IThrowableProxy)"
    - Src: "ch.qos.logback.classic.html.DefaultThrowableRenderer:32,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getCause()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 34
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:34,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].<init>(ch.qos.logback.core.spi.ContextAware)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 37
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.spi.ContextAware"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 2
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:38,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 67
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:45"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:44"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:47"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:46,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 0
    returnType: "ch.qos.logback.core.Context"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 35
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].getStatusManager()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.core.status.StatusManager"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.Context].getStatusManager()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:55"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:58"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:57"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:58,1"
      Dst: "[ch.qos.logback.core.Context].getStatusManager()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 67
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 6
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 71
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.status.Status"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - "[ch.qos.logback.core.BasicStatusManager].add(ch.qos.logback.core.status.Status)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.ContextAwareBase)"
    - "[java.io.PrintStream].println(java.lang.String)"
    - "[ch.qos.logback.core.Context].getStatusManager()"
    - "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    functionUses: 24
    ICount: 17
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:78"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:77"
        BranchSideFuncs:
        - "getStatusManager()"
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:73"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:76"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:75"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:79"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:82"
        BranchSideFuncs:
        - "add(ch.qos.logback.core.status.Status)"
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:81"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:74,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.ContextAwareBase)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:74,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:78,1"
      Dst: "[ch.qos.logback.core.Context].getStatusManager()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:80,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 88
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 1
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:89,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:89,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:89,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 67
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 6
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.status.InfoStatus"
    linkageType: null
    functionLinenumber: 21
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.InfoStatus:22,1"
      Dst: "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 71
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.status.Status"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - "[ch.qos.logback.core.BasicStatusManager].add(ch.qos.logback.core.status.Status)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.ContextAwareBase)"
    - "[java.io.PrintStream].println(java.lang.String)"
    - "[ch.qos.logback.core.Context].getStatusManager()"
    - "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    functionUses: 24
    ICount: 17
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:78"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:77"
        BranchSideFuncs:
        - "getStatusManager()"
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:73"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:76"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:75"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:79"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:82"
        BranchSideFuncs:
        - "add(ch.qos.logback.core.status.Status)"
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:81"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:74,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.spi.ContextAwareBase)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:74,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:78,1"
      Dst: "[ch.qos.logback.core.Context].getStatusManager()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:80,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 96
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 96
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 7
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:97,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:97,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:97,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 74
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1].<init>(ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover,java.util.regex.Pattern)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover"
    - "java.util.regex.Pattern"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1:51,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1].compare(java.io.File,java.io.File)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.io.File"
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1].extractIndex(java.util.regex.Pattern,java.io.File)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1:58"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1:61"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1:60"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1:64"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1:63"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1:55,1"
      Dst: "[ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1].extractIndex(java.util.regex.Pattern,java.io.File)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1].extractIndex(java.util.regex.Pattern,java.io.File)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.util.regex.Pattern"
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.File].getName()"
    - "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - "[java.util.regex.Matcher].find()"
    - "[java.util.regex.Matcher].group(int)"
    - "[java.lang.String].isEmpty()"
    - "[java.lang.Integer].parseInt(java.lang.String)"
    functionUses: 0
    ICount: 17
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1:69"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1:null"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1:null"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1:75"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1:74"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1:68,1"
      Dst: "[java.io.File].getName()"
    - Src: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1:68,1"
      Dst: "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - Src: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1:69,1"
      Dst: "[java.util.regex.Matcher].find()"
    - Src: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1:70,1"
      Dst: "[java.util.regex.Matcher].group(int)"
    - Src: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1:72,1"
      Dst: "[java.lang.String].isEmpty()"
    - Src: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1:75,1"
      Dst: "[java.lang.Integer].parseInt(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1].extractIndex(java.util.regex.Pattern,java.io.File)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.util.regex.Pattern"
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.File].getName()"
    - "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - "[java.util.regex.Matcher].find()"
    - "[java.util.regex.Matcher].group(int)"
    - "[java.lang.String].isEmpty()"
    - "[java.lang.Integer].parseInt(java.lang.String)"
    functionUses: 0
    ICount: 17
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1:69"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1:null"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1:null"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1:75"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1:74"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1:68,1"
      Dst: "[java.io.File].getName()"
    - Src: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1:68,1"
      Dst: "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - Src: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1:69,1"
      Dst: "[java.util.regex.Matcher].find()"
    - Src: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1:70,1"
      Dst: "[java.util.regex.Matcher].group(int)"
    - Src: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1:72,1"
      Dst: "[java.lang.String].isEmpty()"
    - Src: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1:75,1"
      Dst: "[java.lang.Integer].parseInt(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1].compare(java.lang.Object,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1].compare(java.io.File,java.io.File)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1:51,1"
      Dst: "[ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1].compare(java.io.File,java.io.File)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1].compare(java.io.File,java.io.File)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.io.File"
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1].extractIndex(java.util.regex.Pattern,java.io.File)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1:58"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1:61"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1:60"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1:64"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1:63"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1:55,1"
      Dst: "[ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1].extractIndex(java.util.regex.Pattern,java.io.File)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.PeriodicityType].values()"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.PeriodicityType"
    linkageType: null
    functionLinenumber: 15
    functionDepth: 0
    returnType: "ch.qos.logback.core.rolling.helper.PeriodicityType[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].clone()"
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.PeriodicityType:16,1"
      Dst: "[java.lang.Object].clone()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.PeriodicityType].valueOf(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.PeriodicityType"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.core.rolling.helper.PeriodicityType"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.PeriodicityType:16,1"
      Dst: "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.PeriodicityType].<init>(java.lang.String,int)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.PeriodicityType"
    linkageType: null
    functionLinenumber: 15
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].<init>(java.lang.String,int)"
    functionUses: 9
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.PeriodicityType:16,1"
      Dst: "[java.lang.Enum].<init>(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.PeriodicityType].$values()"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.PeriodicityType"
    linkageType: null
    functionLinenumber: 15
    functionDepth: 0
    returnType: "ch.qos.logback.core.rolling.helper.PeriodicityType[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 20
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SSLSocketReceiver].<init>()"
    functionSourceFile: "ch.qos.logback.classic.net.SSLSocketReceiver"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.net.SocketReceiver].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SSLSocketReceiver:29,1"
      Dst: "[ch.qos.logback.classic.net.SocketReceiver].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SSLSocketReceiver].getSocketFactory()"
    functionSourceFile: "ch.qos.logback.classic.net.SSLSocketReceiver"
    linkageType: null
    functionLinenumber: 41
    functionDepth: 0
    returnType: "javax.net.SocketFactory"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SSLSocketReceiver].shouldStart()"
    functionSourceFile: "ch.qos.logback.classic.net.SSLSocketReceiver"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 7
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].createContext(ch.qos.logback.core.spi.ContextAware)"
    - "[ch.qos.logback.classic.net.SSLSocketReceiver].getSsl()"
    - "[ch.qos.logback.core.net.ssl.SSLConfiguration].getParameters()"
    - "[ch.qos.logback.core.spi.ContextAwareBase:org.xml.sax.SAXException].getContext()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.net.ssl.ConfigurableSSLSocketFactory].<init>(ch.qos.logback.core.net.ssl.SSLParametersConfiguration,javax.net.ssl.SSLSocketFactory)"
    - "[ch.qos.logback.classic.net.SocketReceiver].shouldStart()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - "[javax.net.ssl.SSLContext].getSocketFactory()"
    - "[java.lang.Throwable].getMessage()"
    functionUses: 1
    ICount: 17
    EdgeCount: 9
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SSLSocketReceiver:51,1"
      Dst: "[ch.qos.logback.classic.net.SSLSocketReceiver].getSsl()"
    - Src: "ch.qos.logback.classic.net.SSLSocketReceiver:51,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].createContext(ch.qos.logback.core.spi.ContextAware)"
    - Src: "ch.qos.logback.classic.net.SSLSocketReceiver:52,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfiguration].getParameters()"
    - Src: "ch.qos.logback.classic.net.SSLSocketReceiver:53,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - Src: "ch.qos.logback.classic.net.SSLSocketReceiver:53,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.net.SSLSocketReceiver:54,1"
      Dst: "[javax.net.ssl.SSLContext].getSocketFactory()"
    - Src: "ch.qos.logback.classic.net.SSLSocketReceiver:54,1"
      Dst: "[ch.qos.logback.core.net.ssl.ConfigurableSSLSocketFactory].<init>(ch.qos.logback.core.net.ssl.SSLParametersConfiguration,javax.net.ssl.SSLSocketFactory)"
    - Src: "ch.qos.logback.classic.net.SSLSocketReceiver:55,1"
      Dst: "[ch.qos.logback.classic.net.SocketReceiver].shouldStart()"
    - Src: "ch.qos.logback.classic.net.SSLSocketReceiver:57,1"
      Dst: "[java.lang.Throwable].getMessage()"
    - Src: "ch.qos.logback.classic.net.SSLSocketReceiver:57,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SSLSocketReceiver].getSsl()"
    functionSourceFile: "ch.qos.logback.classic.net.SSLSocketReceiver"
    linkageType: null
    functionLinenumber: 68
    functionDepth: 2
    returnType: "ch.qos.logback.core.net.ssl.SSLConfiguration"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.SSLConfiguration].<init>()"
    functionUses: 2
    ICount: 8
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.net.SSLSocketReceiver:69"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SSLSocketReceiver:72"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "ch.qos.logback.classic.net.SSLSocketReceiver:71"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SSLSocketReceiver:70,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfiguration].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.net.ssl.SSLConfiguration].<init>()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLConfiguration"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].<init>()"
    functionUses: 4
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLConfiguration:24,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].<init>()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean"
    linkageType: null
    functionLinenumber: 40
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:41,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].createContext(ch.qos.logback.core.spi.ContextAware)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean"
    linkageType: null
    functionLinenumber: 79
    functionDepth: 6
    returnType: "javax.net.ssl.SSLContext"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.spi.ContextAware"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].getProtocol()"
    - "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].getProvider()"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].createKeyManagers(ch.qos.logback.core.spi.ContextAware)"
    - "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].createTrustManagers(ch.qos.logback.core.spi.ContextAware)"
    - "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].createSecureRandom(ch.qos.logback.core.spi.ContextAware)"
    - "[javax.net.ssl.SSLContext].getInstance(java.lang.String,java.lang.String)"
    - "[javax.net.ssl.SSLContext].getInstance(java.lang.String)"
    - "[javax.net.ssl.SSLContext].getProtocol()"
    - "[javax.net.ssl.SSLContext].getProvider()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.security.Provider)"
    - "[ch.qos.logback.core.spi.ContextAware].addInfo(java.lang.String)"
    - "[javax.net.ssl.SSLContext].init(javax.net.ssl.KeyManager[],javax.net.ssl.TrustManager[],java.security.SecureRandom)"
    functionUses: 4
    ICount: 19
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:80"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:81"
        BranchSideFuncs:
        - "getProtocol()"
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:80"
        BranchSideFuncs:
        - "getProtocol()"
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:80,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].getProvider()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:80,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].getProtocol()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:80,1"
      Dst: "[javax.net.ssl.SSLContext].getInstance(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:81,1"
      Dst: "[javax.net.ssl.SSLContext].getInstance(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:83,1"
      Dst: "[javax.net.ssl.SSLContext].getProtocol()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:83,1"
      Dst: "[javax.net.ssl.SSLContext].getProvider()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:83,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.security.Provider)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:83,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:85,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].createKeyManagers(ch.qos.logback.core.spi.ContextAware)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:86,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].createTrustManagers(ch.qos.logback.core.spi.ContextAware)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:87,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].createSecureRandom(ch.qos.logback.core.spi.ContextAware)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:88,1"
      Dst: "[javax.net.ssl.SSLContext].init(javax.net.ssl.KeyManager[],javax.net.ssl.TrustManager[],java.security.SecureRandom)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.net.ssl.SSLConfiguration].getParameters()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLConfiguration"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 2
    returnType: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].<init>()"
    functionUses: 4
    ICount: 8
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.SSLConfiguration:35"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLConfiguration:38"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLConfiguration:37"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLConfiguration:36,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 0
    returnType: "ch.qos.logback.core.Context"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 35
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 67
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:45"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:44"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:47"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:46,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.net.ssl.ConfigurableSSLSocketFactory].<init>(ch.qos.logback.core.net.ssl.SSLParametersConfiguration,javax.net.ssl.SSLSocketFactory)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.ConfigurableSSLSocketFactory"
    linkageType: null
    functionLinenumber: 49
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.net.ssl.SSLParametersConfiguration"
    - "javax.net.ssl.SSLSocketFactory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.net.SocketFactory].<init>()"
    functionUses: 2
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.ConfigurableSSLSocketFactory:50,1"
      Dst: "[javax.net.SocketFactory].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SocketReceiver].shouldStart()"
    functionSourceFile: "ch.qos.logback.classic.net.SocketReceiver"
    linkageType: null
    functionLinenumber: 61
    functionDepth: 2
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[java.net.InetAddress].getByName(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int)"
    functionUses: 2
    ICount: 33
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.net.SocketReceiver:63"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SocketReceiver:69"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.net.SocketReceiver:68"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.net.SocketReceiver:69"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SocketReceiver:75"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.net.SocketReceiver:74"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.net.SocketReceiver:75"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SocketReceiver:79"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.net.SocketReceiver:78"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.net.SocketReceiver:79"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SocketReceiver:88"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.net.SocketReceiver:87"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.net.SocketReceiver:88"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SocketReceiver:92"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.net.SocketReceiver:91"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.net.SocketReceiver:92"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SocketReceiver:91"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SocketReceiver:65,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:81,1"
      Dst: "[java.net.InetAddress].getByName(java.lang.String)"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:83,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:89,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 15
    CyclomaticComplexity: 7
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 74
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SSLSocketReceiver].getSsl()"
    functionSourceFile: "ch.qos.logback.classic.net.SSLSocketReceiver"
    linkageType: null
    functionLinenumber: 68
    functionDepth: 2
    returnType: "ch.qos.logback.core.net.ssl.SSLConfiguration"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.SSLConfiguration].<init>()"
    functionUses: 2
    ICount: 8
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.net.SSLSocketReceiver:69"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SSLSocketReceiver:72"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "ch.qos.logback.classic.net.SSLSocketReceiver:71"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SSLSocketReceiver:70,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfiguration].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.net.SSLSocketReceiver].setSsl(ch.qos.logback.core.net.ssl.SSLConfiguration)"
    functionSourceFile: "ch.qos.logback.classic.net.SSLSocketReceiver"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.net.ssl.SSLConfiguration"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggerRemoteView].<init>(java.lang.String,ch.qos.logback.classic.LoggerContext)"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggerRemoteView"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "ch.qos.logback.classic.LoggerContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[ch.qos.logback.classic.LoggerContext].getLoggerContextRemoteView()"
    - "[java.lang.AssertionError].<init>()"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.LoggerRemoteView:38"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggerRemoteView:39"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggerRemoteView:38"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.LoggerRemoteView:38"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggerRemoteView:39"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.LoggerRemoteView:38"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggerRemoteView:36,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.classic.spi.LoggerRemoteView:38,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getLoggerContextRemoteView()"
    - Src: "ch.qos.logback.classic.spi.LoggerRemoteView:38,1"
      Dst: "[java.lang.AssertionError].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.LoggerRemoteView].getLoggerContextView()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggerRemoteView"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.classic.spi.LoggerContextVO"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggerRemoteView].getName()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggerRemoteView"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.ContextInitializer].<init>(ch.qos.logback.classic.LoggerContext)"
    functionSourceFile: "ch.qos.logback.classic.util.ContextInitializer"
    linkageType: null
    functionLinenumber: 59
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.LoggerContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareImpl].<init>(ch.qos.logback.core.Context,java.lang.Object)"
    - "[ch.qos.logback.classic.util.ContextInitializer$1].<init>(ch.qos.logback.classic.util.ContextInitializer)"
    - "[java.lang.Object].<init>()"
    functionUses: 2
    ICount: 16
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.ContextInitializer:60,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:166,1"
      Dst: "[ch.qos.logback.classic.util.ContextInitializer$1].<init>(ch.qos.logback.classic.util.ContextInitializer)"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:62,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareImpl].<init>(ch.qos.logback.core.Context,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.ContextInitializer].autoConfig()"
    functionSourceFile: "ch.qos.logback.classic.util.ContextInitializer"
    linkageType: null
    functionLinenumber: 65
    functionDepth: 8
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.util.ContextInitializer].autoConfig(java.lang.ClassLoader)"
    - "[java.lang.Class].getClassLoader()"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.ContextInitializer:66,1"
      Dst: "[java.lang.Class].getClassLoader()"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:66,1"
      Dst: "[ch.qos.logback.classic.util.ContextInitializer].autoConfig(java.lang.ClassLoader)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.ContextInitializer].autoConfig(java.lang.ClassLoader)"
    functionSourceFile: "ch.qos.logback.classic.util.ContextInitializer"
    linkageType: null
    functionLinenumber: 72
    functionDepth: 7
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.ClassLoader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].systemClassloaderIfNull(java.lang.ClassLoader)"
    - "[ch.qos.logback.core.util.EnvUtil].logbackVersion()"
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.BasicStatusManager].add(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - "[ch.qos.logback.core.util.StatusListenerConfigHelper].installIfAsked(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.classic.util.ClassicEnvUtil].loadFromServiceLoader(java.lang.Class,java.lang.ClassLoader)"
    - "[ch.qos.logback.core.util.COWArrayList].isEmpty()"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.classic.util.ContextInitializer].printConfiguratorOrder(java.util.List)"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.classic.util.ContextInitializer].invokeConfigure(ch.qos.logback.classic.spi.Configurator)"
    - "[ch.qos.logback.classic.util.ContextInitializer].instantiateConfiguratorByClassName(java.lang.String,java.lang.ClassLoader)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    - "[java.util.List].sort(java.util.Comparator)"
    - "[java.util.List].isEmpty()"
    - "[ch.qos.logback.core.spi.ContextAware].addInfo(java.lang.String)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    functionUses: 1
    ICount: 53
    EdgeCount: 21
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.ContextInitializer:76"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.ContextInitializer:79"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.ContextInitializer:78"
        BranchSideFuncs:
        - "<init>(java.lang.String,java.lang.Object)"
        - "add(ch.qos.logback.core.status.Status)"
        - "isEmpty()"
        - "getStatusManager()"
        - "loadFromServiceLoader(java.lang.Class,java.lang.ClassLoader)"
        - "installIfAsked(ch.qos.logback.core.Context)"
    - Branch String: "ch.qos.logback.classic.util.ContextInitializer:86"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.ContextInitializer:89"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.ContextInitializer:88"
        BranchSideFuncs:
        - "printConfiguratorOrder(java.util.List)"
    - Branch String: "ch.qos.logback.classic.util.ContextInitializer:92"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.ContextInitializer:98"
        BranchSideFuncs:
        - "iterator()"
      - BranchSide: "ch.qos.logback.classic.util.ContextInitializer:97"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.util.ContextInitializer:93"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.ContextInitializer:95"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.ContextInitializer:94"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.util.ContextInitializer:98"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.ContextInitializer:106"
        BranchSideFuncs:
        - "instantiateConfiguratorByClassName(java.lang.String,java.lang.ClassLoader)"
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.util.ContextInitializer:105"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.util.ContextInitializer:101"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.ContextInitializer:103"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.ContextInitializer:102"
        BranchSideFuncs:
        - "invokeConfigure(ch.qos.logback.classic.spi.Configurator)"
    - Branch String: "ch.qos.logback.classic.util.ContextInitializer:103"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.ContextInitializer:98"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.ContextInitializer:97"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.ContextInitializer:73,1"
      Dst: "[ch.qos.logback.core.util.Loader].systemClassloaderIfNull(java.lang.ClassLoader)"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:75,1"
      Dst: "[ch.qos.logback.core.util.EnvUtil].logbackVersion()"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:79,1"
      Dst: "[ch.qos.logback.core.ContextBase].getStatusManager()"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:79,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:79,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:79,1"
      Dst: "[ch.qos.logback.core.status.StatusManager].add(ch.qos.logback.core.status.Status)"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:80,1"
      Dst: "[ch.qos.logback.core.util.StatusListenerConfigHelper].installIfAsked(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:84,1"
      Dst: "[ch.qos.logback.classic.util.ClassicEnvUtil].loadFromServiceLoader(java.lang.Class,java.lang.ClassLoader)"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:85,1"
      Dst: "[java.util.List].sort(java.util.Comparator)"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:86,1"
      Dst: "[java.util.List].isEmpty()"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:87,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:89,1"
      Dst: "[ch.qos.logback.classic.util.ContextInitializer].printConfiguratorOrder(java.util.List)"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:92,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:92,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:92,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:93,1"
      Dst: "[ch.qos.logback.classic.util.ContextInitializer].invokeConfigure(ch.qos.logback.classic.spi.Configurator)"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:100,1"
      Dst: "[ch.qos.logback.classic.util.ContextInitializer].instantiateConfiguratorByClassName(java.lang.String,java.lang.ClassLoader)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 18
    CyclomaticComplexity: 6
  - functionName: "[ch.qos.logback.classic.util.ContextInitializer].instantiateConfiguratorByClassName(java.lang.String,java.lang.ClassLoader)"
    functionSourceFile: "ch.qos.logback.classic.util.ContextInitializer"
    linkageType: null
    functionLinenumber: 109
    functionDepth: 0
    returnType: "ch.qos.logback.classic.spi.Configurator"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.ClassLoader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[java.lang.ClassLoader].loadClass(java.lang.String)"
    - "[java.lang.Class].getConstructor(java.lang.Class[])"
    - "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    - "[java.lang.Throwable].toString()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAware].addInfo(java.lang.String)"
    functionUses: 1
    ICount: 16
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.ContextInitializer:110,1"
      Dst: "[java.lang.ClassLoader].loadClass(java.lang.String)"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:111,1"
      Dst: "[java.lang.Class].getConstructor(java.lang.Class[])"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:111,1"
      Dst: "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:113,1"
      Dst: "[java.lang.Throwable].toString()"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:113,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:113,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].addInfo(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.ContextInitializer].invokeConfigure(ch.qos.logback.classic.spi.Configurator)"
    functionSourceFile: "ch.qos.logback.classic.util.ContextInitializer"
    linkageType: null
    functionLinenumber: 124
    functionDepth: 1
    returnType: "ch.qos.logback.classic.spi.Configurator$ExecutionStatus"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.Configurator"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.classic.util.DefaultJoranConfigurator].configure(ch.qos.logback.classic.LoggerContext)"
    - "[ch.qos.logback.classic.joran.SerializedModelConfigurator].configure(ch.qos.logback.classic.LoggerContext)"
    - "[ch.qos.logback.classic.BasicConfigurator].configure(ch.qos.logback.classic.LoggerContext)"
    - "[ch.qos.logback.classic.util.ContextInitializer].printDuration(long,ch.qos.logback.classic.spi.Configurator,ch.qos.logback.classic.spi.Configurator$ExecutionStatus)"
    - "[ch.qos.logback.core.LogbackException].<init>(java.lang.String,java.lang.Throwable)"
    - "[java.lang.System].currentTimeMillis()"
    - "[java.lang.Object].getClass()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Class)"
    - "[ch.qos.logback.core.spi.ContextAware].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAware].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.classic.spi.Configurator].configure(ch.qos.logback.classic.LoggerContext)"
    - "[java.lang.Class].getCanonicalName()"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    functionUses: 2
    ICount: 25
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.ContextInitializer:134"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.ContextInitializer:129"
        BranchSideFuncs:
        - "<init>(java.lang.String,java.lang.Throwable)"
    Callsites:
    - Src: "ch.qos.logback.classic.util.ContextInitializer:125,1"
      Dst: "[java.lang.System].currentTimeMillis()"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:126,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:126,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Class)"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:126,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:127,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:128,1"
      Dst: "[ch.qos.logback.classic.spi.Configurator].configure(ch.qos.logback.classic.LoggerContext)"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:129,1"
      Dst: "[ch.qos.logback.classic.util.ContextInitializer].printDuration(long,ch.qos.logback.classic.spi.Configurator,ch.qos.logback.classic.spi.Configurator$ExecutionStatus)"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:134,1"
      Dst: "[java.lang.Class].getCanonicalName()"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:133,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:133,1"
      Dst: "[ch.qos.logback.core.LogbackException].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.ContextInitializer].printConfiguratorOrder(java.util.List)"
    functionSourceFile: "ch.qos.logback.classic.util.ContextInitializer"
    linkageType: null
    functionLinenumber: 138
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[ch.qos.logback.core.spi.ContextAware].addInfo(java.lang.String)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 18
    EdgeCount: 13
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.ContextInitializer:140"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.ContextInitializer:143"
        BranchSideFuncs:
        - "iterator()"
      - BranchSide: "ch.qos.logback.classic.util.ContextInitializer:142"
        BranchSideFuncs:
        - "addInfo(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.classic.util.ContextInitializer:139,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:140,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:140,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:140,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:141,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:141,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:141,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.util.ContextInitializer].printDuration(long,ch.qos.logback.classic.spi.Configurator,ch.qos.logback.classic.spi.Configurator$ExecutionStatus)"
    functionSourceFile: "ch.qos.logback.classic.util.ContextInitializer"
    linkageType: null
    functionLinenumber: 146
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "long"
    - "ch.qos.logback.classic.spi.Configurator"
    - "ch.qos.logback.classic.spi.Configurator$ExecutionStatus"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[java.lang.System].currentTimeMillis()"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,long,ch.qos.logback.classic.spi.Configurator$ExecutionStatus)"
    - "[ch.qos.logback.core.spi.ContextAware].addInfo(java.lang.String)"
    functionUses: 1
    ICount: 12
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.ContextInitializer:147,1"
      Dst: "[java.lang.System].currentTimeMillis()"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:149,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:149,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:149,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,long,ch.qos.logback.classic.spi.Configurator$ExecutionStatus)"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:149,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].addInfo(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.ContextInitializer].attemptConfigurationUsingJoranUsingReflexion(java.lang.ClassLoader)"
    functionSourceFile: "ch.qos.logback.classic.util.ContextInitializer"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.classic.spi.Configurator$ExecutionStatus"
    argCount: 1
    argTypes:
    - "java.lang.ClassLoader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ClassLoader].loadClass(java.lang.String)"
    - "[java.lang.Class].newInstance()"
    - "[ch.qos.logback.core.spi.ContextAware].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.classic.spi.Configurator].configure(ch.qos.logback.classic.LoggerContext)"
    - "[ch.qos.logback.core.spi.ContextAware].addError(java.lang.String,java.lang.Throwable)"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.ContextInitializer:155,1"
      Dst: "[java.lang.ClassLoader].loadClass(java.lang.String)"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:156,1"
      Dst: "[java.lang.Class].newInstance()"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:157,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:158,1"
      Dst: "[ch.qos.logback.classic.spi.Configurator].configure(ch.qos.logback.classic.LoggerContext)"
    - Src: "ch.qos.logback.classic.util.ContextInitializer:160,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].addError(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.ContextInitializer].compareRankValue(int,int)"
    functionSourceFile: "ch.qos.logback.classic.util.ContextInitializer"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "int"
    argCount: 2
    argTypes:
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.ContextInitializer:183"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.ContextInitializer:185"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.ContextInitializer:184"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.util.ContextInitializer:185"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.ContextInitializer:null"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.PlatformInfo].<init>()"
    functionSourceFile: "ch.qos.logback.classic.spi.PlatformInfo"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.PlatformInfo:21,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.PlatformInfo].hasJMXObjectName()"
    functionSourceFile: "ch.qos.logback.classic.spi.PlatformInfo"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].forName(java.lang.String)"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.PlatformInfo:28"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PlatformInfo:35"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.PlatformInfo:36"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.PlatformInfo:35"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.PlatformInfo:30,1"
      Dst: "[java.lang.Class].forName(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__77].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__77"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__77].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__77:-1,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__77].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__77].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__77"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__77:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__77].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__77"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.ParamModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__77:-1,1"
      Dst: "[ch.qos.logback.core.joran.ParamModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ParamModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.joran.ParamModelHandler"
    linkageType: null
    functionLinenumber: 21
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.ParamModelHandler].<init>(ch.qos.logback.core.Context,ch.qos.logback.core.joran.util.beans.BeanDescriptionCache)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getBeanDescriptionCache()"
    functionUses: 2
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ParamModelHandler:22,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getBeanDescriptionCache()"
    - Src: "ch.qos.logback.core.joran.ParamModelHandler:22,1"
      Dst: "[ch.qos.logback.core.joran.ParamModelHandler].<init>(ch.qos.logback.core.Context,ch.qos.logback.core.joran.util.beans.BeanDescriptionCache)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__38].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__38"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__38].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__38:-1,1"
      Dst: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__38].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__38].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__38"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__38:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__38].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__38"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__38:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__38].get()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__38"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.ShutdownHookAction].<init>()"
    functionUses: 3
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__38:-1,1"
      Dst: "[ch.qos.logback.core.joran.action.ShutdownHookAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.ShutdownHookAction].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.action.ShutdownHookAction"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.ShutdownHookAction:29,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy].<init>()"
    functionSourceFile: "ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy:28,1"
      Dst: "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy].start()"
    functionSourceFile: "ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 4
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase].start()"
    - "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase].isErrorFree()"
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].hasIntegerTokenCOnverter()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].<init>(ch.qos.logback.core.rolling.helper.FileNamePattern,ch.qos.logback.core.rolling.helper.RollingCalendar)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.rolling.helper.FileNamePattern)"
    - "[ch.qos.logback.core.spi.ContextAware].setContext(ch.qos.logback.core.Context)"
    functionUses: 6
    ICount: 25
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy:33"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy:35"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy:34"
        BranchSideFuncs:
        - "hasIntegerTokenCOnverter()"
    - Branch String: "ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy:35"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy:41"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy:40"
        BranchSideFuncs:
        - "<init>(ch.qos.logback.core.rolling.helper.FileNamePattern,ch.qos.logback.core.rolling.helper.RollingCalendar)"
        - "setContext(ch.qos.logback.core.Context)"
    Callsites:
    - Src: "ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy:32,1"
      Dst: "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase].start()"
    - Src: "ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy:33,1"
      Dst: "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase].isErrorFree()"
    - Src: "ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy:35,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileNamePattern].hasIntegerTokenCOnverter()"
    - Src: "ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy:36,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.core.rolling.helper.FileNamePattern)"
    - Src: "ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy:36,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy:41,1"
      Dst: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].<init>(ch.qos.logback.core.rolling.helper.FileNamePattern,ch.qos.logback.core.rolling.helper.RollingCalendar)"
    - Src: "ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy:42,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].setContext(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.FileNamePattern].hasIntegerTokenCOnverter()"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileNamePattern"
    linkageType: null
    functionLinenumber: 140
    functionDepth: 1
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].getIntegerTokenConverter()"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:142"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:140"
        BranchSideFuncs:
        - "getIntegerTokenConverter()"
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:141,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileNamePattern].getIntegerTokenConverter()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].<init>(ch.qos.logback.core.rolling.helper.FileNamePattern,ch.qos.logback.core.rolling.helper.RollingCalendar)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover"
    linkageType: null
    functionLinenumber: 41
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.rolling.helper.FileNamePattern"
    - "ch.qos.logback.core.rolling.helper.RollingCalendar"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].computeParentCleaningFlag(ch.qos.logback.core.rolling.helper.FileNamePattern)"
    functionUses: 2
    ICount: 13
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:42,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:45,1"
      Dst: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].computeParentCleaningFlag(ch.qos.logback.core.rolling.helper.FileNamePattern)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 34
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:34,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].computeParentCleaningFlag(ch.qos.logback.core.rolling.helper.FileNamePattern)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover"
    linkageType: null
    functionLinenumber: 176
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.rolling.helper.FileNamePattern"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].getPrimaryDateTokenConverter()"
    - "[ch.qos.logback.core.rolling.helper.DateTokenConverter].getDatePattern()"
    - "[ch.qos.logback.core.pattern.Converter].getNext()"
    - "[ch.qos.logback.classic.pattern.FileOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LocalSequenceNumberConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.SyslogStartConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.DateTokenConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.NopThrowableInformationConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.PrefixCompositeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.DateConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.RelativeTimeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.IntegerTokenConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.KeyValuePairConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LineSeparatorConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LineOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.PropertyConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LevelConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MDCConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MessageConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ThreadConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.NamedConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MethodOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MicrosecondConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ContextNameConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MarkerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.CompositeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.SequenceNumberConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.CallerDataConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.LiteralConverter].convert(java.lang.Object)"
    - "[java.lang.String].indexOf(int)"
    - "[ch.qos.logback.core.pattern.Converter].convert(java.lang.Object)"
    functionUses: 1
    ICount: 26
    EdgeCount: 31
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:179"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:185"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:184"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:188"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:195"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:194"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:189"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:192"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:191"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:195"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:206"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:205"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:196"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:202"
        BranchSideFuncs:
        - "convert(java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:201"
        BranchSideFuncs:
        - "getNext()"
    - Branch String: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:198"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:202"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:201"
        BranchSideFuncs:
        - "getNext()"
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:177,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileNamePattern].getPrimaryDateTokenConverter()"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:179,1"
      Dst: "[ch.qos.logback.core.rolling.helper.DateTokenConverter].getDatePattern()"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:179,1"
      Dst: "[java.lang.String].indexOf(int)"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:192,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].getNext()"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:197,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].convert(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 13
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy].isTriggeringEvent(java.io.File,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 2
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.io.File"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase].getCurrentTime()"
    - "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase].computeNextCheck(long)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].convert(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase].setDateInCurrentPeriod(long)"
    - "[java.util.concurrent.atomic.AtomicLong].get()"
    - "[java.util.concurrent.atomic.AtomicLong].set(long)"
    - "[java.time.Instant].toString()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 2
    ICount: 23
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy:49"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy:58"
        BranchSideFuncs:
        - "computeNextCheck(long)"
        - "setDateInCurrentPeriod(long)"
        - "addInfo(java.lang.String)"
        - "convert(java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy:57"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy:47,1"
      Dst: "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase].getCurrentTime()"
    - Src: "ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy:48,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].get()"
    - Src: "ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy:50,1"
      Dst: "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase].computeNextCheck(long)"
    - Src: "ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy:51,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].set(long)"
    - Src: "ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy:53,1"
      Dst: "[java.time.Instant].toString()"
    - Src: "ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy:53,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy:53,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy:54,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileNamePattern].convert(java.lang.Object)"
    - Src: "ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy:55,1"
      Dst: "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase].setDateInCurrentPeriod(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.FileNamePattern].convert(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileNamePattern"
    linkageType: null
    functionLinenumber: 164
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.FileOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LocalSequenceNumberConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.SyslogStartConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.DateTokenConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.NopThrowableInformationConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.PrefixCompositeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.DateConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.RelativeTimeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.IntegerTokenConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.KeyValuePairConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LineSeparatorConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LineOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.PropertyConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LevelConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MDCConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MessageConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ThreadConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.NamedConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MethodOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MicrosecondConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ContextNameConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MarkerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.CompositeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.SequenceNumberConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.CallerDataConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.LiteralConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.Converter].getNext()"
    - "[java.lang.StringBuilder].<init>()"
    - "[ch.qos.logback.core.pattern.Converter].convert(java.lang.Object)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 5
    ICount: 12
    EdgeCount: 28
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:167"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:171"
        BranchSideFuncs:
        - "getNext()"
        - "convert(java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:170"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:165,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:168,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].convert(java.lang.Object)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:168,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:169,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].getNext()"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:171,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy].toString()"
    functionSourceFile: "ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy"
    linkageType: null
    functionLinenumber: 63
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxy].<init>(java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxy"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.ThrowableProxy].<init>(java.lang.Throwable,java.util.Set)"
    - "[java.util.IdentityHashMap].<init>()"
    - "[java.util.Collections].newSetFromMap(java.util.Map)"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:51,1"
      Dst: "[java.util.IdentityHashMap].<init>()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:51,1"
      Dst: "[java.util.Collections].newSetFromMap(java.util.Map)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:51,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxy].<init>(java.lang.Throwable,java.util.Set)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxy].<init>(java.lang.Throwable,boolean)"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxy"
    linkageType: null
    functionLinenumber: 54
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Throwable"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.xml.sax.SAXException].getMessage()"
    - "[java.lang.Object].<init>()"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getName()"
    - "[java.lang.Throwable].getMessage()"
    functionUses: 2
    ICount: 17
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:55,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:57,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:57,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:58,1"
      Dst: "[java.lang.Throwable].getMessage()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxy].<init>(java.lang.Throwable,java.util.Set)"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxy"
    linkageType: null
    functionLinenumber: 62
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Throwable"
    - "java.util.Set"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.xml.sax.SAXException].getMessage()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyUtil].steArrayToStepArray(java.lang.StackTraceElement[])"
    - "[ch.qos.logback.core.spi.ScanException:org.xml.sax.SAXException].getCause()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].<init>(java.lang.Throwable,boolean)"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].<init>(java.lang.Throwable,java.util.Set)"
    - "[ch.qos.logback.classic.spi.ThrowableProxyUtil].findNumberOfCommonFrames(java.lang.StackTraceElement[],ch.qos.logback.classic.spi.StackTraceElementProxy[])"
    - "[ch.qos.logback.core.util.OptionHelper].isNotEmtpy(java.lang.Object[])"
    - "[java.lang.Object].<init>()"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getName()"
    - "[java.lang.Throwable].getMessage()"
    - "[java.lang.Throwable].getStackTrace()"
    - "[java.util.Set].add(java.lang.Object)"
    - "[java.lang.Throwable].getCause()"
    - "[java.util.Set].contains(java.lang.Object)"
    - "[java.lang.Throwable].getSuppressed()"
    - "[java.util.ArrayList].<init>(int)"
    - "[java.util.List].add(java.lang.Object)"
    - "[java.util.List].size()"
    - "[java.util.List].toArray(java.lang.Object[])"
    functionUses: 3
    ICount: 65
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxy:74"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxy:84"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxy:83"
        BranchSideFuncs:
        - "isNotEmtpy(java.lang.Object[])"
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxy:75"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxy:78"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxy:77"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxy:87"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxy:102"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxy:101"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxy:89"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxy:100"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxy:99"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxy:90"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxy:94"
        BranchSideFuncs:
        - "<init>(java.lang.Throwable,boolean)"
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxy:93"
        BranchSideFuncs:
        - "findNumberOfCommonFrames(java.lang.StackTraceElement[],ch.qos.logback.classic.spi.StackTraceElementProxy[])"
        - "<init>(java.lang.Throwable,java.util.Set)"
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:63,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:66,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:66,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:67,1"
      Dst: "[java.lang.Throwable].getMessage()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:68,1"
      Dst: "[java.lang.Throwable].getStackTrace()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:68,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].steArrayToStepArray(java.lang.StackTraceElement[])"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:71,1"
      Dst: "[java.util.Set].add(java.lang.Object)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:73,1"
      Dst: "[java.lang.Throwable].getCause()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:75,1"
      Dst: "[java.util.Set].contains(java.lang.Object)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:76,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxy].<init>(java.lang.Throwable,boolean)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:78,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxy].<init>(java.lang.Throwable,java.util.Set)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:79,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].findNumberOfCommonFrames(java.lang.StackTraceElement[],ch.qos.logback.classic.spi.StackTraceElementProxy[])"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:84,1"
      Dst: "[java.lang.Throwable].getSuppressed()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:87,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNotEmtpy(java.lang.Object[])"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:88,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:92,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:100,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:100,1"
      Dst: "[java.util.List].toArray(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 13
    CyclomaticComplexity: 6
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxy].getThrowable()"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxy"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 0
    returnType: "java.lang.Throwable"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxy].getMessage()"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxy"
    linkageType: null
    functionLinenumber: 108
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 8
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxy].getClassName()"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxy"
    linkageType: null
    functionLinenumber: 117
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 8
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxy].getStackTraceElementProxyArray()"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxy"
    linkageType: null
    functionLinenumber: 121
    functionDepth: 0
    returnType: "ch.qos.logback.classic.spi.StackTraceElementProxy[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 8
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxy].isCyclic()"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxy"
    linkageType: null
    functionLinenumber: 126
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxy].getCommonFrames()"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxy"
    linkageType: null
    functionLinenumber: 130
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 8
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxy].getCause()"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxy"
    linkageType: null
    functionLinenumber: 139
    functionDepth: 0
    returnType: "ch.qos.logback.classic.spi.IThrowableProxy"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 9
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxy].getSuppressed()"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxy"
    linkageType: null
    functionLinenumber: 143
    functionDepth: 0
    returnType: "ch.qos.logback.classic.spi.IThrowableProxy[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 5
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxy].getPackagingDataCalculator()"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxy"
    linkageType: null
    functionLinenumber: 150
    functionDepth: 1
    returnType: "ch.qos.logback.classic.spi.PackagingDataCalculator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.PackagingDataCalculator].<init>()"
    functionUses: 1
    ICount: 10
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxy:151"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxy:154"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxy:153"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxy:151"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxy:154"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxy:153"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:152,1"
      Dst: "[ch.qos.logback.classic.spi.PackagingDataCalculator].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxy].calculatePackagingData()"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxy"
    linkageType: null
    functionLinenumber: 157
    functionDepth: 7
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.ThrowableProxy].getPackagingDataCalculator()"
    - "[ch.qos.logback.classic.spi.PackagingDataCalculator].calculate(ch.qos.logback.classic.spi.IThrowableProxy)"
    functionUses: 1
    ICount: 9
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxy:158"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxy:161"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxy:160"
        BranchSideFuncs:
        - "getPackagingDataCalculator()"
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxy:162"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxy:166"
        BranchSideFuncs:
        - "calculate(ch.qos.logback.classic.spi.IThrowableProxy)"
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxy:165"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:161,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxy].getPackagingDataCalculator()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:164,1"
      Dst: "[ch.qos.logback.classic.spi.PackagingDataCalculator].calculate(ch.qos.logback.classic.spi.IThrowableProxy)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxy].fullDump()"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxy"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[ch.qos.logback.classic.spi.StackTraceElementProxy].toString()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinPackagingData(java.lang.StringBuilder,ch.qos.logback.classic.spi.StackTraceElementProxy)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.io.PrintStream].println(java.lang.String)"
    functionUses: 0
    ICount: 20
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxy:170"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxy:175"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:169,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:171,1"
      Dst: "[ch.qos.logback.classic.spi.StackTraceElementProxy].toString()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:172,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:172,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:173,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinPackagingData(java.lang.StringBuilder,ch.qos.logback.classic.spi.StackTraceElementProxy)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:176,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxy:176,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.StackTraceElementProxy].toString()"
    functionSourceFile: "ch.qos.logback.classic.spi.StackTraceElementProxy"
    linkageType: null
    functionLinenumber: 88
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.StackTraceElementProxy].getSTEAsString()"
    functionUses: 6
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.StackTraceElementProxy:89,1"
      Dst: "[ch.qos.logback.classic.spi.StackTraceElementProxy].getSTEAsString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinPackagingData(java.lang.StringBuilder,ch.qos.logback.classic.spi.StackTraceElementProxy)"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxyUtil"
    linkageType: null
    functionLinenumber: 113
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "ch.qos.logback.classic.spi.StackTraceElementProxy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.StackTraceElementProxy].getClassPackagingData()"
    - "[ch.qos.logback.classic.spi.ClassPackagingData].isExact()"
    - "[ch.qos.logback.classic.spi.ClassPackagingData].getCodeLocation()"
    - "[ch.qos.logback.classic.spi.ClassPackagingData].getVersion()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(char)"
    functionUses: 1
    ICount: 17
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:114"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:126"
        BranchSideFuncs:
        - "getClassPackagingData()"
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:125"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:116"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:126"
        BranchSideFuncs:
        - "isExact()"
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:125"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:117"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:120"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:119"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:115,1"
      Dst: "[ch.qos.logback.classic.spi.StackTraceElementProxy].getClassPackagingData()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:117,1"
      Dst: "[ch.qos.logback.classic.spi.ClassPackagingData].isExact()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:118,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:123,1"
      Dst: "[ch.qos.logback.classic.spi.ClassPackagingData].getCodeLocation()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:123,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:123,1"
      Dst: "[ch.qos.logback.classic.spi.ClassPackagingData].getVersion()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.model.AppenderRefModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.AppenderRefModel"
    linkageType: null
    functionLinenumber: 21
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.AppenderRefModel:22,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.AppenderRefModel].makeNewInstance()"
    functionSourceFile: "ch.qos.logback.core.model.AppenderRefModel"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.AppenderRefModel"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.AppenderRefModel].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.AppenderRefModel:29,1"
      Dst: "[ch.qos.logback.core.model.AppenderRefModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.AppenderRefModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.AppenderRefModel"
    linkageType: null
    functionLinenumber: 21
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.AppenderRefModel:22,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.AppenderRefModel].mirror(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.AppenderRefModel"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].mirror(ch.qos.logback.core.model.Model)"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.AppenderRefModel:35,1"
      Dst: "[ch.qos.logback.core.model.Model].mirror(ch.qos.logback.core.model.Model)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].mirror(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 56
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 11
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.AppenderRefModel].getRef()"
    functionSourceFile: "ch.qos.logback.core.model.AppenderRefModel"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.AppenderRefModel].setRef(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.AppenderRefModel"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.AppenderRefModel].hashCode()"
    functionSourceFile: "ch.qos.logback.core.model.AppenderRefModel"
    linkageType: null
    functionLinenumber: 49
    functionDepth: 1
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].hashCode()"
    - "[java.util.Objects].hash(java.lang.Object[])"
    functionUses: 5
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.AppenderRefModel:50,1"
      Dst: "[ch.qos.logback.core.model.Model].hashCode()"
    - Src: "ch.qos.logback.core.model.AppenderRefModel:51,1"
      Dst: "[java.util.Objects].hash(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].hashCode()"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 145
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Integer].valueOf(int)"
    - "[java.util.Objects].hash(java.lang.Object[])"
    functionUses: 15
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:146,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "ch.qos.logback.core.model.Model:146,1"
      Dst: "[java.util.Objects].hash(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.AppenderRefModel].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.model.AppenderRefModel"
    linkageType: null
    functionLinenumber: 56
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].equals(java.lang.Object)"
    - "[java.lang.Object].getClass()"
    - "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    functionUses: 6
    ICount: 16
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.AppenderRefModel:57"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.AppenderRefModel:59"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.AppenderRefModel:58"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "ch.qos.logback.core.model.AppenderRefModel:59"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.AppenderRefModel:61"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.AppenderRefModel:60"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.AppenderRefModel:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.AppenderRefModel:63"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.AppenderRefModel:62"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.AppenderRefModel:59,1"
      Dst: "[ch.qos.logback.core.model.Model].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.model.AppenderRefModel:61,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.model.AppenderRefModel:64,1"
      Dst: "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.Model].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.model.Model"
    linkageType: null
    functionLinenumber: 150
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    functionUses: 16
    ICount: 30
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.Model:151"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:153"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:152"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:153"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:155"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:154"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:155"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:157"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:156"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:158"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:-1"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:158"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:-1"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.Model:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:159"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.Model:159"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.Model:-2"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.Model:155,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.model.Model:158,1"
      Dst: "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 13
    CyclomaticComplexity: 5
  - functionName: "[org.slf4j.helpers.Util$ClassContextSecurityManager].<init>()"
    functionSourceFile: "org.slf4j.helpers.Util$ClassContextSecurityManager"
    linkageType: null
    functionLinenumber: 63
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.SecurityManager].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.Util$ClassContextSecurityManager:64,1"
      Dst: "[java.lang.SecurityManager].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.Util$ClassContextSecurityManager].getClassContext()"
    functionSourceFile: "org.slf4j.helpers.Util$ClassContextSecurityManager"
    linkageType: null
    functionLinenumber: 65
    functionDepth: 0
    returnType: "java.lang.Class[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.SecurityManager].getClassContext()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.Util$ClassContextSecurityManager:66,1"
      Dst: "[java.lang.SecurityManager].getClassContext()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.Util$ClassContextSecurityManager].<init>(org.slf4j.helpers.Util$1)"
    functionSourceFile: "org.slf4j.helpers.Util$ClassContextSecurityManager"
    linkageType: null
    functionLinenumber: 63
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.slf4j.helpers.Util$1"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.Util$ClassContextSecurityManager].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.Util$ClassContextSecurityManager:64,1"
      Dst: "[org.slf4j.helpers.Util$ClassContextSecurityManager].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.FileTestUtil].<init>()"
    functionSourceFile: "ch.qos.logback.core.testUtil.FileTestUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.FileTestUtil:22,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.FileTestUtil].makeTestOutputDir()"
    functionSourceFile: "ch.qos.logback.core.testUtil.FileTestUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.File].<init>(java.lang.String)"
    - "[java.io.File].exists()"
    - "[java.io.File].isDirectory()"
    - "[java.io.File].mkdir()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 21
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.testUtil.FileTestUtil:26"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.testUtil.FileTestUtil:34"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.testUtil.FileTestUtil:33"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.testUtil.FileTestUtil:26"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.testUtil.FileTestUtil:34"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.testUtil.FileTestUtil:33"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.testUtil.FileTestUtil:28"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.testUtil.FileTestUtil:33"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.testUtil.FileTestUtil:32"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.testUtil.FileTestUtil:30"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.testUtil.FileTestUtil:33"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.testUtil.FileTestUtil:32"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.FileTestUtil:25,1"
      Dst: "[java.io.File].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.testUtil.FileTestUtil:26,1"
      Dst: "[java.io.File].exists()"
    - Src: "ch.qos.logback.core.testUtil.FileTestUtil:26,1"
      Dst: "[java.io.File].isDirectory()"
    - Src: "ch.qos.logback.core.testUtil.FileTestUtil:29,1"
      Dst: "[java.io.File].mkdir()"
    - Src: "ch.qos.logback.core.testUtil.FileTestUtil:31,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File)"
    - Src: "ch.qos.logback.core.testUtil.FileTestUtil:31,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.net.SocketReceiver].<init>()"
    functionSourceFile: "ch.qos.logback.classic.net.SocketReceiver"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.net.ReceiverBase].<init>()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SocketReceiver:44,1"
      Dst: "[ch.qos.logback.classic.net.ReceiverBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SocketReceiver].shouldStart()"
    functionSourceFile: "ch.qos.logback.classic.net.SocketReceiver"
    linkageType: null
    functionLinenumber: 61
    functionDepth: 2
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[java.net.InetAddress].getByName(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int)"
    functionUses: 2
    ICount: 33
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.net.SocketReceiver:63"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SocketReceiver:69"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.net.SocketReceiver:68"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.net.SocketReceiver:69"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SocketReceiver:75"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.net.SocketReceiver:74"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.net.SocketReceiver:75"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SocketReceiver:79"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.net.SocketReceiver:78"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.net.SocketReceiver:79"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SocketReceiver:88"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.net.SocketReceiver:87"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.net.SocketReceiver:88"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SocketReceiver:92"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.net.SocketReceiver:91"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.net.SocketReceiver:92"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SocketReceiver:91"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SocketReceiver:65,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:81,1"
      Dst: "[java.net.InetAddress].getByName(java.lang.String)"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:83,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:89,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 15
    CyclomaticComplexity: 7
  - functionName: "[ch.qos.logback.classic.net.SocketReceiver].onStop()"
    functionSourceFile: "ch.qos.logback.classic.net.SocketReceiver"
    linkageType: null
    functionLinenumber: 98
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.CloseUtil].closeQuietly(java.net.Socket)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.net.SocketReceiver:99"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SocketReceiver:102"
        BranchSideFuncs:
        - "closeQuietly(java.net.Socket)"
      - BranchSide: "ch.qos.logback.classic.net.SocketReceiver:101"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SocketReceiver:100,1"
      Dst: "[ch.qos.logback.core.util.CloseUtil].closeQuietly(java.net.Socket)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.CloseUtil].closeQuietly(java.net.Socket)"
    functionSourceFile: "ch.qos.logback.core.util.CloseUtil"
    linkageType: null
    functionLinenumber: 48
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.net.Socket"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.net.Socket].close()"
    functionUses: 12
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.CloseUtil:49"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.CloseUtil:52"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.CloseUtil:51"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.CloseUtil:52,1"
      Dst: "[java.net.Socket].close()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SocketReceiver].getRunnableTask()"
    functionSourceFile: "ch.qos.logback.classic.net.SocketReceiver"
    linkageType: null
    functionLinenumber: 105
    functionDepth: 0
    returnType: "java.lang.Runnable"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SocketReceiver].run()"
    functionSourceFile: "ch.qos.logback.classic.net.SocketReceiver"
    linkageType: null
    functionLinenumber: 113
    functionDepth: 7
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - "[ch.qos.logback.classic.net.SocketReceiver].createConnector(java.net.InetAddress,int,int,int)"
    - "[ch.qos.logback.classic.net.SocketReceiver].activateConnector(ch.qos.logback.core.net.SocketConnector)"
    - "[ch.qos.logback.classic.net.SocketReceiver].waitForConnectorToReturnASocket()"
    - "[ch.qos.logback.classic.net.SocketReceiver].dispatchEvents(ch.qos.logback.classic.LoggerContext)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[java.lang.Thread].currentThread()"
    - "[java.lang.Thread].isInterrupted()"
    functionUses: 8
    ICount: 26
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.net.SocketReceiver:115"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SocketReceiver:128"
        BranchSideFuncs:
        - "activateConnector(ch.qos.logback.core.net.SocketConnector)"
        - "createConnector(java.net.InetAddress,int,int,int)"
      - BranchSide: "ch.qos.logback.classic.net.SocketReceiver:127"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.net.SocketReceiver:118"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SocketReceiver:121"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.net.SocketReceiver:120"
        BranchSideFuncs:
        - "waitForConnectorToReturnASocket()"
    - Branch String: "ch.qos.logback.classic.net.SocketReceiver:122"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SocketReceiver:124"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.net.SocketReceiver:123"
        BranchSideFuncs:
        - "dispatchEvents(ch.qos.logback.classic.LoggerContext)"
    Callsites:
    - Src: "ch.qos.logback.classic.net.SocketReceiver:114,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:115,1"
      Dst: "[java.lang.Thread].currentThread()"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:115,1"
      Dst: "[java.lang.Thread].isInterrupted()"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:116,1"
      Dst: "[ch.qos.logback.classic.net.SocketReceiver].createConnector(java.net.InetAddress,int,int,int)"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:117,1"
      Dst: "[ch.qos.logback.classic.net.SocketReceiver].activateConnector(ch.qos.logback.core.net.SocketConnector)"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:121,1"
      Dst: "[ch.qos.logback.classic.net.SocketReceiver].waitForConnectorToReturnASocket()"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:124,1"
      Dst: "[ch.qos.logback.classic.net.SocketReceiver].dispatchEvents(ch.qos.logback.classic.LoggerContext)"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:129,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 0
    returnType: "ch.qos.logback.core.Context"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 35
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SocketReceiver].createConnector(java.net.InetAddress,int,int,int)"
    functionSourceFile: "ch.qos.logback.classic.net.SocketReceiver"
    linkageType: null
    functionLinenumber: 132
    functionDepth: 3
    returnType: "ch.qos.logback.core.net.SocketConnector"
    argCount: 4
    argTypes:
    - "java.net.InetAddress"
    - "int"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.net.SocketReceiver].newConnector(java.net.InetAddress,int,int,int)"
    - "[ch.qos.logback.core.net.DefaultSocketConnector].setExceptionHandler(ch.qos.logback.core.net.SocketConnector$ExceptionHandler)"
    - "[ch.qos.logback.classic.net.SocketReceiver].getSocketFactory()"
    - "[ch.qos.logback.classic.net.SSLSocketReceiver].getSocketFactory()"
    - "[ch.qos.logback.core.net.DefaultSocketConnector].setSocketFactory(javax.net.SocketFactory)"
    - "[ch.qos.logback.core.net.SocketConnector].setExceptionHandler(ch.qos.logback.core.net.SocketConnector$ExceptionHandler)"
    - "[ch.qos.logback.core.net.SocketConnector].setSocketFactory(javax.net.SocketFactory)"
    functionUses: 1
    ICount: 10
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SocketReceiver:133,1"
      Dst: "[ch.qos.logback.classic.net.SocketReceiver].newConnector(java.net.InetAddress,int,int,int)"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:134,1"
      Dst: "[ch.qos.logback.core.net.SocketConnector].setExceptionHandler(ch.qos.logback.core.net.SocketConnector$ExceptionHandler)"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:135,1"
      Dst: "[ch.qos.logback.classic.net.SocketReceiver].getSocketFactory()"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:135,1"
      Dst: "[ch.qos.logback.core.net.SocketConnector].setSocketFactory(javax.net.SocketFactory)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SocketReceiver].newConnector(java.net.InetAddress,int,int,int)"
    functionSourceFile: "ch.qos.logback.classic.net.SocketReceiver"
    linkageType: null
    functionLinenumber: 198
    functionDepth: 2
    returnType: "ch.qos.logback.core.net.SocketConnector"
    argCount: 4
    argTypes:
    - "java.net.InetAddress"
    - "int"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.DefaultSocketConnector].<init>(java.net.InetAddress,int,long,long)"
    functionUses: 1
    ICount: 10
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SocketReceiver:199,1"
      Dst: "[ch.qos.logback.core.net.DefaultSocketConnector].<init>(java.net.InetAddress,int,long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.DefaultSocketConnector].<init>(java.net.InetAddress,int,long,long)"
    functionSourceFile: "ch.qos.logback.core.net.DefaultSocketConnector"
    linkageType: null
    functionLinenumber: 48
    functionDepth: 1
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.net.InetAddress"
    - "int"
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.DefaultSocketConnector].<init>(java.net.InetAddress,int,ch.qos.logback.core.util.DelayStrategy)"
    - "[ch.qos.logback.core.util.FixedDelay].<init>(long,long)"
    functionUses: 2
    ICount: 9
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.DefaultSocketConnector:49,1"
      Dst: "[ch.qos.logback.core.util.FixedDelay].<init>(long,long)"
    - Src: "ch.qos.logback.core.net.DefaultSocketConnector:49,1"
      Dst: "[ch.qos.logback.core.net.DefaultSocketConnector].<init>(java.net.InetAddress,int,ch.qos.logback.core.util.DelayStrategy)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.FixedDelay].<init>(long,long)"
    functionSourceFile: "ch.qos.logback.core.util.FixedDelay"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.FixedDelay:34,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.DefaultSocketConnector].<init>(java.net.InetAddress,int,ch.qos.logback.core.util.DelayStrategy)"
    functionSourceFile: "ch.qos.logback.core.net.DefaultSocketConnector"
    linkageType: null
    functionLinenumber: 59
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.net.InetAddress"
    - "int"
    - "ch.qos.logback.core.util.DelayStrategy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.DefaultSocketConnector:60,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SocketReceiver].getSocketFactory()"
    functionSourceFile: "ch.qos.logback.classic.net.SocketReceiver"
    linkageType: null
    functionLinenumber: 202
    functionDepth: 0
    returnType: "javax.net.SocketFactory"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.net.SocketFactory].getDefault()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SocketReceiver:203,1"
      Dst: "[javax.net.SocketFactory].getDefault()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SocketReceiver].activateConnector(ch.qos.logback.core.net.SocketConnector)"
    functionSourceFile: "ch.qos.logback.classic.net.SocketReceiver"
    linkageType: null
    functionLinenumber: 140
    functionDepth: 1
    returnType: "java.util.concurrent.Future"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.net.SocketConnector"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - "[ch.qos.logback.core.ContextBase].getScheduledExecutorService()"
    - "[ch.qos.logback.core.Context].getScheduledExecutorService()"
    - "[java.util.concurrent.ExecutorService].submit(java.util.concurrent.Callable)"
    functionUses: 1
    ICount: 8
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SocketReceiver:141,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:141,1"
      Dst: "[ch.qos.logback.core.Context].getScheduledExecutorService()"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:141,1"
      Dst: "[java.util.concurrent.ExecutorService].submit(java.util.concurrent.Callable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SocketReceiver].waitForConnectorToReturnASocket()"
    functionSourceFile: "ch.qos.logback.classic.net.SocketReceiver"
    linkageType: null
    functionLinenumber: 148
    functionDepth: 0
    returnType: "java.net.Socket"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.Future].get()"
    functionUses: 1
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SocketReceiver:149,1"
      Dst: "[java.util.concurrent.Future].get()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SocketReceiver].dispatchEvents(ch.qos.logback.classic.LoggerContext)"
    functionSourceFile: "ch.qos.logback.classic.net.SocketReceiver"
    linkageType: null
    functionLinenumber: 157
    functionDepth: 6
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.LoggerContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.net.server.HardenedLoggingEventInputStream].<init>(java.io.InputStream)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.classic.LoggerContext].getLogger(java.lang.String)"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getLoggerName()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getLoggerName()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getLevel()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getLevel()"
    - "[ch.qos.logback.classic.Logger].isEnabledFor(ch.qos.logback.classic.Level)"
    - "[ch.qos.logback.classic.Logger].callAppenders(ch.qos.logback.classic.spi.ILoggingEvent)"
    - "[ch.qos.logback.core.util.CloseUtil].closeQuietly(java.io.Closeable)"
    - "[ch.qos.logback.core.util.CloseUtil].closeQuietly(java.net.Socket)"
    - "[java.net.Socket].setSoTimeout(int)"
    - "[java.net.Socket].getInputStream()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.io.ObjectInputStream].readObject()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerName()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.io.IOException)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.ClassNotFoundException)"
    functionUses: 1
    ICount: 72
    EdgeCount: 24
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.net.SocketReceiver:167"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SocketReceiver:170"
        BranchSideFuncs:
        - "callAppenders(ch.qos.logback.classic.spi.ILoggingEvent)"
      - BranchSide: "ch.qos.logback.classic.net.SocketReceiver:169"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SocketReceiver:160,1"
      Dst: "[java.net.Socket].setSoTimeout(int)"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:161,1"
      Dst: "[java.net.Socket].getInputStream()"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:161,1"
      Dst: "[ch.qos.logback.classic.net.server.HardenedLoggingEventInputStream].<init>(java.io.InputStream)"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:163,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:163,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:165,1"
      Dst: "[java.io.ObjectInputStream].readObject()"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:166,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerName()"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:166,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getLogger(java.lang.String)"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:167,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:167,1"
      Dst: "[ch.qos.logback.classic.Logger].isEnabledFor(ch.qos.logback.classic.Level)"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:168,1"
      Dst: "[ch.qos.logback.classic.Logger].callAppenders(ch.qos.logback.classic.spi.ILoggingEvent)"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:178,1"
      Dst: "[ch.qos.logback.core.util.CloseUtil].closeQuietly(java.io.Closeable)"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:179,1"
      Dst: "[ch.qos.logback.core.util.CloseUtil].closeQuietly(java.net.Socket)"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:174,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.io.IOException)"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:176,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.ClassNotFoundException)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.HardenedLoggingEventInputStream].<init>(java.io.InputStream)"
    functionSourceFile: "ch.qos.logback.classic.net.server.HardenedLoggingEventInputStream"
    linkageType: null
    functionLinenumber: 61
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.InputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.HardenedObjectInputStream].<init>(java.io.InputStream,java.util.List)"
    - "[ch.qos.logback.classic.net.server.HardenedLoggingEventInputStream].getWhilelist()"
    functionUses: 4
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.server.HardenedLoggingEventInputStream:62,1"
      Dst: "[ch.qos.logback.classic.net.server.HardenedLoggingEventInputStream].getWhilelist()"
    - Src: "ch.qos.logback.classic.net.server.HardenedLoggingEventInputStream:62,1"
      Dst: "[ch.qos.logback.core.net.HardenedObjectInputStream].<init>(java.io.InputStream,java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].getLogger(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 128
    functionDepth: 2
    returnType: "ch.qos.logback.classic.Logger"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.util.LoggerNameUtil].getSeparatorIndexOf(java.lang.String,int)"
    - "[ch.qos.logback.classic.Logger].getChildByName(java.lang.String)"
    - "[ch.qos.logback.classic.Logger].createChildByName(java.lang.String)"
    - "[ch.qos.logback.classic.LoggerContext].incSize()"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - "[java.util.Map].get(java.lang.Object)"
    - "[java.lang.String].substring(int,int)"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 10
    ICount: 45
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.LoggerContext:129"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:135"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:134"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.LoggerContext:135"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:139"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:138"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.LoggerContext:146"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:154"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:153"
        BranchSideFuncs:
        - "getSeparatorIndexOf(java.lang.String,int)"
    - Branch String: "ch.qos.logback.classic.LoggerContext:155"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:158"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:157"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.LoggerContext:164"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:169"
        BranchSideFuncs:
        - "createChildByName(java.lang.String)"
        - "incSize()"
      - BranchSide: "ch.qos.logback.classic.LoggerContext:168"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.LoggerContext:171"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:174"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:173"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:130,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.classic.LoggerContext:135,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - Src: "ch.qos.logback.classic.LoggerContext:144,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "ch.qos.logback.classic.LoggerContext:154,1"
      Dst: "[ch.qos.logback.classic.util.LoggerNameUtil].getSeparatorIndexOf(java.lang.String,int)"
    - Src: "ch.qos.logback.classic.LoggerContext:158,1"
      Dst: "[java.lang.String].substring(int,int)"
    - Src: "ch.qos.logback.classic.LoggerContext:163,1"
      Dst: "[ch.qos.logback.classic.Logger].getChildByName(java.lang.String)"
    - Src: "ch.qos.logback.classic.LoggerContext:165,1"
      Dst: "[ch.qos.logback.classic.Logger].createChildByName(java.lang.String)"
    - Src: "ch.qos.logback.classic.LoggerContext:166,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - Src: "ch.qos.logback.classic.LoggerContext:167,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].incSize()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 16
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.Logger].isEnabledFor(ch.qos.logback.classic.Level)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 688
    functionDepth: 4
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.Level"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].isEnabledFor(org.slf4j.Marker,ch.qos.logback.classic.Level)"
    functionUses: 3
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:689,1"
      Dst: "[ch.qos.logback.classic.Logger].isEnabledFor(org.slf4j.Marker,ch.qos.logback.classic.Level)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Logger].callAppenders(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.Logger"
    linkageType: null
    functionLinenumber: 256
    functionDepth: 5
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Logger].appendLoopOnAppenders(ch.qos.logback.classic.spi.ILoggingEvent)"
    - "[ch.qos.logback.classic.LoggerContext].noAppenderDefinedWarning(ch.qos.logback.classic.Logger)"
    functionUses: 4
    ICount: 16
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Logger:258"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:265"
        BranchSideFuncs:
        - "appendLoopOnAppenders(ch.qos.logback.classic.spi.ILoggingEvent)"
      - BranchSide: "ch.qos.logback.classic.Logger:264"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:260"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:257"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Logger:256"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Logger:265"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Logger:268"
        BranchSideFuncs:
        - "noAppenderDefinedWarning(ch.qos.logback.classic.Logger)"
      - BranchSide: "ch.qos.logback.classic.Logger:267"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.Logger:259,1"
      Dst: "[ch.qos.logback.classic.Logger].appendLoopOnAppenders(ch.qos.logback.classic.spi.ILoggingEvent)"
    - Src: "ch.qos.logback.classic.Logger:266,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].noAppenderDefinedWarning(ch.qos.logback.classic.Logger)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.util.CloseUtil].closeQuietly(java.io.Closeable)"
    functionSourceFile: "ch.qos.logback.core.util.CloseUtil"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.Closeable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.MDC$MDCCloseable].close()"
    - "[ch.qos.logback.core.recovery.ResilientOutputStreamBase].close()"
    - "[ch.qos.logback.core.net.server.ServerSocketListener].close()"
    - "[ch.qos.logback.core.net.server.ConcurrentServerRunner$ClientWrapper].close()"
    - "[ch.qos.logback.classic.net.server.RemoteAppenderStreamClient].close()"
    - "[ch.qos.logback.core.net.server.RemoteReceiverStreamClient].close()"
    - "[ch.qos.logback.core.testUtil.XTeeOutputStream].close()"
    - "[ch.qos.logback.core.encoder.NonClosableInputStream:ch.qos.logback.core.net.SyslogOutputStream].close()"
    - "[java.io.Closeable].close()"
    functionUses: 14
    ICount: 7
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.CloseUtil:34"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.CloseUtil:37"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.CloseUtil:36"
        BranchSideFuncs:
        - "close()"
    Callsites:
    - Src: "ch.qos.logback.core.util.CloseUtil:37,1"
      Dst: "[java.io.Closeable].close()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.CloseUtil].closeQuietly(java.net.Socket)"
    functionSourceFile: "ch.qos.logback.core.util.CloseUtil"
    linkageType: null
    functionLinenumber: 48
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.net.Socket"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.net.Socket].close()"
    functionUses: 12
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.CloseUtil:49"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.CloseUtil:52"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.CloseUtil:51"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.CloseUtil:52,1"
      Dst: "[java.net.Socket].close()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SocketReceiver].createConnector(java.net.InetAddress,int,int,int)"
    functionSourceFile: "ch.qos.logback.classic.net.SocketReceiver"
    linkageType: null
    functionLinenumber: 132
    functionDepth: 3
    returnType: "ch.qos.logback.core.net.SocketConnector"
    argCount: 4
    argTypes:
    - "java.net.InetAddress"
    - "int"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.net.SocketReceiver].newConnector(java.net.InetAddress,int,int,int)"
    - "[ch.qos.logback.core.net.DefaultSocketConnector].setExceptionHandler(ch.qos.logback.core.net.SocketConnector$ExceptionHandler)"
    - "[ch.qos.logback.classic.net.SocketReceiver].getSocketFactory()"
    - "[ch.qos.logback.classic.net.SSLSocketReceiver].getSocketFactory()"
    - "[ch.qos.logback.core.net.DefaultSocketConnector].setSocketFactory(javax.net.SocketFactory)"
    - "[ch.qos.logback.core.net.SocketConnector].setExceptionHandler(ch.qos.logback.core.net.SocketConnector$ExceptionHandler)"
    - "[ch.qos.logback.core.net.SocketConnector].setSocketFactory(javax.net.SocketFactory)"
    functionUses: 1
    ICount: 10
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SocketReceiver:133,1"
      Dst: "[ch.qos.logback.classic.net.SocketReceiver].newConnector(java.net.InetAddress,int,int,int)"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:134,1"
      Dst: "[ch.qos.logback.core.net.SocketConnector].setExceptionHandler(ch.qos.logback.core.net.SocketConnector$ExceptionHandler)"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:135,1"
      Dst: "[ch.qos.logback.classic.net.SocketReceiver].getSocketFactory()"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:135,1"
      Dst: "[ch.qos.logback.core.net.SocketConnector].setSocketFactory(javax.net.SocketFactory)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SocketReceiver].activateConnector(ch.qos.logback.core.net.SocketConnector)"
    functionSourceFile: "ch.qos.logback.classic.net.SocketReceiver"
    linkageType: null
    functionLinenumber: 140
    functionDepth: 1
    returnType: "java.util.concurrent.Future"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.net.SocketConnector"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - "[ch.qos.logback.core.ContextBase].getScheduledExecutorService()"
    - "[ch.qos.logback.core.Context].getScheduledExecutorService()"
    - "[java.util.concurrent.ExecutorService].submit(java.util.concurrent.Callable)"
    functionUses: 1
    ICount: 8
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SocketReceiver:141,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:141,1"
      Dst: "[ch.qos.logback.core.Context].getScheduledExecutorService()"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:141,1"
      Dst: "[java.util.concurrent.ExecutorService].submit(java.util.concurrent.Callable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SocketReceiver].waitForConnectorToReturnASocket()"
    functionSourceFile: "ch.qos.logback.classic.net.SocketReceiver"
    linkageType: null
    functionLinenumber: 148
    functionDepth: 0
    returnType: "java.net.Socket"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.Future].get()"
    functionUses: 1
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SocketReceiver:149,1"
      Dst: "[java.util.concurrent.Future].get()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SocketReceiver].dispatchEvents(ch.qos.logback.classic.LoggerContext)"
    functionSourceFile: "ch.qos.logback.classic.net.SocketReceiver"
    linkageType: null
    functionLinenumber: 157
    functionDepth: 6
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.LoggerContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.net.server.HardenedLoggingEventInputStream].<init>(java.io.InputStream)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.classic.LoggerContext].getLogger(java.lang.String)"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getLoggerName()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getLoggerName()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getLevel()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getLevel()"
    - "[ch.qos.logback.classic.Logger].isEnabledFor(ch.qos.logback.classic.Level)"
    - "[ch.qos.logback.classic.Logger].callAppenders(ch.qos.logback.classic.spi.ILoggingEvent)"
    - "[ch.qos.logback.core.util.CloseUtil].closeQuietly(java.io.Closeable)"
    - "[ch.qos.logback.core.util.CloseUtil].closeQuietly(java.net.Socket)"
    - "[java.net.Socket].setSoTimeout(int)"
    - "[java.net.Socket].getInputStream()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.io.ObjectInputStream].readObject()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerName()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.io.IOException)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.ClassNotFoundException)"
    functionUses: 1
    ICount: 72
    EdgeCount: 24
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.net.SocketReceiver:167"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SocketReceiver:170"
        BranchSideFuncs:
        - "callAppenders(ch.qos.logback.classic.spi.ILoggingEvent)"
      - BranchSide: "ch.qos.logback.classic.net.SocketReceiver:169"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SocketReceiver:160,1"
      Dst: "[java.net.Socket].setSoTimeout(int)"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:161,1"
      Dst: "[java.net.Socket].getInputStream()"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:161,1"
      Dst: "[ch.qos.logback.classic.net.server.HardenedLoggingEventInputStream].<init>(java.io.InputStream)"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:163,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:163,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:165,1"
      Dst: "[java.io.ObjectInputStream].readObject()"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:166,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerName()"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:166,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getLogger(java.lang.String)"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:167,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:167,1"
      Dst: "[ch.qos.logback.classic.Logger].isEnabledFor(ch.qos.logback.classic.Level)"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:168,1"
      Dst: "[ch.qos.logback.classic.Logger].callAppenders(ch.qos.logback.classic.spi.ILoggingEvent)"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:178,1"
      Dst: "[ch.qos.logback.core.util.CloseUtil].closeQuietly(java.io.Closeable)"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:179,1"
      Dst: "[ch.qos.logback.core.util.CloseUtil].closeQuietly(java.net.Socket)"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:174,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.io.IOException)"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:176,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.ClassNotFoundException)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SocketReceiver].connectionFailed(ch.qos.logback.core.net.SocketConnector,java.lang.Exception)"
    functionSourceFile: "ch.qos.logback.classic.net.SocketReceiver"
    linkageType: null
    functionLinenumber: 188
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.net.SocketConnector"
    - "java.lang.Exception"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.Exception)"
    functionUses: 1
    ICount: 17
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.net.SocketReceiver:189"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SocketReceiver:191"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.net.SocketReceiver:190"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.net.SocketReceiver:191"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SocketReceiver:194"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.net.SocketReceiver:193"
        BranchSideFuncs:
        - "addInfo(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.classic.net.SocketReceiver:190,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:192,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.net.SocketReceiver:194,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.Exception)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SocketReceiver].newConnector(java.net.InetAddress,int,int,int)"
    functionSourceFile: "ch.qos.logback.classic.net.SocketReceiver"
    linkageType: null
    functionLinenumber: 198
    functionDepth: 2
    returnType: "ch.qos.logback.core.net.SocketConnector"
    argCount: 4
    argTypes:
    - "java.net.InetAddress"
    - "int"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.DefaultSocketConnector].<init>(java.net.InetAddress,int,long,long)"
    functionUses: 1
    ICount: 10
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SocketReceiver:199,1"
      Dst: "[ch.qos.logback.core.net.DefaultSocketConnector].<init>(java.net.InetAddress,int,long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SocketReceiver].getSocketFactory()"
    functionSourceFile: "ch.qos.logback.classic.net.SocketReceiver"
    linkageType: null
    functionLinenumber: 202
    functionDepth: 0
    returnType: "javax.net.SocketFactory"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.net.SocketFactory].getDefault()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SocketReceiver:203,1"
      Dst: "[javax.net.SocketFactory].getDefault()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SocketReceiver].setRemoteHost(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.net.SocketReceiver"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SocketReceiver].setPort(int)"
    functionSourceFile: "ch.qos.logback.classic.net.SocketReceiver"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SocketReceiver].setReconnectionDelay(int)"
    functionSourceFile: "ch.qos.logback.classic.net.SocketReceiver"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SocketReceiver].setAcceptConnectionTimeout(int)"
    functionSourceFile: "ch.qos.logback.classic.net.SocketReceiver"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.selector.DefaultContextSelector].<init>(ch.qos.logback.classic.LoggerContext)"
    functionSourceFile: "ch.qos.logback.classic.selector.DefaultContextSelector"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.LoggerContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.selector.DefaultContextSelector:25,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.selector.DefaultContextSelector].getLoggerContext()"
    functionSourceFile: "ch.qos.logback.classic.selector.DefaultContextSelector"
    linkageType: null
    functionLinenumber: 29
    functionDepth: 1
    returnType: "ch.qos.logback.classic.LoggerContext"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.selector.DefaultContextSelector].getDefaultLoggerContext()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.selector.DefaultContextSelector:30,1"
      Dst: "[ch.qos.logback.classic.selector.DefaultContextSelector].getDefaultLoggerContext()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.selector.DefaultContextSelector].getDefaultLoggerContext()"
    functionSourceFile: "ch.qos.logback.classic.selector.DefaultContextSelector"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 0
    returnType: "ch.qos.logback.classic.LoggerContext"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.selector.DefaultContextSelector].getDefaultLoggerContext()"
    functionSourceFile: "ch.qos.logback.classic.selector.DefaultContextSelector"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 0
    returnType: "ch.qos.logback.classic.LoggerContext"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.selector.DefaultContextSelector].detachLoggerContext(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.selector.DefaultContextSelector"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.classic.LoggerContext"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.selector.DefaultContextSelector].getContextNames()"
    functionSourceFile: "ch.qos.logback.classic.selector.DefaultContextSelector"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getName()"
    - "[java.util.Arrays].asList(java.lang.Object[])"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.selector.DefaultContextSelector:42,1"
      Dst: "[ch.qos.logback.core.ContextBase].getName()"
    - Src: "ch.qos.logback.classic.selector.DefaultContextSelector:42,1"
      Dst: "[java.util.Arrays].asList(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].getName()"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 157
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 12
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.selector.DefaultContextSelector].getLoggerContext(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.selector.DefaultContextSelector"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.classic.LoggerContext"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ContextBase].getName()"
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.selector.DefaultContextSelector:46"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.selector.DefaultContextSelector:49"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.selector.DefaultContextSelector:48"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.selector.DefaultContextSelector:46,1"
      Dst: "[ch.qos.logback.core.ContextBase].getName()"
    - Src: "ch.qos.logback.classic.selector.DefaultContextSelector:46,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ContextBase].getName()"
    functionSourceFile: "ch.qos.logback.core.ContextBase"
    linkageType: null
    functionLinenumber: 157
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 12
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.XTeeOutputStream].<init>(java.io.PrintStream)"
    functionSourceFile: "ch.qos.logback.core.testUtil.XTeeOutputStream"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.PrintStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.testUtil.TeeOutputStream].<init>(java.io.PrintStream)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.XTeeOutputStream:26,1"
      Dst: "[ch.qos.logback.core.testUtil.TeeOutputStream].<init>(java.io.PrintStream)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.XTeeOutputStream].close()"
    functionSourceFile: "ch.qos.logback.core.testUtil.XTeeOutputStream"
    linkageType: null
    functionLinenumber: 30
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.OutputStream].close()"
    functionUses: 3
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.XTeeOutputStream:32,1"
      Dst: "[java.io.OutputStream].close()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.XTeeOutputStream].isClosed()"
    functionSourceFile: "ch.qos.logback.core.testUtil.XTeeOutputStream"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.EnsureExceptionHandling].<init>()"
    functionSourceFile: "ch.qos.logback.classic.pattern.EnsureExceptionHandling"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:24,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.EnsureExceptionHandling].process(ch.qos.logback.core.Context,ch.qos.logback.core.pattern.Converter)"
    functionSourceFile: "ch.qos.logback.classic.pattern.EnsureExceptionHandling"
    linkageType: null
    functionLinenumber: 40
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.pattern.Converter"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.EnsureExceptionHandling].chainHandlesThrowable(ch.qos.logback.core.pattern.Converter)"
    - "[ch.qos.logback.core.pattern.ConverterUtil].findTail(ch.qos.logback.core.pattern.Converter)"
    - "[ch.qos.logback.classic.LoggerContext].isPackagingDataEnabled()"
    - "[ch.qos.logback.classic.pattern.ExtendedThrowableProxyConverter].<init>()"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].<init>()"
    - "[ch.qos.logback.core.pattern.Converter].setNext(ch.qos.logback.core.pattern.Converter)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 22
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:41"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:44"
        BranchSideFuncs:
        - "chainHandlesThrowable(ch.qos.logback.core.pattern.Converter)"
    - Branch String: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:56"
        BranchSideFuncs:
        - "isPackagingDataEnabled()"
        - "findTail(ch.qos.logback.core.pattern.Converter)"
      - BranchSide: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:55"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:49"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:52"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:51"
        BranchSideFuncs:
        - "<init>()"
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:43,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:45,1"
      Dst: "[ch.qos.logback.classic.pattern.EnsureExceptionHandling].chainHandlesThrowable(ch.qos.logback.core.pattern.Converter)"
    - Src: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:46,1"
      Dst: "[ch.qos.logback.core.pattern.ConverterUtil].findTail(ch.qos.logback.core.pattern.Converter)"
    - Src: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:49,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].isPackagingDataEnabled()"
    - Src: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:50,1"
      Dst: "[ch.qos.logback.classic.pattern.ExtendedThrowableProxyConverter].<init>()"
    - Src: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:52,1"
      Dst: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].<init>()"
    - Src: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:54,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].setNext(ch.qos.logback.core.pattern.Converter)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.pattern.EnsureExceptionHandling].chainHandlesThrowable(ch.qos.logback.core.pattern.Converter)"
    functionSourceFile: "ch.qos.logback.classic.pattern.EnsureExceptionHandling"
    linkageType: null
    functionLinenumber: 64
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.pattern.Converter"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.EnsureExceptionHandling].compositeHandlesThrowable(ch.qos.logback.core.pattern.CompositeConverter)"
    - "[ch.qos.logback.core.pattern.Converter].getNext()"
    functionUses: 1
    ICount: 16
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:66"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:76"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:75"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:67"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:69"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:68"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:69"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:74"
        BranchSideFuncs:
        - "compositeHandlesThrowable(ch.qos.logback.core.pattern.CompositeConverter)"
      - BranchSide: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:73"
        BranchSideFuncs:
        - "getNext()"
    - Branch String: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:70"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:74"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:73"
        BranchSideFuncs:
        - "getNext()"
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:70,1"
      Dst: "[ch.qos.logback.classic.pattern.EnsureExceptionHandling].compositeHandlesThrowable(ch.qos.logback.core.pattern.CompositeConverter)"
    - Src: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:74,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].getNext()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.pattern.EnsureExceptionHandling].compositeHandlesThrowable(ch.qos.logback.core.pattern.CompositeConverter)"
    functionSourceFile: "ch.qos.logback.classic.pattern.EnsureExceptionHandling"
    linkageType: null
    functionLinenumber: 87
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.pattern.CompositeConverter"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.CompositeConverter].getChildConverter()"
    - "[ch.qos.logback.core.pattern.Converter].getNext()"
    - "[ch.qos.logback.classic.pattern.EnsureExceptionHandling].compositeHandlesThrowable(ch.qos.logback.core.pattern.CompositeConverter)"
    functionUses: 2
    ICount: 16
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:88"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:98"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:97"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:89"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:91"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:90"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:91"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:88"
        BranchSideFuncs:
        - "compositeHandlesThrowable(ch.qos.logback.core.pattern.CompositeConverter)"
      - BranchSide: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:87"
        BranchSideFuncs:
        - "getChildConverter()"
        - "getNext()"
    - Branch String: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:93"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:88"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:87"
        BranchSideFuncs:
        - "getChildConverter()"
        - "getNext()"
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:88,1"
      Dst: "[ch.qos.logback.core.pattern.CompositeConverter].getChildConverter()"
    - Src: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:92,1"
      Dst: "[ch.qos.logback.classic.pattern.EnsureExceptionHandling].compositeHandlesThrowable(ch.qos.logback.core.pattern.CompositeConverter)"
    - Src: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:88,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].getNext()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.pattern.ConverterUtil].findTail(ch.qos.logback.core.pattern.Converter)"
    functionSourceFile: "ch.qos.logback.core.pattern.ConverterUtil"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 0
    returnType: "ch.qos.logback.core.pattern.Converter"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.pattern.Converter"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.Converter].getNext()"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.pattern.ConverterUtil:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.ConverterUtil:53"
        BranchSideFuncs:
        - "getNext()"
      - BranchSide: "ch.qos.logback.core.pattern.ConverterUtil:52"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.pattern.ConverterUtil:47"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.pattern.ConverterUtil:50"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.pattern.ConverterUtil:49"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.ConverterUtil:46,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].getNext()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.LoggerContext].isPackagingDataEnabled()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 218
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.ExtendedThrowableProxyConverter].<init>()"
    functionSourceFile: "ch.qos.logback.classic.pattern.ExtendedThrowableProxyConverter"
    linkageType: null
    functionLinenumber: 19
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.ExtendedThrowableProxyConverter:20,1"
      Dst: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].<init>()"
    functionSourceFile: "ch.qos.logback.classic.pattern.ThrowableProxyConverter"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.ThrowableHandlingConverter].<init>()"
    functionUses: 3
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:35,1"
      Dst: "[ch.qos.logback.classic.pattern.ThrowableHandlingConverter].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.EnsureExceptionHandling].chainHandlesThrowable(ch.qos.logback.core.pattern.Converter)"
    functionSourceFile: "ch.qos.logback.classic.pattern.EnsureExceptionHandling"
    linkageType: null
    functionLinenumber: 64
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.pattern.Converter"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.EnsureExceptionHandling].compositeHandlesThrowable(ch.qos.logback.core.pattern.CompositeConverter)"
    - "[ch.qos.logback.core.pattern.Converter].getNext()"
    functionUses: 1
    ICount: 16
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:66"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:76"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:75"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:67"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:69"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:68"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:69"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:74"
        BranchSideFuncs:
        - "compositeHandlesThrowable(ch.qos.logback.core.pattern.CompositeConverter)"
      - BranchSide: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:73"
        BranchSideFuncs:
        - "getNext()"
    - Branch String: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:70"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:74"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:73"
        BranchSideFuncs:
        - "getNext()"
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:70,1"
      Dst: "[ch.qos.logback.classic.pattern.EnsureExceptionHandling].compositeHandlesThrowable(ch.qos.logback.core.pattern.CompositeConverter)"
    - Src: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:74,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].getNext()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.pattern.EnsureExceptionHandling].compositeHandlesThrowable(ch.qos.logback.core.pattern.CompositeConverter)"
    functionSourceFile: "ch.qos.logback.classic.pattern.EnsureExceptionHandling"
    linkageType: null
    functionLinenumber: 87
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.pattern.CompositeConverter"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.CompositeConverter].getChildConverter()"
    - "[ch.qos.logback.core.pattern.Converter].getNext()"
    - "[ch.qos.logback.classic.pattern.EnsureExceptionHandling].compositeHandlesThrowable(ch.qos.logback.core.pattern.CompositeConverter)"
    functionUses: 2
    ICount: 16
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:88"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:98"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:97"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:89"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:91"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:90"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:91"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:88"
        BranchSideFuncs:
        - "compositeHandlesThrowable(ch.qos.logback.core.pattern.CompositeConverter)"
      - BranchSide: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:87"
        BranchSideFuncs:
        - "getChildConverter()"
        - "getNext()"
    - Branch String: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:93"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:88"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:87"
        BranchSideFuncs:
        - "getChildConverter()"
        - "getNext()"
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:88,1"
      Dst: "[ch.qos.logback.core.pattern.CompositeConverter].getChildConverter()"
    - Src: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:92,1"
      Dst: "[ch.qos.logback.classic.pattern.EnsureExceptionHandling].compositeHandlesThrowable(ch.qos.logback.core.pattern.CompositeConverter)"
    - Src: "ch.qos.logback.classic.pattern.EnsureExceptionHandling:88,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].getNext()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_1__65].bootstrap$(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_1__65"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_1__65].<init>(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_1__65:-1,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_1__65].<init>(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_1__65].<init>(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_1__65"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_1__65:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_1__65].get()"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_1__65"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker].lambda$link$1()"
    functionUses: 3
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_1__65:-1,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker].lambda$link$1()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker].lambda$link$1()"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker"
    linkageType: null
    functionLinenumber: 77
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser].<init>(ch.qos.logback.core.Context,java.lang.Class)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:78,1"
      Dst: "[ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser].<init>(ch.qos.logback.core.Context,java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser].<init>(ch.qos.logback.core.Context,java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser"
    linkageType: null
    functionLinenumber: 24
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 3
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser:25,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.HardenedObjectInputStream].<init>(java.io.InputStream,java.lang.String[])"
    functionSourceFile: "ch.qos.logback.core.net.HardenedObjectInputStream"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.io.InputStream"
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.ObjectInputStream].<init>(java.io.InputStream)"
    - "[ch.qos.logback.core.net.HardenedObjectInputStream].initObjectFilter()"
    - "[java.util.ArrayList].<init>()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 0
    ICount: 18
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.HardenedObjectInputStream:49"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.HardenedObjectInputStream:54"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.HardenedObjectInputStream:53"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.net.HardenedObjectInputStream:50"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.HardenedObjectInputStream:53"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.HardenedObjectInputStream:46,1"
      Dst: "[java.io.ObjectInputStream].<init>(java.io.InputStream)"
    - Src: "ch.qos.logback.core.net.HardenedObjectInputStream:47,1"
      Dst: "[ch.qos.logback.core.net.HardenedObjectInputStream].initObjectFilter()"
    - Src: "ch.qos.logback.core.net.HardenedObjectInputStream:48,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.core.net.HardenedObjectInputStream:51,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.net.HardenedObjectInputStream].initObjectFilter()"
    functionSourceFile: "ch.qos.logback.core.net.HardenedObjectInputStream"
    linkageType: null
    functionLinenumber: 56
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.ObjectInputFilter$Config].createFilter(java.lang.String)"
    - "[java.io.ObjectInputStream].setObjectInputFilter(java.io.ObjectInputFilter)"
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.HardenedObjectInputStream:57,1"
      Dst: "[java.io.ObjectInputFilter$Config].createFilter(java.lang.String)"
    - Src: "ch.qos.logback.core.net.HardenedObjectInputStream:57,1"
      Dst: "[java.io.ObjectInputStream].setObjectInputFilter(java.io.ObjectInputFilter)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.HardenedObjectInputStream].<init>(java.io.InputStream,java.util.List)"
    functionSourceFile: "ch.qos.logback.core.net.HardenedObjectInputStream"
    linkageType: null
    functionLinenumber: 61
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.io.InputStream"
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.HardenedObjectInputStream].initObjectFilter()"
    - "[ch.qos.logback.core.util.COWArrayList].addAll(java.util.Collection)"
    - "[java.io.ObjectInputStream].<init>(java.io.InputStream)"
    - "[java.util.ArrayList].<init>()"
    - "[java.util.List].addAll(java.util.Collection)"
    functionUses: 2
    ICount: 11
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.HardenedObjectInputStream:62,1"
      Dst: "[java.io.ObjectInputStream].<init>(java.io.InputStream)"
    - Src: "ch.qos.logback.core.net.HardenedObjectInputStream:63,1"
      Dst: "[ch.qos.logback.core.net.HardenedObjectInputStream].initObjectFilter()"
    - Src: "ch.qos.logback.core.net.HardenedObjectInputStream:64,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.core.net.HardenedObjectInputStream:65,1"
      Dst: "[java.util.List].addAll(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.HardenedObjectInputStream].resolveClass(java.io.ObjectStreamClass)"
    functionSourceFile: "ch.qos.logback.core.net.HardenedObjectInputStream"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.lang.Class"
    argCount: 1
    argTypes:
    - "java.io.ObjectStreamClass"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.ObjectStreamClass].getName()"
    - "[ch.qos.logback.core.net.HardenedObjectInputStream].isWhitelisted(java.lang.String)"
    - "[java.io.InvalidClassException].<init>(java.lang.String,java.lang.String)"
    - "[java.io.ObjectInputStream].resolveClass(java.io.ObjectStreamClass)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.HardenedObjectInputStream:73"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.HardenedObjectInputStream:77"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.HardenedObjectInputStream:76"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.HardenedObjectInputStream:71,1"
      Dst: "[java.io.ObjectStreamClass].getName()"
    - Src: "ch.qos.logback.core.net.HardenedObjectInputStream:73,1"
      Dst: "[ch.qos.logback.core.net.HardenedObjectInputStream].isWhitelisted(java.lang.String)"
    - Src: "ch.qos.logback.core.net.HardenedObjectInputStream:74,1"
      Dst: "[java.io.InvalidClassException].<init>(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.net.HardenedObjectInputStream:77,1"
      Dst: "[java.io.ObjectInputStream].resolveClass(java.io.ObjectStreamClass)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.HardenedObjectInputStream].isWhitelisted(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.net.HardenedObjectInputStream"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].startsWith(java.lang.String)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 0
    ICount: 24
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.HardenedObjectInputStream:81"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.HardenedObjectInputStream:85"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.HardenedObjectInputStream:84"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.net.HardenedObjectInputStream:82"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.HardenedObjectInputStream:81"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.HardenedObjectInputStream:80"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.net.HardenedObjectInputStream:85"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.HardenedObjectInputStream:89"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.HardenedObjectInputStream:88"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.net.HardenedObjectInputStream:86"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.HardenedObjectInputStream:88"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.HardenedObjectInputStream:87"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.HardenedObjectInputStream:82,1"
      Dst: "[java.lang.String].startsWith(java.lang.String)"
    - Src: "ch.qos.logback.core.net.HardenedObjectInputStream:85,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.net.HardenedObjectInputStream:85,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.net.HardenedObjectInputStream:85,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.net.HardenedObjectInputStream:86,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 11
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.net.HardenedObjectInputStream].isWhitelisted(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.net.HardenedObjectInputStream"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].startsWith(java.lang.String)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 0
    ICount: 24
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.HardenedObjectInputStream:81"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.HardenedObjectInputStream:85"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.HardenedObjectInputStream:84"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.net.HardenedObjectInputStream:82"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.HardenedObjectInputStream:81"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.HardenedObjectInputStream:80"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.net.HardenedObjectInputStream:85"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.HardenedObjectInputStream:89"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.HardenedObjectInputStream:88"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.net.HardenedObjectInputStream:86"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.HardenedObjectInputStream:88"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.net.HardenedObjectInputStream:87"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.HardenedObjectInputStream:82,1"
      Dst: "[java.lang.String].startsWith(java.lang.String)"
    - Src: "ch.qos.logback.core.net.HardenedObjectInputStream:85,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.net.HardenedObjectInputStream:85,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.net.HardenedObjectInputStream:85,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.net.HardenedObjectInputStream:86,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 11
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.net.HardenedObjectInputStream].addToWhitelist(java.util.List)"
    functionSourceFile: "ch.qos.logback.core.net.HardenedObjectInputStream"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.List].addAll(java.util.Collection)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.HardenedObjectInputStream:93,1"
      Dst: "[java.util.List].addAll(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.boolex.JaninoEventEvaluator].<init>()"
    functionSourceFile: "ch.qos.logback.classic.boolex.JaninoEventEvaluator"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.boolex.JaninoEventEvaluatorBase].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:29,1"
      Dst: "[ch.qos.logback.core.boolex.JaninoEventEvaluatorBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.boolex.JaninoEventEvaluator].getDecoratedExpression()"
    functionSourceFile: "ch.qos.logback.classic.boolex.JaninoEventEvaluator"
    linkageType: null
    functionLinenumber: 73
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.boolex.JaninoEventEvaluatorBase].getExpression()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[java.lang.String].contains(java.lang.CharSequence)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 12
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:75"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:81"
        BranchSideFuncs:
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:80"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:74,1"
      Dst: "[ch.qos.logback.core.boolex.JaninoEventEvaluatorBase].getExpression()"
    - Src: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:75,1"
      Dst: "[java.lang.String].contains(java.lang.CharSequence)"
    - Src: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:76,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:77,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.boolex.JaninoEventEvaluator].getParameterNames()"
    functionSourceFile: "ch.qos.logback.classic.boolex.JaninoEventEvaluator"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "java.lang.String[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.util.COWArrayList].get(int)"
    - "[ch.qos.logback.core.boolex.Matcher].getName()"
    - "[java.util.ArrayList].<init>()"
    - "[java.util.List].addAll(java.util.Collection)"
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    - "[java.util.List].add(java.lang.Object)"
    - "[java.util.List].toArray(java.lang.Object[])"
    functionUses: 1
    ICount: 20
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:88"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:92"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:85,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:86,1"
      Dst: "[java.util.List].addAll(java.util.Collection)"
    - Src: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:88,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:89,1"
      Dst: "[java.util.List].get(int)"
    - Src: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:90,1"
      Dst: "[ch.qos.logback.core.boolex.Matcher].getName()"
    - Src: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:90,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:93,1"
      Dst: "[java.util.List].toArray(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.boolex.Matcher].getName()"
    functionSourceFile: "ch.qos.logback.core.boolex.Matcher"
    linkageType: null
    functionLinenumber: 118
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.boolex.JaninoEventEvaluator].getParameterTypes()"
    functionSourceFile: "ch.qos.logback.classic.boolex.JaninoEventEvaluator"
    linkageType: null
    functionLinenumber: 96
    functionDepth: 0
    returnType: "java.lang.Class[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[java.util.ArrayList].<init>()"
    - "[java.util.List].addAll(java.util.Collection)"
    - "[java.util.List].size()"
    - "[java.util.List].add(java.lang.Object)"
    - "[java.util.List].toArray(java.lang.Object[])"
    functionUses: 1
    ICount: 16
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:99"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:101"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:97,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:98,1"
      Dst: "[java.util.List].addAll(java.util.Collection)"
    - Src: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:99,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:100,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:102,1"
      Dst: "[java.util.List].toArray(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.boolex.JaninoEventEvaluator].getParameterValues(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.boolex.JaninoEventEvaluator"
    linkageType: null
    functionLinenumber: 105
    functionDepth: 1
    returnType: "java.lang.Object[]"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getMessage()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getFormattedMessage()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getFormattedMessage()"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getLoggerName()"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getLoggerContextVO()"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getLevel()"
    - "[ch.qos.logback.classic.Level].toInteger()"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getTimeStamp()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getMDCPropertyMap()"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getThrowableProxy()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].getThrowable()"
    - "[ch.qos.logback.core.util.COWArrayList].get(int)"
    - "[java.util.List].size()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getMessage()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getFormattedMessage()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerName()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerContextVO()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getTimeStamp()"
    - "[java.lang.Long].valueOf(long)"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getMDCPropertyMap()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getThrowableProxy()"
    - "[java.util.List].get(int)"
    functionUses: 1
    ICount: 60
    EdgeCount: 15
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:131"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:139"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:138"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:133"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:136"
        BranchSideFuncs:
        - "getThrowable()"
      - BranchSide: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:135"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:143"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:146"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:106,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:117,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getMessage()"
    - Src: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:118,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getFormattedMessage()"
    - Src: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:119,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerName()"
    - Src: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:120,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerContextVO()"
    - Src: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:121,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    - Src: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:121,1"
      Dst: "[ch.qos.logback.classic.Level].toInteger()"
    - Src: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:122,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getTimeStamp()"
    - Src: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:122,1"
      Dst: "[java.lang.Long].valueOf(long)"
    - Src: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:127,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getMDCPropertyMap()"
    - Src: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:129,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getThrowableProxy()"
    - Src: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:134,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxy].getThrowable()"
    - Src: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:144,1"
      Dst: "[java.util.List].get(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.classic.Level].toInteger()"
    functionSourceFile: "ch.qos.logback.classic.Level"
    linkageType: null
    functionLinenumber: 121
    functionDepth: 0
    returnType: "java.lang.Integer"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 23
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Level:138,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int)"
    - Src: "ch.qos.logback.classic.Level:138,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxy].getThrowable()"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxy"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 0
    returnType: "java.lang.Throwable"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.boolex.JaninoEventEvaluator].getParameterValues(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.boolex.JaninoEventEvaluator"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 2
    returnType: "java.lang.Object[]"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.boolex.JaninoEventEvaluator].getParameterValues(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:29,1"
      Dst: "[ch.qos.logback.classic.boolex.JaninoEventEvaluator].getParameterValues(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.boolex.JaninoEventEvaluator].getParameterValues(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.boolex.JaninoEventEvaluator"
    linkageType: null
    functionLinenumber: 105
    functionDepth: 1
    returnType: "java.lang.Object[]"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getMessage()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getFormattedMessage()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getFormattedMessage()"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getLoggerName()"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getLoggerContextVO()"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getLevel()"
    - "[ch.qos.logback.classic.Level].toInteger()"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getTimeStamp()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getMDCPropertyMap()"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getThrowableProxy()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].getThrowable()"
    - "[ch.qos.logback.core.util.COWArrayList].get(int)"
    - "[java.util.List].size()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getMessage()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getFormattedMessage()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerName()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerContextVO()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getTimeStamp()"
    - "[java.lang.Long].valueOf(long)"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getMDCPropertyMap()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getThrowableProxy()"
    - "[java.util.List].get(int)"
    functionUses: 1
    ICount: 60
    EdgeCount: 15
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:131"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:139"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:138"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:133"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:136"
        BranchSideFuncs:
        - "getThrowable()"
      - BranchSide: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:135"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:143"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:146"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:106,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:117,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getMessage()"
    - Src: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:118,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getFormattedMessage()"
    - Src: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:119,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerName()"
    - Src: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:120,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerContextVO()"
    - Src: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:121,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    - Src: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:121,1"
      Dst: "[ch.qos.logback.classic.Level].toInteger()"
    - Src: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:122,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getTimeStamp()"
    - Src: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:122,1"
      Dst: "[java.lang.Long].valueOf(long)"
    - Src: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:127,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getMDCPropertyMap()"
    - Src: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:129,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getThrowableProxy()"
    - Src: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:134,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxy].getThrowable()"
    - Src: "ch.qos.logback.classic.boolex.JaninoEventEvaluator:144,1"
      Dst: "[java.util.List].get(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.classic.pattern.ExtendedThrowableProxyConverter].<init>()"
    functionSourceFile: "ch.qos.logback.classic.pattern.ExtendedThrowableProxyConverter"
    linkageType: null
    functionLinenumber: 19
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.ExtendedThrowableProxyConverter:20,1"
      Dst: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.ExtendedThrowableProxyConverter].extraData(java.lang.StringBuilder,ch.qos.logback.classic.spi.StackTraceElementProxy)"
    functionSourceFile: "ch.qos.logback.classic.pattern.ExtendedThrowableProxyConverter"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "ch.qos.logback.classic.spi.StackTraceElementProxy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinPackagingData(java.lang.StringBuilder,ch.qos.logback.classic.spi.StackTraceElementProxy)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.ExtendedThrowableProxyConverter:24,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinPackagingData(java.lang.StringBuilder,ch.qos.logback.classic.spi.StackTraceElementProxy)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].subjoinPackagingData(java.lang.StringBuilder,ch.qos.logback.classic.spi.StackTraceElementProxy)"
    functionSourceFile: "ch.qos.logback.classic.spi.ThrowableProxyUtil"
    linkageType: null
    functionLinenumber: 113
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "ch.qos.logback.classic.spi.StackTraceElementProxy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.StackTraceElementProxy].getClassPackagingData()"
    - "[ch.qos.logback.classic.spi.ClassPackagingData].isExact()"
    - "[ch.qos.logback.classic.spi.ClassPackagingData].getCodeLocation()"
    - "[ch.qos.logback.classic.spi.ClassPackagingData].getVersion()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(char)"
    functionUses: 1
    ICount: 17
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:114"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:126"
        BranchSideFuncs:
        - "getClassPackagingData()"
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:125"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:116"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:126"
        BranchSideFuncs:
        - "isExact()"
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:125"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.ThrowableProxyUtil:117"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:120"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.ThrowableProxyUtil:119"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:115,1"
      Dst: "[ch.qos.logback.classic.spi.StackTraceElementProxy].getClassPackagingData()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:117,1"
      Dst: "[ch.qos.logback.classic.spi.ClassPackagingData].isExact()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:118,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:123,1"
      Dst: "[ch.qos.logback.classic.spi.ClassPackagingData].getCodeLocation()"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:123,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.classic.spi.ThrowableProxyUtil:123,1"
      Dst: "[ch.qos.logback.classic.spi.ClassPackagingData].getVersion()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.classic.pattern.ExtendedThrowableProxyConverter].prepareLoggingEvent(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.pattern.ExtendedThrowableProxyConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.Configurator$ExecutionStatus].values()"
    functionSourceFile: "ch.qos.logback.classic.spi.Configurator$ExecutionStatus"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.classic.spi.Configurator$ExecutionStatus[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].clone()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.Configurator$ExecutionStatus:36,1"
      Dst: "[java.lang.Object].clone()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.Configurator$ExecutionStatus].valueOf(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.spi.Configurator$ExecutionStatus"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.classic.spi.Configurator$ExecutionStatus"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.Configurator$ExecutionStatus:36,1"
      Dst: "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.Configurator$ExecutionStatus].<init>(java.lang.String,int)"
    functionSourceFile: "ch.qos.logback.classic.spi.Configurator$ExecutionStatus"
    linkageType: null
    functionLinenumber: 35
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].<init>(java.lang.String,int)"
    functionUses: 3
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.Configurator$ExecutionStatus:36,1"
      Dst: "[java.lang.Enum].<init>(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.Configurator$ExecutionStatus].$values()"
    functionSourceFile: "ch.qos.logback.classic.spi.Configurator$ExecutionStatus"
    linkageType: null
    functionLinenumber: 35
    functionDepth: 0
    returnType: "ch.qos.logback.classic.spi.Configurator$ExecutionStatus[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.SSLServerSocketReceiver].<init>()"
    functionSourceFile: "ch.qos.logback.classic.net.server.SSLServerSocketReceiver"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.net.server.ServerSocketReceiver].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.server.SSLServerSocketReceiver:29,1"
      Dst: "[ch.qos.logback.classic.net.server.ServerSocketReceiver].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.SSLServerSocketReceiver].getServerSocketFactory()"
    functionSourceFile: "ch.qos.logback.classic.net.server.SSLServerSocketReceiver"
    linkageType: null
    functionLinenumber: 38
    functionDepth: 7
    returnType: "javax.net.ServerSocketFactory"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].createContext(ch.qos.logback.core.spi.ContextAware)"
    - "[ch.qos.logback.classic.net.server.SSLServerSocketReceiver].getSsl()"
    - "[ch.qos.logback.core.net.ssl.SSLConfiguration].getParameters()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.net.ssl.ConfigurableSSLServerSocketFactory].<init>(ch.qos.logback.core.net.ssl.SSLParametersConfiguration,javax.net.ssl.SSLServerSocketFactory)"
    - "[javax.net.ssl.SSLContext].getServerSocketFactory()"
    functionUses: 1
    ICount: 15
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.net.server.SSLServerSocketReceiver:39"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.server.SSLServerSocketReceiver:45"
        BranchSideFuncs:
        - "getParameters()"
        - "setContext(ch.qos.logback.core.Context)"
        - "getContext()"
        - "<init>(ch.qos.logback.core.net.ssl.SSLParametersConfiguration,javax.net.ssl.SSLServerSocketFactory)"
        - "createContext(ch.qos.logback.core.spi.ContextAware)"
        - "getSsl()"
      - BranchSide: "ch.qos.logback.classic.net.server.SSLServerSocketReceiver:44"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.server.SSLServerSocketReceiver:40,1"
      Dst: "[ch.qos.logback.classic.net.server.SSLServerSocketReceiver].getSsl()"
    - Src: "ch.qos.logback.classic.net.server.SSLServerSocketReceiver:40,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].createContext(ch.qos.logback.core.spi.ContextAware)"
    - Src: "ch.qos.logback.classic.net.server.SSLServerSocketReceiver:41,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfiguration].getParameters()"
    - Src: "ch.qos.logback.classic.net.server.SSLServerSocketReceiver:42,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - Src: "ch.qos.logback.classic.net.server.SSLServerSocketReceiver:42,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.net.server.SSLServerSocketReceiver:43,1"
      Dst: "[javax.net.ssl.SSLContext].getServerSocketFactory()"
    - Src: "ch.qos.logback.classic.net.server.SSLServerSocketReceiver:43,1"
      Dst: "[ch.qos.logback.core.net.ssl.ConfigurableSSLServerSocketFactory].<init>(ch.qos.logback.core.net.ssl.SSLParametersConfiguration,javax.net.ssl.SSLServerSocketFactory)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.net.server.SSLServerSocketReceiver].getSsl()"
    functionSourceFile: "ch.qos.logback.classic.net.server.SSLServerSocketReceiver"
    linkageType: null
    functionLinenumber: 54
    functionDepth: 2
    returnType: "ch.qos.logback.core.net.ssl.SSLConfiguration"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.SSLConfiguration].<init>()"
    functionUses: 2
    ICount: 8
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.net.server.SSLServerSocketReceiver:55"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.server.SSLServerSocketReceiver:58"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "ch.qos.logback.classic.net.server.SSLServerSocketReceiver:57"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.server.SSLServerSocketReceiver:56,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfiguration].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.net.ssl.SSLConfiguration].<init>()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLConfiguration"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].<init>()"
    functionUses: 4
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLConfiguration:24,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].createContext(ch.qos.logback.core.spi.ContextAware)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean"
    linkageType: null
    functionLinenumber: 79
    functionDepth: 6
    returnType: "javax.net.ssl.SSLContext"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.spi.ContextAware"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].getProtocol()"
    - "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].getProvider()"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareImpl].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].createKeyManagers(ch.qos.logback.core.spi.ContextAware)"
    - "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].createTrustManagers(ch.qos.logback.core.spi.ContextAware)"
    - "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].createSecureRandom(ch.qos.logback.core.spi.ContextAware)"
    - "[javax.net.ssl.SSLContext].getInstance(java.lang.String,java.lang.String)"
    - "[javax.net.ssl.SSLContext].getInstance(java.lang.String)"
    - "[javax.net.ssl.SSLContext].getProtocol()"
    - "[javax.net.ssl.SSLContext].getProvider()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.security.Provider)"
    - "[ch.qos.logback.core.spi.ContextAware].addInfo(java.lang.String)"
    - "[javax.net.ssl.SSLContext].init(javax.net.ssl.KeyManager[],javax.net.ssl.TrustManager[],java.security.SecureRandom)"
    functionUses: 4
    ICount: 19
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:80"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:81"
        BranchSideFuncs:
        - "getProtocol()"
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:80"
        BranchSideFuncs:
        - "getProtocol()"
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:80,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].getProvider()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:80,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].getProtocol()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:80,1"
      Dst: "[javax.net.ssl.SSLContext].getInstance(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:81,1"
      Dst: "[javax.net.ssl.SSLContext].getInstance(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:83,1"
      Dst: "[javax.net.ssl.SSLContext].getProtocol()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:83,1"
      Dst: "[javax.net.ssl.SSLContext].getProvider()"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:83,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.security.Provider)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:83,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:85,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].createKeyManagers(ch.qos.logback.core.spi.ContextAware)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:86,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].createTrustManagers(ch.qos.logback.core.spi.ContextAware)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:87,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLContextFactoryBean].createSecureRandom(ch.qos.logback.core.spi.ContextAware)"
    - Src: "ch.qos.logback.core.net.ssl.SSLContextFactoryBean:88,1"
      Dst: "[javax.net.ssl.SSLContext].init(javax.net.ssl.KeyManager[],javax.net.ssl.TrustManager[],java.security.SecureRandom)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.net.ssl.SSLConfiguration].getParameters()"
    functionSourceFile: "ch.qos.logback.core.net.ssl.SSLConfiguration"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 2
    returnType: "ch.qos.logback.core.net.ssl.SSLParametersConfiguration"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].<init>()"
    functionUses: 4
    ICount: 8
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.net.ssl.SSLConfiguration:35"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLConfiguration:38"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "ch.qos.logback.core.net.ssl.SSLConfiguration:37"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.SSLConfiguration:36,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 0
    returnType: "ch.qos.logback.core.Context"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 35
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 67
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:45"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:44"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:47"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:46,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.net.ssl.ConfigurableSSLServerSocketFactory].<init>(ch.qos.logback.core.net.ssl.SSLParametersConfiguration,javax.net.ssl.SSLServerSocketFactory)"
    functionSourceFile: "ch.qos.logback.core.net.ssl.ConfigurableSSLServerSocketFactory"
    linkageType: null
    functionLinenumber: 47
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.net.ssl.SSLParametersConfiguration"
    - "javax.net.ssl.SSLServerSocketFactory"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.net.ServerSocketFactory].<init>()"
    functionUses: 2
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.net.ssl.ConfigurableSSLServerSocketFactory:48,1"
      Dst: "[javax.net.ServerSocketFactory].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.server.SSLServerSocketReceiver].getSsl()"
    functionSourceFile: "ch.qos.logback.classic.net.server.SSLServerSocketReceiver"
    linkageType: null
    functionLinenumber: 54
    functionDepth: 2
    returnType: "ch.qos.logback.core.net.ssl.SSLConfiguration"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.net.ssl.SSLConfiguration].<init>()"
    functionUses: 2
    ICount: 8
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.net.server.SSLServerSocketReceiver:55"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.server.SSLServerSocketReceiver:58"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "ch.qos.logback.classic.net.server.SSLServerSocketReceiver:57"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.server.SSLServerSocketReceiver:56,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLConfiguration].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.net.server.SSLServerSocketReceiver].setSsl(ch.qos.logback.core.net.ssl.SSLConfiguration)"
    functionSourceFile: "ch.qos.logback.classic.net.server.SSLServerSocketReceiver"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.net.ssl.SSLConfiguration"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.action.LoggerContextListenerAction].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.action.LoggerContextListenerAction"
    linkageType: null
    functionLinenumber: 24
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.action.LoggerContextListenerAction:25,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.action.LoggerContextListenerAction].validPreconditions(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.classic.joran.action.LoggerContextListenerAction"
    linkageType: null
    functionLinenumber: 30
    functionDepth: 4
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].<init>(ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].validateClassAttribute()"
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].isValid()"
    functionUses: 1
    ICount: 9
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.action.LoggerContextListenerAction:31,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].<init>(ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    - Src: "ch.qos.logback.classic.joran.action.LoggerContextListenerAction:32,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].validateClassAttribute()"
    - Src: "ch.qos.logback.classic.joran.action.LoggerContextListenerAction:33,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].isValid()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].<init>(ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 1
    returnType: "void"
    argCount: 4
    argTypes:
    - "ch.qos.logback.core.spi.ContextAware"
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>(ch.qos.logback.core.spi.ContextAware)"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].getContext()"
    - "[ch.qos.logback.core.pattern.DynamicConverter].getContext()"
    - "[ch.qos.logback.core.LayoutBase:ch.qos.logback.core.spi.ContextAwareBase:ch.qos.logback.core.spi.ContextAwareImpl].getContext()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAware].getContext()"
    functionUses: 16
    ICount: 13
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:33,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>(ch.qos.logback.core.spi.ContextAware)"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:34,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].getContext()"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:34,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].validateClassAttribute()"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 53
    functionDepth: 3
    returnType: "ch.qos.logback.core.joran.action.PreconditionValidator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].generic(java.lang.String)"
    functionUses: 6
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:54,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].generic(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].isValid()"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 79
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 16
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.action.LoggerContextListenerAction].buildCurrentModel(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.classic.joran.action.LoggerContextListenerAction"
    linkageType: null
    functionLinenumber: 38
    functionDepth: 3
    returnType: "ch.qos.logback.core.model.Model"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.model.LoggerContextListenerModel].<init>()"
    - "[org.xml.sax.helpers.AttributesImpl].getValue(java.lang.String)"
    - "[ch.qos.logback.core.model.ComponentModel].setClassName(java.lang.String)"
    - "[org.xml.sax.Attributes].getValue(java.lang.String)"
    functionUses: 1
    ICount: 9
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.action.LoggerContextListenerAction:39,1"
      Dst: "[ch.qos.logback.classic.model.LoggerContextListenerModel].<init>()"
    - Src: "ch.qos.logback.classic.joran.action.LoggerContextListenerAction:40,1"
      Dst: "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - Src: "ch.qos.logback.classic.joran.action.LoggerContextListenerAction:40,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].setClassName(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.LoggerContextListenerModel].<init>()"
    functionSourceFile: "ch.qos.logback.classic.model.LoggerContextListenerModel"
    linkageType: null
    functionLinenumber: 17
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.ComponentModel].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.LoggerContextListenerModel:18,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ComponentModel].setClassName(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.ComponentModel"
    linkageType: null
    functionLinenumber: 47
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 9
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.Loader$1].<init>()"
    functionSourceFile: "ch.qos.logback.core.util.Loader$1"
    linkageType: null
    functionLinenumber: 44
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.Loader$1:45,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.Loader$1].run()"
    functionSourceFile: "ch.qos.logback.core.util.Loader$1"
    linkageType: null
    functionLinenumber: 47
    functionDepth: 0
    returnType: "java.lang.Boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.RuntimePermission].<init>(java.lang.String)"
    - "[java.security.AccessController].checkPermission(java.security.Permission)"
    - "[java.lang.Boolean].valueOf(boolean)"
    functionUses: 2
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.Loader$1:48,1"
      Dst: "[java.lang.RuntimePermission].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.util.Loader$1:48,1"
      Dst: "[java.security.AccessController].checkPermission(java.security.Permission)"
    - Src: "ch.qos.logback.core.util.Loader$1:49,1"
      Dst: "[java.lang.Boolean].valueOf(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__16].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__16"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__16].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__16:-1,1"
      Dst: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__16].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__16].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__16"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__16:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__16].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__16"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__16:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__16].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__16"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.conditional.ThenModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__16:-1,1"
      Dst: "[ch.qos.logback.core.model.processor.conditional.ThenModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.conditional.ThenModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.conditional.ThenModelHandler"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.conditional.ThenModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.conditional.ThenModelHandler:34,1"
      Dst: "[ch.qos.logback.core.model.processor.conditional.ThenModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.StatusListenerAction].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.action.StatusListenerAction"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.StatusListenerAction:24,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.StatusListenerAction].validPreconditions(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.StatusListenerAction"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 2
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.xml.sax.helpers.AttributesImpl].getValue(java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.joran.action.Action].getLineNumber(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext)"
    - "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int)"
    functionUses: 1
    ICount: 12
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.action.StatusListenerAction:34"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.StatusListenerAction:38"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.StatusListenerAction:33,1"
      Dst: "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.StatusListenerAction:34,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.StatusListenerAction:36,1"
      Dst: "[ch.qos.logback.core.joran.action.Action].getLineNumber(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext)"
    - Src: "ch.qos.logback.core.joran.action.StatusListenerAction:36,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int)"
    - Src: "ch.qos.logback.core.joran.action.StatusListenerAction:35,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 282
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    - "[java.lang.String].length()"
    functionUses: 62
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].length()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.StatusListenerAction].buildCurrentModel(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.StatusListenerAction"
    linkageType: null
    functionLinenumber: 44
    functionDepth: 3
    returnType: "ch.qos.logback.core.model.Model"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.StatusListenerModel].<init>()"
    - "[org.xml.sax.helpers.AttributesImpl].getValue(java.lang.String)"
    - "[ch.qos.logback.core.model.ComponentModel].setClassName(java.lang.String)"
    - "[org.xml.sax.Attributes].getValue(java.lang.String)"
    functionUses: 1
    ICount: 9
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.StatusListenerAction:45,1"
      Dst: "[ch.qos.logback.core.model.StatusListenerModel].<init>()"
    - Src: "ch.qos.logback.core.joran.action.StatusListenerAction:46,1"
      Dst: "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.StatusListenerAction:46,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].setClassName(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.StatusListenerModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.StatusListenerModel"
    linkageType: null
    functionLinenumber: 15
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.ComponentModel].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.StatusListenerModel:16,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ComponentModel].setClassName(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.ComponentModel"
    linkageType: null
    functionLinenumber: 47
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 9
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.LocalSequenceNumberConverter].<init>()"
    functionSourceFile: "ch.qos.logback.classic.pattern.LocalSequenceNumberConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.ClassicConverter].<init>()"
    - "[java.lang.System].currentTimeMillis()"
    - "[java.util.concurrent.atomic.AtomicLong].<init>(long)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.LocalSequenceNumberConverter:29,1"
      Dst: "[ch.qos.logback.classic.pattern.ClassicConverter].<init>()"
    - Src: "ch.qos.logback.classic.pattern.LocalSequenceNumberConverter:31,1"
      Dst: "[java.lang.System].currentTimeMillis()"
    - Src: "ch.qos.logback.classic.pattern.LocalSequenceNumberConverter:31,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].<init>(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.LocalSequenceNumberConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.pattern.LocalSequenceNumberConverter"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicLong].getAndIncrement()"
    - "[java.lang.Long].toString(long)"
    functionUses: 1
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.LocalSequenceNumberConverter:35,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].getAndIncrement()"
    - Src: "ch.qos.logback.classic.pattern.LocalSequenceNumberConverter:35,1"
      Dst: "[java.lang.Long].toString(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.LocalSequenceNumberConverter].convert(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.pattern.LocalSequenceNumberConverter"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.LocalSequenceNumberConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 11
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.LocalSequenceNumberConverter:29,1"
      Dst: "[ch.qos.logback.classic.pattern.LocalSequenceNumberConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.LocalSequenceNumberConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.pattern.LocalSequenceNumberConverter"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicLong].getAndIncrement()"
    - "[java.lang.Long].toString(long)"
    functionUses: 1
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.LocalSequenceNumberConverter:35,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].getAndIncrement()"
    - Src: "ch.qos.logback.classic.pattern.LocalSequenceNumberConverter:35,1"
      Dst: "[java.lang.Long].toString(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.sanity.Pair].<init>(java.lang.Object,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.joran.sanity.Pair"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.sanity.Pair:8,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__54].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__54"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__54].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__54:-1,1"
      Dst: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__54].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__54].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__54"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__54:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__54].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__54"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__54:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__54].get()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__54"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.ImplicitModelAction].<init>()"
    functionUses: 3
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__54:-1,1"
      Dst: "[ch.qos.logback.core.joran.action.ImplicitModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.ImplicitModelAction].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.action.ImplicitModelAction"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.Action].<init>()"
    - "[java.util.Stack].<init>()"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.ImplicitModelAction:35,1"
      Dst: "[ch.qos.logback.core.joran.action.Action].<init>()"
    - Src: "ch.qos.logback.core.joran.action.ImplicitModelAction:37,1"
      Dst: "[java.util.Stack].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__60].bootstrap$()"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__60"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__60].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__60:-1,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__60].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__60].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__60"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__60:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__60].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__60"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.AppenderRefModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__60:-1,1"
      Dst: "[ch.qos.logback.core.model.processor.AppenderRefModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.AppenderRefModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.AppenderRefModelHandler"
    linkageType: null
    functionLinenumber: 19
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.AppenderRefModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.AppenderRefModelHandler:20,1"
      Dst: "[ch.qos.logback.core.model.processor.AppenderRefModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.TokenStream$TokenizerState].values()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.TokenStream$TokenizerState"
    linkageType: null
    functionLinenumber: 49
    functionDepth: 0
    returnType: "ch.qos.logback.core.pattern.parser.TokenStream$TokenizerState[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].clone()"
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream$TokenizerState:50,1"
      Dst: "[java.lang.Object].clone()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.TokenStream$TokenizerState].valueOf(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.TokenStream$TokenizerState"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.core.pattern.parser.TokenStream$TokenizerState"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream$TokenizerState:50,1"
      Dst: "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.TokenStream$TokenizerState].<init>(java.lang.String,int)"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.TokenStream$TokenizerState"
    linkageType: null
    functionLinenumber: 49
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].<init>(java.lang.String,int)"
    functionUses: 5
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.parser.TokenStream$TokenizerState:50,1"
      Dst: "[java.lang.Enum].<init>(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.parser.TokenStream$TokenizerState].$values()"
    functionSourceFile: "ch.qos.logback.core.pattern.parser.TokenStream$TokenizerState"
    linkageType: null
    functionLinenumber: 49
    functionDepth: 0
    returnType: "ch.qos.logback.core.pattern.parser.TokenStream$TokenizerState[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 12
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.Tokenizer$TokenizerState].values()"
    functionSourceFile: "ch.qos.logback.core.subst.Tokenizer$TokenizerState"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 0
    returnType: "ch.qos.logback.core.subst.Tokenizer$TokenizerState[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].clone()"
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.Tokenizer$TokenizerState:24,1"
      Dst: "[java.lang.Object].clone()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.Tokenizer$TokenizerState].valueOf(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.subst.Tokenizer$TokenizerState"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.core.subst.Tokenizer$TokenizerState"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.Tokenizer$TokenizerState:24,1"
      Dst: "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.Tokenizer$TokenizerState].<init>(java.lang.String,int)"
    functionSourceFile: "ch.qos.logback.core.subst.Tokenizer$TokenizerState"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].<init>(java.lang.String,int)"
    functionUses: 3
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.Tokenizer$TokenizerState:24,1"
      Dst: "[java.lang.Enum].<init>(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.Tokenizer$TokenizerState].$values()"
    functionSourceFile: "ch.qos.logback.core.subst.Tokenizer$TokenizerState"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 0
    returnType: "ch.qos.logback.core.subst.Tokenizer$TokenizerState[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.helpers.Transform].<init>()"
    functionSourceFile: "ch.qos.logback.core.helpers.Transform"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.helpers.Transform:24,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.helpers.Transform].escapeTags(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.helpers.Transform"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.helpers.Transform].escapeTags(java.lang.StringBuffer)"
    - "[java.lang.String].length()"
    - "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - "[java.util.regex.Matcher].find()"
    - "[java.lang.StringBuffer].<init>(java.lang.String)"
    functionUses: 10
    ICount: 13
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.helpers.Transform:40"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.Transform:41"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.Transform:40"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.helpers.Transform:40"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.Transform:41"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.Transform:40"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.helpers.Transform:40"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.Transform:43"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.Transform:42"
        BranchSideFuncs:
        - "escapeTags(java.lang.StringBuffer)"
    Callsites:
    - Src: "ch.qos.logback.core.helpers.Transform:40,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.core.helpers.Transform:40,1"
      Dst: "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - Src: "ch.qos.logback.core.helpers.Transform:40,1"
      Dst: "[java.util.regex.Matcher].find()"
    - Src: "ch.qos.logback.core.helpers.Transform:43,1"
      Dst: "[java.lang.StringBuffer].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.helpers.Transform:44,1"
      Dst: "[ch.qos.logback.core.helpers.Transform].escapeTags(java.lang.StringBuffer)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.helpers.Transform].escapeTags(java.lang.StringBuffer)"
    functionSourceFile: "ch.qos.logback.core.helpers.Transform"
    linkageType: null
    functionLinenumber: 55
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.StringBuffer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuffer].length()"
    - "[java.lang.StringBuffer].charAt(int)"
    - "[java.lang.StringBuffer].replace(int,int,java.lang.String)"
    - "[java.lang.StringBuffer].toString()"
    functionUses: 1
    ICount: 31
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.helpers.Transform:56"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.Transform:88"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.Transform:87"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.helpers.Transform:80"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.Transform:55"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.helpers.Transform:56,1"
      Dst: "[java.lang.StringBuffer].length()"
    - Src: "ch.qos.logback.core.helpers.Transform:57,1"
      Dst: "[java.lang.StringBuffer].charAt(int)"
    - Src: "ch.qos.logback.core.helpers.Transform:65,1"
      Dst: "[java.lang.StringBuffer].replace(int,int,java.lang.String)"
    - Src: "ch.qos.logback.core.helpers.Transform:88,1"
      Dst: "[java.lang.StringBuffer].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 13
    CyclomaticComplexity: 9
  - functionName: "[ch.qos.logback.core.helpers.Transform].appendEscapingCDATA(java.lang.StringBuilder,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.helpers.Transform"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].indexOf(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.String].substring(int,int)"
    - "[java.lang.String].length()"
    - "[java.lang.String].indexOf(java.lang.String,int)"
    - "[java.lang.String].substring(int)"
    functionUses: 0
    ICount: 25
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.helpers.Transform:102"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.Transform:106"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.Transform:105"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.helpers.Transform:108"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.Transform:114"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.Transform:113"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.helpers.Transform:116"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.Transform:128"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.Transform:127"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.helpers.Transform:121"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.Transform:124"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.Transform:123"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.helpers.Transform:106,1"
      Dst: "[java.lang.String].indexOf(java.lang.String)"
    - Src: "ch.qos.logback.core.helpers.Transform:109,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.core.helpers.Transform:117,1"
      Dst: "[java.lang.String].substring(int,int)"
    - Src: "ch.qos.logback.core.helpers.Transform:121,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.core.helpers.Transform:122,1"
      Dst: "[java.lang.String].indexOf(java.lang.String,int)"
    - Src: "ch.qos.logback.core.helpers.Transform:128,1"
      Dst: "[java.lang.String].substring(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.pattern.MDCConverter].<init>()"
    functionSourceFile: "ch.qos.logback.classic.pattern.MDCConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.ClassicConverter].<init>()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.MDCConverter:22,1"
      Dst: "[ch.qos.logback.classic.pattern.ClassicConverter].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.MDCConverter].start()"
    functionSourceFile: "ch.qos.logback.classic.pattern.MDCConverter"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.OptionHelper].extractDefaultReplacement(java.lang.String)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].getFirstOption()"
    - "[ch.qos.logback.core.pattern.DynamicConverter].start()"
    functionUses: 6
    ICount: 11
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.MDCConverter:31"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.MDCConverter:34"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.MDCConverter:33"
        BranchSideFuncs:
        - "start()"
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.MDCConverter:29,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].getFirstOption()"
    - Src: "ch.qos.logback.classic.pattern.MDCConverter:29,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].extractDefaultReplacement(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.MDCConverter:34,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.OptionHelper].extractDefaultReplacement(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 219
    functionDepth: 0
    returnType: "java.lang.String[]"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].indexOf(java.lang.String)"
    - "[java.lang.String].substring(int,int)"
    - "[java.lang.String].substring(int)"
    functionUses: 1
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.OptionHelper:221"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:224"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:223"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:226"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:230"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:229"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:225,1"
      Dst: "[java.lang.String].indexOf(java.lang.String)"
    - Src: "ch.qos.logback.core.util.OptionHelper:227,1"
      Dst: "[java.lang.String].substring(int,int)"
    - Src: "ch.qos.logback.core.util.OptionHelper:228,1"
      Dst: "[java.lang.String].substring(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.pattern.MDCConverter].stop()"
    functionSourceFile: "ch.qos.logback.classic.pattern.MDCConverter"
    linkageType: null
    functionLinenumber: 38
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.DynamicConverter].stop()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.MDCConverter:40,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].stop()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.MDCConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.pattern.MDCConverter"
    linkageType: null
    functionLinenumber: 44
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].getMDCPropertyMap()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getMDCPropertyMap()"
    - "[ch.qos.logback.classic.pattern.MDCConverter].outputMDCForAllKeys(java.util.Map)"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getMDCPropertyMap()"
    - "[java.util.Map].get(java.lang.Object)"
    functionUses: 1
    ICount: 17
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.MDCConverter:47"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.MDCConverter:51"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.MDCConverter:50"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.MDCConverter:51"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.MDCConverter:55"
        BranchSideFuncs:
        - "outputMDCForAllKeys(java.util.Map)"
      - BranchSide: "ch.qos.logback.classic.pattern.MDCConverter:54"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.MDCConverter:56"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.MDCConverter:59"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.MDCConverter:58"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.MDCConverter:45,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getMDCPropertyMap()"
    - Src: "ch.qos.logback.classic.pattern.MDCConverter:52,1"
      Dst: "[ch.qos.logback.classic.pattern.MDCConverter].outputMDCForAllKeys(java.util.Map)"
    - Src: "ch.qos.logback.classic.pattern.MDCConverter:55,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.MDCConverter].outputMDCForAllKeys(java.util.Map)"
    functionSourceFile: "ch.qos.logback.classic.pattern.MDCConverter"
    linkageType: null
    functionLinenumber: 68
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.util.Map"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.util.Map].entrySet()"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.util.Map$Entry].getKey()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.util.Map$Entry].getValue()"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 25
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.MDCConverter:71"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.MDCConverter:80"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.MDCConverter:79"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.MDCConverter:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.MDCConverter:75"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.MDCConverter:74"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.MDCConverter:69,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.classic.pattern.MDCConverter:71,1"
      Dst: "[java.util.Map].entrySet()"
    - Src: "ch.qos.logback.classic.pattern.MDCConverter:71,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "ch.qos.logback.classic.pattern.MDCConverter:71,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.classic.pattern.MDCConverter:71,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.classic.pattern.MDCConverter:75,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.MDCConverter:78,1"
      Dst: "[java.util.Map$Entry].getKey()"
    - Src: "ch.qos.logback.classic.pattern.MDCConverter:78,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.classic.pattern.MDCConverter:78,1"
      Dst: "[java.util.Map$Entry].getValue()"
    - Src: "ch.qos.logback.classic.pattern.MDCConverter:80,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.pattern.MDCConverter].outputMDCForAllKeys(java.util.Map)"
    functionSourceFile: "ch.qos.logback.classic.pattern.MDCConverter"
    linkageType: null
    functionLinenumber: 68
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.util.Map"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.util.Map].entrySet()"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.util.Map$Entry].getKey()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.util.Map$Entry].getValue()"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 25
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.MDCConverter:71"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.MDCConverter:80"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.MDCConverter:79"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.MDCConverter:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.MDCConverter:75"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.MDCConverter:74"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.MDCConverter:69,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.classic.pattern.MDCConverter:71,1"
      Dst: "[java.util.Map].entrySet()"
    - Src: "ch.qos.logback.classic.pattern.MDCConverter:71,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "ch.qos.logback.classic.pattern.MDCConverter:71,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.classic.pattern.MDCConverter:71,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.classic.pattern.MDCConverter:75,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.MDCConverter:78,1"
      Dst: "[java.util.Map$Entry].getKey()"
    - Src: "ch.qos.logback.classic.pattern.MDCConverter:78,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.classic.pattern.MDCConverter:78,1"
      Dst: "[java.util.Map$Entry].getValue()"
    - Src: "ch.qos.logback.classic.pattern.MDCConverter:80,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.pattern.MDCConverter].getKey()"
    functionSourceFile: "ch.qos.logback.classic.pattern.MDCConverter"
    linkageType: null
    functionLinenumber: 88
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.MDCConverter].convert(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.pattern.MDCConverter"
    linkageType: null
    functionLinenumber: 21
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.MDCConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 11
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.MDCConverter:22,1"
      Dst: "[ch.qos.logback.classic.pattern.MDCConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.MDCConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.pattern.MDCConverter"
    linkageType: null
    functionLinenumber: 44
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].getMDCPropertyMap()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getMDCPropertyMap()"
    - "[ch.qos.logback.classic.pattern.MDCConverter].outputMDCForAllKeys(java.util.Map)"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getMDCPropertyMap()"
    - "[java.util.Map].get(java.lang.Object)"
    functionUses: 1
    ICount: 17
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.MDCConverter:47"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.MDCConverter:51"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.MDCConverter:50"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.MDCConverter:51"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.MDCConverter:55"
        BranchSideFuncs:
        - "outputMDCForAllKeys(java.util.Map)"
      - BranchSide: "ch.qos.logback.classic.pattern.MDCConverter:54"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.MDCConverter:56"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.MDCConverter:59"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.MDCConverter:58"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.MDCConverter:45,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getMDCPropertyMap()"
    - Src: "ch.qos.logback.classic.pattern.MDCConverter:52,1"
      Dst: "[ch.qos.logback.classic.pattern.MDCConverter].outputMDCForAllKeys(java.util.Map)"
    - Src: "ch.qos.logback.classic.pattern.MDCConverter:55,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteServiceProvider].<init>()"
    functionSourceFile: "org.slf4j.helpers.SubstituteServiceProvider"
    linkageType: null
    functionLinenumber: 7
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLoggerFactory].<init>()"
    - "[org.slf4j.helpers.BasicMarkerFactory].<init>()"
    - "[org.slf4j.helpers.BasicMDCAdapter].<init>()"
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 12
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteServiceProvider:8,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "org.slf4j.helpers.SubstituteServiceProvider:9,1"
      Dst: "[org.slf4j.helpers.SubstituteLoggerFactory].<init>()"
    - Src: "org.slf4j.helpers.SubstituteServiceProvider:10,1"
      Dst: "[org.slf4j.helpers.BasicMarkerFactory].<init>()"
    - Src: "org.slf4j.helpers.SubstituteServiceProvider:11,1"
      Dst: "[org.slf4j.helpers.BasicMDCAdapter].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteServiceProvider].getLoggerFactory()"
    functionSourceFile: "org.slf4j.helpers.SubstituteServiceProvider"
    linkageType: null
    functionLinenumber: 14
    functionDepth: 0
    returnType: "org.slf4j.ILoggerFactory"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteServiceProvider].getSubstituteLoggerFactory()"
    functionSourceFile: "org.slf4j.helpers.SubstituteServiceProvider"
    linkageType: null
    functionLinenumber: 18
    functionDepth: 0
    returnType: "org.slf4j.helpers.SubstituteLoggerFactory"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteServiceProvider].getMarkerFactory()"
    functionSourceFile: "org.slf4j.helpers.SubstituteServiceProvider"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 0
    returnType: "org.slf4j.IMarkerFactory"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteServiceProvider].getMDCAdapter()"
    functionSourceFile: "org.slf4j.helpers.SubstituteServiceProvider"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 0
    returnType: "org.slf4j.spi.MDCAdapter"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteServiceProvider].getRequestedApiVersion()"
    functionSourceFile: "org.slf4j.helpers.SubstituteServiceProvider"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.UnsupportedOperationException].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.SubstituteServiceProvider:34,1"
      Dst: "[java.lang.UnsupportedOperationException].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.SubstituteServiceProvider].initialize()"
    functionSourceFile: "org.slf4j.helpers.SubstituteServiceProvider"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.encoder.JsonEncoder].<init>()"
    functionSourceFile: "ch.qos.logback.classic.encoder.JsonEncoder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.encoder.EncoderBase].<init>()"
    functionUses: 0
    ICount: 17
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:42,1"
      Dst: "[ch.qos.logback.core.encoder.EncoderBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.encoder.JsonEncoder].headerBytes()"
    functionSourceFile: "ch.qos.logback.classic.encoder.JsonEncoder"
    linkageType: null
    functionLinenumber: 126
    functionDepth: 0
    returnType: "byte[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.encoder.JsonEncoder].encode(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.encoder.JsonEncoder"
    linkageType: null
    functionLinenumber: 131
    functionDepth: 5
    returnType: "byte[]"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getThrowableProxy()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getThrowableProxy()"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].appenderMemberWithLongValue(java.lang.StringBuilder,java.lang.String,long)"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getSequenceNumber()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getSequenceNumber()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getTimeStamp()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getTimeStamp()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getNanoseconds()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getNanoseconds()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getLevel()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getLevel()"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].appenderMember(java.lang.StringBuilder,java.lang.String,java.lang.String)"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getThreadName()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getThreadName()"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].jsonEscape(java.lang.String)"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getLoggerName()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getLoggerName()"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].appendLoggerContext(java.lang.StringBuilder,ch.qos.logback.classic.spi.LoggerContextVO)"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getLoggerContextVO()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getLoggerContextVO()"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].appendMarkers(java.lang.StringBuilder,ch.qos.logback.classic.spi.ILoggingEvent)"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].appendMDC(java.lang.StringBuilder,ch.qos.logback.classic.spi.ILoggingEvent)"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].appendKeyValuePairs(java.lang.StringBuilder,ch.qos.logback.classic.spi.ILoggingEvent)"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getMessage()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getMessage()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getFormattedMessage()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getFormattedMessage()"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].appendArgumentArray(java.lang.StringBuilder,ch.qos.logback.classic.spi.ILoggingEvent)"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].appendThrowableProxy(java.lang.StringBuilder,java.lang.String,ch.qos.logback.classic.spi.IThrowableProxy)"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getThrowableProxy()"
    - "[java.lang.StringBuilder].<init>(int)"
    - "[java.lang.StringBuilder].append(char)"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getSequenceNumber()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getTimeStamp()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getNanoseconds()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getThreadName()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerName()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerContextVO()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getMessage()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getFormattedMessage()"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.String].getBytes(java.nio.charset.Charset)"
    functionUses: 1
    ICount: 86
    EdgeCount: 41
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:132"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:132"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:131"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:136"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:141"
        BranchSideFuncs:
        - "getSequenceNumber()"
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:140"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:141"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:146"
        BranchSideFuncs:
        - "getTimeStamp()"
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:145"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:146"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:151"
        BranchSideFuncs:
        - "getNanoseconds()"
        - "appenderMemberWithLongValue(java.lang.StringBuilder,java.lang.String,long)"
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:150"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:151"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:157"
        BranchSideFuncs:
        - "getLevel()"
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:156"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:152"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:152"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:151"
        BranchSideFuncs:
        - "getLevel()"
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:157"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:162"
        BranchSideFuncs:
        - "getThreadName()"
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:161"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:162"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:167"
        BranchSideFuncs:
        - "getLoggerName()"
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:166"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:167"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:171"
        BranchSideFuncs:
        - "getLoggerContextVO()"
        - "appendLoggerContext(java.lang.StringBuilder,ch.qos.logback.classic.spi.LoggerContextVO)"
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:170"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:171"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:174"
        BranchSideFuncs:
        - "appendMarkers(java.lang.StringBuilder,ch.qos.logback.classic.spi.ILoggingEvent)"
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:173"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:174"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:177"
        BranchSideFuncs:
        - "appendMDC(java.lang.StringBuilder,ch.qos.logback.classic.spi.ILoggingEvent)"
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:176"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:177"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:180"
        BranchSideFuncs:
        - "appendKeyValuePairs(java.lang.StringBuilder,ch.qos.logback.classic.spi.ILoggingEvent)"
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:179"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:180"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:185"
        BranchSideFuncs:
        - "getMessage()"
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:184"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:185"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:190"
        BranchSideFuncs:
        - "jsonEscape(java.lang.String)"
        - "appenderMember(java.lang.StringBuilder,java.lang.String,java.lang.String)"
        - "getFormattedMessage()"
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:189"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:190"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:193"
        BranchSideFuncs:
        - "appendArgumentArray(java.lang.StringBuilder,ch.qos.logback.classic.spi.ILoggingEvent)"
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:192"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:193"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:196"
        BranchSideFuncs:
        - "getThrowableProxy()"
        - "appendThrowableProxy(java.lang.StringBuilder,java.lang.String,ch.qos.logback.classic.spi.IThrowableProxy)"
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:195"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:132,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getThrowableProxy()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:133,1"
      Dst: "[java.lang.StringBuilder].<init>(int)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:134,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:137,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getSequenceNumber()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:137,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].appenderMemberWithLongValue(java.lang.StringBuilder,java.lang.String,long)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:142,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getTimeStamp()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:147,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getNanoseconds()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:152,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:153,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].appenderMember(java.lang.StringBuilder,java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:158,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getThreadName()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:158,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].jsonEscape(java.lang.String)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:163,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerName()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:168,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerContextVO()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:168,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].appendLoggerContext(java.lang.StringBuilder,ch.qos.logback.classic.spi.LoggerContextVO)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:172,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].appendMarkers(java.lang.StringBuilder,ch.qos.logback.classic.spi.ILoggingEvent)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:175,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].appendMDC(java.lang.StringBuilder,ch.qos.logback.classic.spi.ILoggingEvent)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:178,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].appendKeyValuePairs(java.lang.StringBuilder,ch.qos.logback.classic.spi.ILoggingEvent)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:181,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getMessage()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:186,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getFormattedMessage()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:191,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].appendArgumentArray(java.lang.StringBuilder,ch.qos.logback.classic.spi.ILoggingEvent)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:194,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].appendThrowableProxy(java.lang.StringBuilder,java.lang.String,ch.qos.logback.classic.spi.IThrowableProxy)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:198,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:198,1"
      Dst: "[java.lang.String].getBytes(java.nio.charset.Charset)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 35
    CyclomaticComplexity: 17
  - functionName: "[ch.qos.logback.classic.encoder.JsonEncoder].appenderMemberWithLongValue(java.lang.StringBuilder,java.lang.String,long)"
    functionSourceFile: "ch.qos.logback.classic.encoder.JsonEncoder"
    linkageType: null
    functionLinenumber: 344
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.StringBuilder"
    - "java.lang.String"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(long)"
    functionUses: 4
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:345,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:345,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:345,1"
      Dst: "[java.lang.StringBuilder].append(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.encoder.JsonEncoder].appenderMember(java.lang.StringBuilder,java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.encoder.JsonEncoder"
    linkageType: null
    functionLinenumber: 336
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.StringBuilder"
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 15
    ICount: 11
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:337,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:337,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.encoder.JsonEncoder].jsonEscape(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.encoder.JsonEncoder"
    linkageType: null
    functionLinenumber: 414
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.encoder.JsonEscapeUtil].jsonEscapeString(java.lang.String)"
    functionUses: 5
    ICount: 6
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:415"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:417"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:416"
        BranchSideFuncs:
        - "jsonEscapeString(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:417,1"
      Dst: "[ch.qos.logback.core.encoder.JsonEscapeUtil].jsonEscapeString(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.encoder.JsonEscapeUtil].jsonEscapeString(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.encoder.JsonEscapeUtil"
    linkageType: null
    functionLinenumber: 94
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.encoder.JsonEscapeUtil].getObligatoryEscapeCode(char)"
    - "[java.lang.String].length()"
    - "[java.lang.StringBuilder].<init>(int)"
    - "[java.lang.String].charAt(int)"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 2
    ICount: 19
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.encoder.JsonEscapeUtil:99"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.encoder.JsonEscapeUtil:109"
        BranchSideFuncs:
        - "getObligatoryEscapeCode(char)"
      - BranchSide: "ch.qos.logback.core.encoder.JsonEscapeUtil:108"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.encoder.JsonEscapeUtil:102"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.encoder.JsonEscapeUtil:105"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.encoder.JsonEscapeUtil:104"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.encoder.JsonEscapeUtil:95,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.core.encoder.JsonEscapeUtil:98,1"
      Dst: "[java.lang.StringBuilder].<init>(int)"
    - Src: "ch.qos.logback.core.encoder.JsonEscapeUtil:100,1"
      Dst: "[java.lang.String].charAt(int)"
    - Src: "ch.qos.logback.core.encoder.JsonEscapeUtil:101,1"
      Dst: "[ch.qos.logback.core.encoder.JsonEscapeUtil].getObligatoryEscapeCode(char)"
    - Src: "ch.qos.logback.core.encoder.JsonEscapeUtil:103,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.core.encoder.JsonEscapeUtil:105,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.core.encoder.JsonEscapeUtil:109,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.encoder.JsonEncoder].appendLoggerContext(java.lang.StringBuilder,ch.qos.logback.classic.spi.LoggerContextVO)"
    functionSourceFile: "ch.qos.logback.classic.encoder.JsonEncoder"
    linkageType: null
    functionLinenumber: 202
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "ch.qos.logback.classic.spi.LoggerContextVO"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.encoder.JsonEncoder].appenderMember(java.lang.StringBuilder,java.lang.String,java.lang.String)"
    - "[ch.qos.logback.classic.spi.LoggerContextVO].getName()"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].nullSafeStr(java.lang.String)"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].appenderMemberWithLongValue(java.lang.StringBuilder,java.lang.String,long)"
    - "[ch.qos.logback.classic.spi.LoggerContextVO].getBirthTime()"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].appendMap(java.lang.StringBuilder,java.lang.String,java.util.Map)"
    - "[ch.qos.logback.classic.spi.LoggerContextVO].getPropertyMap()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 1
    ICount: 21
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:204"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:209"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:208"
        BranchSideFuncs:
        - "appendMap(java.lang.StringBuilder,java.lang.String,java.util.Map)"
        - "getName()"
        - "appenderMemberWithLongValue(java.lang.StringBuilder,java.lang.String,long)"
        - "getPropertyMap()"
        - "getBirthTime()"
        - "nullSafeStr(java.lang.String)"
        - "appenderMember(java.lang.StringBuilder,java.lang.String,java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:203,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:203,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:210,1"
      Dst: "[ch.qos.logback.classic.spi.LoggerContextVO].getName()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:210,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].nullSafeStr(java.lang.String)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:210,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].appenderMember(java.lang.StringBuilder,java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:212,1"
      Dst: "[ch.qos.logback.classic.spi.LoggerContextVO].getBirthTime()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:212,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].appenderMemberWithLongValue(java.lang.StringBuilder,java.lang.String,long)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:215,1"
      Dst: "[ch.qos.logback.classic.spi.LoggerContextVO].getPropertyMap()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:215,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].appendMap(java.lang.StringBuilder,java.lang.String,java.util.Map)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggerContextVO].getName()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggerContextVO"
    linkageType: null
    functionLinenumber: 56
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.encoder.JsonEncoder].nullSafeStr(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.encoder.JsonEncoder"
    linkageType: null
    functionLinenumber: 408
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 5
    ICount: 5
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:409"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:411"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:410"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggerContextVO].getBirthTime()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggerContextVO"
    linkageType: null
    functionLinenumber: 64
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggerContextVO].getPropertyMap()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggerContextVO"
    linkageType: null
    functionLinenumber: 60
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.encoder.JsonEncoder].appendMap(java.lang.StringBuilder,java.lang.String,java.util.Map)"
    functionSourceFile: "ch.qos.logback.classic.encoder.JsonEncoder"
    linkageType: null
    functionLinenumber: 220
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.StringBuilder"
    - "java.lang.String"
    - "java.util.Map"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.encoder.JsonEncoder].appenderMember(java.lang.StringBuilder,java.lang.String,java.lang.String)"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].jsonEscapedToString(java.lang.Object)"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.util.Map].entrySet()"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.Map$Entry].getKey()"
    - "[java.util.Map$Entry].getValue()"
    functionUses: 1
    ICount: 29
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:222"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:227"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:226"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:231"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:239"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:238"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:232"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:235"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:234"
        BranchSideFuncs:
        - "jsonEscapedToString(java.lang.Object)"
        - "appenderMember(java.lang.StringBuilder,java.lang.String,java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:221,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:221,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:230,1"
      Dst: "[java.util.Map].entrySet()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:231,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:231,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:231,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:236,1"
      Dst: "[java.util.Map$Entry].getKey()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:236,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].jsonEscapedToString(java.lang.Object)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:236,1"
      Dst: "[java.util.Map$Entry].getValue()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:236,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].appenderMember(java.lang.StringBuilder,java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.encoder.JsonEncoder].jsonEscapedToString(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.encoder.JsonEncoder"
    linkageType: null
    functionLinenumber: 402
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.encoder.JsonEscapeUtil].jsonEscapeString(java.lang.String)"
    - "[ch.qos.logback.core.pattern.parser.Token].toString()"
    - "[ch.qos.logback.classic.spi.LoggerContextVO].toString()"
    - "[ch.qos.logback.classic.Logger].toString()"
    - "[ch.qos.logback.classic.model.LoggerModel].toString()"
    - "[ch.qos.logback.core.recovery.ResilientFileOutputStream].toString()"
    - "[ch.qos.logback.core.pattern.PatternLayoutBase].toString()"
    - "[ch.qos.logback.core.UnsynchronizedAppenderBase].toString()"
    - "[org.slf4j.event.Level].toString()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].toString()"
    - "[ch.qos.logback.core.joran.event.EndEvent].toString()"
    - "[ch.qos.logback.core.pattern.parser.CompositeNode].toString()"
    - "[ch.qos.logback.core.testUtil.TeeOutputStream].toString()"
    - "[ch.qos.logback.core.model.ComponentModel].toString()"
    - "[ch.qos.logback.core.rolling.helper.Compressor].toString()"
    - "[ch.qos.logback.core.pattern.FormatInfo].toString()"
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].toString()"
    - "[org.slf4j.helpers.BasicMarker].toString()"
    - "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].toString()"
    - "[org.slf4j.event.KeyValuePair].toString()"
    - "[ch.qos.logback.classic.net.SocketNode].toString()"
    - "[ch.qos.logback.core.pattern.parser.SimpleKeywordNode].toString()"
    - "[org.xml.sax.SAXException].toString()"
    - "[ch.qos.logback.core.joran.spi.ElementPath].toString()"
    - "[ch.qos.logback.core.joran.event.BodyEvent].toString()"
    - "[ch.qos.logback.core.net.server.ServerSocketListener].toString()"
    - "[ch.qos.logback.core.model.NamedComponentModel].toString()"
    - "[ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy].toString()"
    - "[ch.qos.logback.core.recovery.ResilientSyslogOutputStream].toString()"
    - "[ch.qos.logback.core.spi.ConfigurationEvent].toString()"
    - "[ch.qos.logback.core.model.conditional.IfModel].toString()"
    - "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].toString()"
    - "[ch.qos.logback.core.joran.action.Action].toString()"
    - "[ch.qos.logback.core.joran.util.ParentTag_Tag_Class_Tuple].toString()"
    - "[ch.qos.logback.core.rolling.helper.RenameUtil].toString()"
    - "[ch.qos.logback.classic.Level].toString()"
    - "[ch.qos.logback.core.spi.AbstractComponentTracker$Entry].toString()"
    - "[ch.qos.logback.core.joran.spi.SimpleRuleStore].toString()"
    - "[ch.qos.logback.classic.LoggerContext].toString()"
    - "[ch.qos.logback.classic.joran.ReconfigureOnChangeTask].toString()"
    - "[ch.qos.logback.core.ContextBase].toString()"
    - "[ch.qos.logback.classic.net.server.RemoteAppenderStreamClient].toString()"
    - "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].toString()"
    - "[ch.qos.logback.core.AppenderBase].toString()"
    - "[org.slf4j.helpers.MarkerIgnoringBase].toString()"
    - "[ch.qos.logback.core.joran.event.stax.EndEvent].toString()"
    - "[ch.qos.logback.core.pattern.CompositeConverter].toString()"
    - "[org.xml.sax.SAXParseException].toString()"
    - "[ch.qos.logback.core.joran.spi.ConsoleTarget].toString()"
    - "[ch.qos.logback.core.joran.event.stax.StartEvent].toString()"
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].toString()"
    - "[ch.qos.logback.core.subst.Node].toString()"
    - "[ch.qos.logback.core.model.Model].toString()"
    - "[ch.qos.logback.core.joran.event.stax.BodyEvent].toString()"
    - "[ch.qos.logback.core.subst.Token].toString()"
    - "[ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy].toString()"
    - "[ch.qos.logback.core.joran.event.StartEvent].toString()"
    - "[ch.qos.logback.core.util.FileSize].toString()"
    - "[ch.qos.logback.core.pattern.parser.Node].toString()"
    - "[ch.qos.logback.classic.joran.sanity.IfNestedWithinSecondPhaseElementSC].toString()"
    - "[ch.qos.logback.classic.spi.StackTraceElementProxy].toString()"
    - "[ch.qos.logback.core.status.StatusBase].toString()"
    - "[ch.qos.logback.core.util.Duration].toString()"
    - "[java.lang.Object].toString()"
    functionUses: 8
    ICount: 7
    EdgeCount: 63
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:403"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:405"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:404"
        BranchSideFuncs:
        - "jsonEscapeString(java.lang.String)"
        - "toString()"
    Callsites:
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:405,1"
      Dst: "[java.lang.Object].toString()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:405,1"
      Dst: "[ch.qos.logback.core.encoder.JsonEscapeUtil].jsonEscapeString(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.encoder.JsonEncoder].appendMarkers(java.lang.StringBuilder,ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.encoder.JsonEncoder"
    linkageType: null
    functionLinenumber: 384
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getMarkerList()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getMarkerList()"
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.util.COWArrayList].get(int)"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].jsonEscapedToString(java.lang.Object)"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getMarkerList()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    functionUses: 1
    ICount: 26
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:386"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:389"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:388"
        BranchSideFuncs:
        - "size()"
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:391"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:397"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:396"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:392"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:null"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:385,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getMarkerList()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:389,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:389,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:390,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:394,1"
      Dst: "[java.util.List].get(int)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:394,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].jsonEscapedToString(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.encoder.JsonEncoder].appendMDC(java.lang.StringBuilder,ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.encoder.JsonEncoder"
    linkageType: null
    functionLinenumber: 420
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].getMDCPropertyMap()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getMDCPropertyMap()"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].isNotEmptyMap(java.util.Map)"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].appenderMember(java.lang.StringBuilder,java.lang.String,java.lang.String)"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].jsonEscapedToString(java.lang.Object)"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getMDCPropertyMap()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.util.Map].entrySet()"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.Map$Entry].getKey()"
    - "[java.util.Map$Entry].getValue()"
    functionUses: 1
    ICount: 30
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:424"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:435"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:434"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:427"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:435"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:434"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:428"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:430"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:429"
        BranchSideFuncs:
        - "jsonEscapedToString(java.lang.Object)"
        - "appenderMember(java.lang.StringBuilder,java.lang.String,java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:421,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getMDCPropertyMap()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:423,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:423,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:424,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].isNotEmptyMap(java.util.Map)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:425,1"
      Dst: "[java.util.Map].entrySet()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:427,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:427,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:427,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:430,1"
      Dst: "[java.util.Map$Entry].getKey()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:430,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].jsonEscapedToString(java.lang.Object)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:430,1"
      Dst: "[java.util.Map$Entry].getValue()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:430,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].appenderMember(java.lang.StringBuilder,java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.classic.encoder.JsonEncoder].isNotEmptyMap(java.util.Map)"
    functionSourceFile: "ch.qos.logback.classic.encoder.JsonEncoder"
    linkageType: null
    functionLinenumber: 440
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.util.Map"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map].isEmpty()"
    functionUses: 1
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:441"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:443"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:442"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:443"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:442"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:443,1"
      Dst: "[java.util.Map].isEmpty()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.encoder.JsonEncoder].appendKeyValuePairs(java.lang.StringBuilder,ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.encoder.JsonEncoder"
    linkageType: null
    functionLinenumber: 348
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getKeyValuePairs()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getKeyValuePairs()"
    - "[ch.qos.logback.core.util.COWArrayList].isEmpty()"
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.util.COWArrayList].get(int)"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].appenderMember(java.lang.StringBuilder,java.lang.String,java.lang.String)"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].jsonEscapedToString(java.lang.Object)"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getKeyValuePairs()"
    - "[java.util.List].isEmpty()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    functionUses: 1
    ICount: 32
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:350"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:351"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:350"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:350"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:353"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:352"
        BranchSideFuncs:
        - "size()"
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:355"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:363"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:362"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:356"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:null"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:349,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getKeyValuePairs()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:350,1"
      Dst: "[java.util.List].isEmpty()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:353,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:353,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:354,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:358,1"
      Dst: "[java.util.List].get(int)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:360,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].jsonEscapedToString(java.lang.Object)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:360,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].appenderMember(java.lang.StringBuilder,java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.classic.encoder.JsonEncoder].appendArgumentArray(java.lang.StringBuilder,ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.encoder.JsonEncoder"
    linkageType: null
    functionLinenumber: 367
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].getArgumentArray()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getArgumentArray()"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].jsonEscapedToString(java.lang.Object)"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getArgumentArray()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 1
    ICount: 26
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:369"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:372"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:371"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:374"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:380"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:379"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:375"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:null"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:368,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getArgumentArray()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:372,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:372,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:377,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].jsonEscapedToString(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.encoder.JsonEncoder].appendThrowableProxy(java.lang.StringBuilder,java.lang.String,ch.qos.logback.classic.spi.IThrowableProxy)"
    functionSourceFile: "ch.qos.logback.classic.encoder.JsonEncoder"
    linkageType: null
    functionLinenumber: 245
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.StringBuilder"
    - "java.lang.String"
    - "ch.qos.logback.classic.spi.IThrowableProxy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.encoder.JsonEncoder].appenderMember(java.lang.StringBuilder,java.lang.String,java.lang.String)"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].getClassName()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].getClassName()"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].nullSafeStr(java.lang.String)"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].getMessage()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].getMessage()"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].jsonEscape(java.lang.String)"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].isCyclic()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].isCyclic()"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].appendSTEPArray(java.lang.StringBuilder,ch.qos.logback.classic.spi.StackTraceElementProxy[],int)"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].getCommonFrames()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].getCommonFrames()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].getStackTraceElementProxyArray()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].getStackTraceElementProxyArray()"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].appenderMemberWithIntValue(java.lang.StringBuilder,java.lang.String,int)"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].getCause()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].getCause()"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].appendThrowableProxy(java.lang.StringBuilder,java.lang.String,ch.qos.logback.classic.spi.IThrowableProxy)"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].getSuppressed()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].getSuppressed()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getClassName()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getMessage()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].isCyclic()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getStackTraceElementProxyArray()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getCommonFrames()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getCause()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getSuppressed()"
    functionUses: 3
    ICount: 61
    EdgeCount: 28
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:246"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:254"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:253"
        BranchSideFuncs:
        - "getClassName()"
        - "getMessage()"
        - "isCyclic()"
        - "nullSafeStr(java.lang.String)"
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:248"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:254"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:253"
        BranchSideFuncs:
        - "getClassName()"
        - "getMessage()"
        - "isCyclic()"
        - "nullSafeStr(java.lang.String)"
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:261"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:266"
        BranchSideFuncs:
        - "jsonEscape(java.lang.String)"
        - "appenderMember(java.lang.StringBuilder,java.lang.String,java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:265"
        BranchSideFuncs:
        - "getStackTraceElementProxyArray()"
        - "appendSTEPArray(java.lang.StringBuilder,ch.qos.logback.classic.spi.StackTraceElementProxy[],int)"
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:269"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:274"
        BranchSideFuncs:
        - "appenderMemberWithIntValue(java.lang.StringBuilder,java.lang.String,int)"
        - "getCommonFrames()"
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:273"
        BranchSideFuncs:
        - "getCause()"
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:275"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:280"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:279"
        BranchSideFuncs:
        - "getSuppressed()"
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:281"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:297"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:296"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:281"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:297"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:296"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:286"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:294"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:293"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:287"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:290"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:289"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:247,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:247,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:256,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getClassName()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:256,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].nullSafeStr(java.lang.String)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:256,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].appenderMember(java.lang.StringBuilder,java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:259,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getMessage()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:259,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].jsonEscape(java.lang.String)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:261,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].isCyclic()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:267,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getStackTraceElementProxyArray()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:267,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getCommonFrames()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:267,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].appendSTEPArray(java.lang.StringBuilder,ch.qos.logback.classic.spi.StackTraceElementProxy[],int)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:271,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].appenderMemberWithIntValue(java.lang.StringBuilder,java.lang.String,int)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:274,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getCause()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:277,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].appendThrowableProxy(java.lang.StringBuilder,java.lang.String,ch.qos.logback.classic.spi.IThrowableProxy)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:280,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getSuppressed()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 19
    CyclomaticComplexity: 9
  - functionName: "[ch.qos.logback.classic.encoder.JsonEncoder].appendSTEPArray(java.lang.StringBuilder,ch.qos.logback.classic.spi.StackTraceElementProxy[],int)"
    functionSourceFile: "ch.qos.logback.classic.encoder.JsonEncoder"
    linkageType: null
    functionLinenumber: 301
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.StringBuilder"
    - "ch.qos.logback.classic.spi.StackTraceElementProxy[]"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.StackTraceElementProxy].getStackTraceElement()"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].appenderMember(java.lang.StringBuilder,java.lang.String,java.lang.String)"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].nullSafeStr(java.lang.String)"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].appenderMemberWithIntValue(java.lang.StringBuilder,java.lang.String,int)"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StackTraceElement].getClassName()"
    - "[java.lang.StackTraceElement].getMethodName()"
    - "[java.lang.StackTraceElement].getFileName()"
    - "[java.lang.StackTraceElement].getLineNumber()"
    functionUses: 1
    ICount: 42
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:304"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:302"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:301"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:306"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:310"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:309"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:310"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:333"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:332"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:311"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:null"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:302,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:302,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:317,1"
      Dst: "[ch.qos.logback.classic.spi.StackTraceElementProxy].getStackTraceElement()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:319,1"
      Dst: "[java.lang.StackTraceElement].getClassName()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:319,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].nullSafeStr(java.lang.String)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:319,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].appenderMember(java.lang.StringBuilder,java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:322,1"
      Dst: "[java.lang.StackTraceElement].getMethodName()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:325,1"
      Dst: "[java.lang.StackTraceElement].getFileName()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:328,1"
      Dst: "[java.lang.StackTraceElement].getLineNumber()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:328,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].appenderMemberWithIntValue(java.lang.StringBuilder,java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 11
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.classic.spi.StackTraceElementProxy].getStackTraceElement()"
    functionSourceFile: "ch.qos.logback.classic.spi.StackTraceElementProxy"
    linkageType: null
    functionLinenumber: 44
    functionDepth: 0
    returnType: "java.lang.StackTraceElement"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.encoder.JsonEncoder].appenderMemberWithIntValue(java.lang.StringBuilder,java.lang.String,int)"
    functionSourceFile: "ch.qos.logback.classic.encoder.JsonEncoder"
    linkageType: null
    functionLinenumber: 340
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.StringBuilder"
    - "java.lang.String"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(int)"
    functionUses: 2
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:341,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:341,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:341,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.encoder.JsonEncoder].appendLoggerContext(java.lang.StringBuilder,ch.qos.logback.classic.spi.LoggerContextVO)"
    functionSourceFile: "ch.qos.logback.classic.encoder.JsonEncoder"
    linkageType: null
    functionLinenumber: 202
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "ch.qos.logback.classic.spi.LoggerContextVO"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.encoder.JsonEncoder].appenderMember(java.lang.StringBuilder,java.lang.String,java.lang.String)"
    - "[ch.qos.logback.classic.spi.LoggerContextVO].getName()"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].nullSafeStr(java.lang.String)"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].appenderMemberWithLongValue(java.lang.StringBuilder,java.lang.String,long)"
    - "[ch.qos.logback.classic.spi.LoggerContextVO].getBirthTime()"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].appendMap(java.lang.StringBuilder,java.lang.String,java.util.Map)"
    - "[ch.qos.logback.classic.spi.LoggerContextVO].getPropertyMap()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 1
    ICount: 21
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:204"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:209"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:208"
        BranchSideFuncs:
        - "appendMap(java.lang.StringBuilder,java.lang.String,java.util.Map)"
        - "getName()"
        - "appenderMemberWithLongValue(java.lang.StringBuilder,java.lang.String,long)"
        - "getPropertyMap()"
        - "getBirthTime()"
        - "nullSafeStr(java.lang.String)"
        - "appenderMember(java.lang.StringBuilder,java.lang.String,java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:203,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:203,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:210,1"
      Dst: "[ch.qos.logback.classic.spi.LoggerContextVO].getName()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:210,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].nullSafeStr(java.lang.String)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:210,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].appenderMember(java.lang.StringBuilder,java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:212,1"
      Dst: "[ch.qos.logback.classic.spi.LoggerContextVO].getBirthTime()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:212,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].appenderMemberWithLongValue(java.lang.StringBuilder,java.lang.String,long)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:215,1"
      Dst: "[ch.qos.logback.classic.spi.LoggerContextVO].getPropertyMap()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:215,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].appendMap(java.lang.StringBuilder,java.lang.String,java.util.Map)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.encoder.JsonEncoder].appendMap(java.lang.StringBuilder,java.lang.String,java.util.Map)"
    functionSourceFile: "ch.qos.logback.classic.encoder.JsonEncoder"
    linkageType: null
    functionLinenumber: 220
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.StringBuilder"
    - "java.lang.String"
    - "java.util.Map"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.encoder.JsonEncoder].appenderMember(java.lang.StringBuilder,java.lang.String,java.lang.String)"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].jsonEscapedToString(java.lang.Object)"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.util.Map].entrySet()"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.Map$Entry].getKey()"
    - "[java.util.Map$Entry].getValue()"
    functionUses: 1
    ICount: 29
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:222"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:227"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:226"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:231"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:239"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:238"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:232"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:235"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:234"
        BranchSideFuncs:
        - "jsonEscapedToString(java.lang.Object)"
        - "appenderMember(java.lang.StringBuilder,java.lang.String,java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:221,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:221,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:230,1"
      Dst: "[java.util.Map].entrySet()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:231,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:231,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:231,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:236,1"
      Dst: "[java.util.Map$Entry].getKey()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:236,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].jsonEscapedToString(java.lang.Object)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:236,1"
      Dst: "[java.util.Map$Entry].getValue()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:236,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].appenderMember(java.lang.StringBuilder,java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.encoder.JsonEncoder].appendThrowableProxy(java.lang.StringBuilder,java.lang.String,ch.qos.logback.classic.spi.IThrowableProxy)"
    functionSourceFile: "ch.qos.logback.classic.encoder.JsonEncoder"
    linkageType: null
    functionLinenumber: 245
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.StringBuilder"
    - "java.lang.String"
    - "ch.qos.logback.classic.spi.IThrowableProxy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.encoder.JsonEncoder].appenderMember(java.lang.StringBuilder,java.lang.String,java.lang.String)"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].getClassName()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].getClassName()"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].nullSafeStr(java.lang.String)"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].getMessage()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].getMessage()"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].jsonEscape(java.lang.String)"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].isCyclic()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].isCyclic()"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].appendSTEPArray(java.lang.StringBuilder,ch.qos.logback.classic.spi.StackTraceElementProxy[],int)"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].getCommonFrames()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].getCommonFrames()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].getStackTraceElementProxyArray()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].getStackTraceElementProxyArray()"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].appenderMemberWithIntValue(java.lang.StringBuilder,java.lang.String,int)"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].getCause()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].getCause()"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].appendThrowableProxy(java.lang.StringBuilder,java.lang.String,ch.qos.logback.classic.spi.IThrowableProxy)"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].getSuppressed()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].getSuppressed()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getClassName()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getMessage()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].isCyclic()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getStackTraceElementProxyArray()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getCommonFrames()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getCause()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getSuppressed()"
    functionUses: 3
    ICount: 61
    EdgeCount: 28
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:246"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:254"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:253"
        BranchSideFuncs:
        - "getClassName()"
        - "getMessage()"
        - "isCyclic()"
        - "nullSafeStr(java.lang.String)"
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:248"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:254"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:253"
        BranchSideFuncs:
        - "getClassName()"
        - "getMessage()"
        - "isCyclic()"
        - "nullSafeStr(java.lang.String)"
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:261"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:266"
        BranchSideFuncs:
        - "jsonEscape(java.lang.String)"
        - "appenderMember(java.lang.StringBuilder,java.lang.String,java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:265"
        BranchSideFuncs:
        - "getStackTraceElementProxyArray()"
        - "appendSTEPArray(java.lang.StringBuilder,ch.qos.logback.classic.spi.StackTraceElementProxy[],int)"
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:269"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:274"
        BranchSideFuncs:
        - "appenderMemberWithIntValue(java.lang.StringBuilder,java.lang.String,int)"
        - "getCommonFrames()"
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:273"
        BranchSideFuncs:
        - "getCause()"
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:275"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:280"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:279"
        BranchSideFuncs:
        - "getSuppressed()"
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:281"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:297"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:296"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:281"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:297"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:296"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:286"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:294"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:293"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:287"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:290"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:289"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:247,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:247,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:256,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getClassName()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:256,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].nullSafeStr(java.lang.String)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:256,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].appenderMember(java.lang.StringBuilder,java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:259,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getMessage()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:259,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].jsonEscape(java.lang.String)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:261,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].isCyclic()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:267,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getStackTraceElementProxyArray()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:267,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getCommonFrames()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:267,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].appendSTEPArray(java.lang.StringBuilder,ch.qos.logback.classic.spi.StackTraceElementProxy[],int)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:271,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].appenderMemberWithIntValue(java.lang.StringBuilder,java.lang.String,int)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:274,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getCause()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:277,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].appendThrowableProxy(java.lang.StringBuilder,java.lang.String,ch.qos.logback.classic.spi.IThrowableProxy)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:280,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getSuppressed()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 19
    CyclomaticComplexity: 9
  - functionName: "[ch.qos.logback.classic.encoder.JsonEncoder].appendSTEPArray(java.lang.StringBuilder,ch.qos.logback.classic.spi.StackTraceElementProxy[],int)"
    functionSourceFile: "ch.qos.logback.classic.encoder.JsonEncoder"
    linkageType: null
    functionLinenumber: 301
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.StringBuilder"
    - "ch.qos.logback.classic.spi.StackTraceElementProxy[]"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.StackTraceElementProxy].getStackTraceElement()"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].appenderMember(java.lang.StringBuilder,java.lang.String,java.lang.String)"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].nullSafeStr(java.lang.String)"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].appenderMemberWithIntValue(java.lang.StringBuilder,java.lang.String,int)"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StackTraceElement].getClassName()"
    - "[java.lang.StackTraceElement].getMethodName()"
    - "[java.lang.StackTraceElement].getFileName()"
    - "[java.lang.StackTraceElement].getLineNumber()"
    functionUses: 1
    ICount: 42
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:304"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:302"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:301"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:306"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:310"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:309"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:310"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:333"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:332"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:311"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:null"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:302,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:302,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:317,1"
      Dst: "[ch.qos.logback.classic.spi.StackTraceElementProxy].getStackTraceElement()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:319,1"
      Dst: "[java.lang.StackTraceElement].getClassName()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:319,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].nullSafeStr(java.lang.String)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:319,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].appenderMember(java.lang.StringBuilder,java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:322,1"
      Dst: "[java.lang.StackTraceElement].getMethodName()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:325,1"
      Dst: "[java.lang.StackTraceElement].getFileName()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:328,1"
      Dst: "[java.lang.StackTraceElement].getLineNumber()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:328,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].appenderMemberWithIntValue(java.lang.StringBuilder,java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 11
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.classic.encoder.JsonEncoder].appenderMember(java.lang.StringBuilder,java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.encoder.JsonEncoder"
    linkageType: null
    functionLinenumber: 336
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.StringBuilder"
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 15
    ICount: 11
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:337,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:337,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.encoder.JsonEncoder].appenderMemberWithIntValue(java.lang.StringBuilder,java.lang.String,int)"
    functionSourceFile: "ch.qos.logback.classic.encoder.JsonEncoder"
    linkageType: null
    functionLinenumber: 340
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.StringBuilder"
    - "java.lang.String"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(int)"
    functionUses: 2
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:341,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:341,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:341,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.encoder.JsonEncoder].appenderMemberWithLongValue(java.lang.StringBuilder,java.lang.String,long)"
    functionSourceFile: "ch.qos.logback.classic.encoder.JsonEncoder"
    linkageType: null
    functionLinenumber: 344
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.StringBuilder"
    - "java.lang.String"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(long)"
    functionUses: 4
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:345,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:345,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:345,1"
      Dst: "[java.lang.StringBuilder].append(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.encoder.JsonEncoder].appendKeyValuePairs(java.lang.StringBuilder,ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.encoder.JsonEncoder"
    linkageType: null
    functionLinenumber: 348
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getKeyValuePairs()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getKeyValuePairs()"
    - "[ch.qos.logback.core.util.COWArrayList].isEmpty()"
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.util.COWArrayList].get(int)"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].appenderMember(java.lang.StringBuilder,java.lang.String,java.lang.String)"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].jsonEscapedToString(java.lang.Object)"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getKeyValuePairs()"
    - "[java.util.List].isEmpty()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    functionUses: 1
    ICount: 32
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:350"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:351"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:350"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:350"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:353"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:352"
        BranchSideFuncs:
        - "size()"
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:355"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:363"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:362"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:356"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:null"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:349,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getKeyValuePairs()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:350,1"
      Dst: "[java.util.List].isEmpty()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:353,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:353,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:354,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:358,1"
      Dst: "[java.util.List].get(int)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:360,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].jsonEscapedToString(java.lang.Object)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:360,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].appenderMember(java.lang.StringBuilder,java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.classic.encoder.JsonEncoder].appendArgumentArray(java.lang.StringBuilder,ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.encoder.JsonEncoder"
    linkageType: null
    functionLinenumber: 367
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].getArgumentArray()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getArgumentArray()"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].jsonEscapedToString(java.lang.Object)"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getArgumentArray()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 1
    ICount: 26
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:369"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:372"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:371"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:374"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:380"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:379"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:375"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:null"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:368,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getArgumentArray()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:372,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:372,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:377,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].jsonEscapedToString(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.encoder.JsonEncoder].appendMarkers(java.lang.StringBuilder,ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.encoder.JsonEncoder"
    linkageType: null
    functionLinenumber: 384
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getMarkerList()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getMarkerList()"
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.util.COWArrayList].get(int)"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].jsonEscapedToString(java.lang.Object)"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getMarkerList()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    functionUses: 1
    ICount: 26
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:386"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:389"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:388"
        BranchSideFuncs:
        - "size()"
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:391"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:397"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:396"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:392"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:null"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:385,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getMarkerList()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:389,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:389,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:390,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:394,1"
      Dst: "[java.util.List].get(int)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:394,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].jsonEscapedToString(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.encoder.JsonEncoder].jsonEscapedToString(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.encoder.JsonEncoder"
    linkageType: null
    functionLinenumber: 402
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.encoder.JsonEscapeUtil].jsonEscapeString(java.lang.String)"
    - "[ch.qos.logback.core.pattern.parser.Token].toString()"
    - "[ch.qos.logback.classic.spi.LoggerContextVO].toString()"
    - "[ch.qos.logback.classic.Logger].toString()"
    - "[ch.qos.logback.classic.model.LoggerModel].toString()"
    - "[ch.qos.logback.core.recovery.ResilientFileOutputStream].toString()"
    - "[ch.qos.logback.core.pattern.PatternLayoutBase].toString()"
    - "[ch.qos.logback.core.UnsynchronizedAppenderBase].toString()"
    - "[org.slf4j.event.Level].toString()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].toString()"
    - "[ch.qos.logback.core.joran.event.EndEvent].toString()"
    - "[ch.qos.logback.core.pattern.parser.CompositeNode].toString()"
    - "[ch.qos.logback.core.testUtil.TeeOutputStream].toString()"
    - "[ch.qos.logback.core.model.ComponentModel].toString()"
    - "[ch.qos.logback.core.rolling.helper.Compressor].toString()"
    - "[ch.qos.logback.core.pattern.FormatInfo].toString()"
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].toString()"
    - "[org.slf4j.helpers.BasicMarker].toString()"
    - "[ch.qos.logback.core.rolling.TimeBasedRollingPolicy].toString()"
    - "[org.slf4j.event.KeyValuePair].toString()"
    - "[ch.qos.logback.classic.net.SocketNode].toString()"
    - "[ch.qos.logback.core.pattern.parser.SimpleKeywordNode].toString()"
    - "[org.xml.sax.SAXException].toString()"
    - "[ch.qos.logback.core.joran.spi.ElementPath].toString()"
    - "[ch.qos.logback.core.joran.event.BodyEvent].toString()"
    - "[ch.qos.logback.core.net.server.ServerSocketListener].toString()"
    - "[ch.qos.logback.core.model.NamedComponentModel].toString()"
    - "[ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy].toString()"
    - "[ch.qos.logback.core.recovery.ResilientSyslogOutputStream].toString()"
    - "[ch.qos.logback.core.spi.ConfigurationEvent].toString()"
    - "[ch.qos.logback.core.model.conditional.IfModel].toString()"
    - "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].toString()"
    - "[ch.qos.logback.core.joran.action.Action].toString()"
    - "[ch.qos.logback.core.joran.util.ParentTag_Tag_Class_Tuple].toString()"
    - "[ch.qos.logback.core.rolling.helper.RenameUtil].toString()"
    - "[ch.qos.logback.classic.Level].toString()"
    - "[ch.qos.logback.core.spi.AbstractComponentTracker$Entry].toString()"
    - "[ch.qos.logback.core.joran.spi.SimpleRuleStore].toString()"
    - "[ch.qos.logback.classic.LoggerContext].toString()"
    - "[ch.qos.logback.classic.joran.ReconfigureOnChangeTask].toString()"
    - "[ch.qos.logback.core.ContextBase].toString()"
    - "[ch.qos.logback.classic.net.server.RemoteAppenderStreamClient].toString()"
    - "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].toString()"
    - "[ch.qos.logback.core.AppenderBase].toString()"
    - "[org.slf4j.helpers.MarkerIgnoringBase].toString()"
    - "[ch.qos.logback.core.joran.event.stax.EndEvent].toString()"
    - "[ch.qos.logback.core.pattern.CompositeConverter].toString()"
    - "[org.xml.sax.SAXParseException].toString()"
    - "[ch.qos.logback.core.joran.spi.ConsoleTarget].toString()"
    - "[ch.qos.logback.core.joran.event.stax.StartEvent].toString()"
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].toString()"
    - "[ch.qos.logback.core.subst.Node].toString()"
    - "[ch.qos.logback.core.model.Model].toString()"
    - "[ch.qos.logback.core.joran.event.stax.BodyEvent].toString()"
    - "[ch.qos.logback.core.subst.Token].toString()"
    - "[ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy].toString()"
    - "[ch.qos.logback.core.joran.event.StartEvent].toString()"
    - "[ch.qos.logback.core.util.FileSize].toString()"
    - "[ch.qos.logback.core.pattern.parser.Node].toString()"
    - "[ch.qos.logback.classic.joran.sanity.IfNestedWithinSecondPhaseElementSC].toString()"
    - "[ch.qos.logback.classic.spi.StackTraceElementProxy].toString()"
    - "[ch.qos.logback.core.status.StatusBase].toString()"
    - "[ch.qos.logback.core.util.Duration].toString()"
    - "[java.lang.Object].toString()"
    functionUses: 8
    ICount: 7
    EdgeCount: 63
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:403"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:405"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:404"
        BranchSideFuncs:
        - "jsonEscapeString(java.lang.String)"
        - "toString()"
    Callsites:
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:405,1"
      Dst: "[java.lang.Object].toString()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:405,1"
      Dst: "[ch.qos.logback.core.encoder.JsonEscapeUtil].jsonEscapeString(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.encoder.JsonEncoder].nullSafeStr(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.encoder.JsonEncoder"
    linkageType: null
    functionLinenumber: 408
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 5
    ICount: 5
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:409"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:411"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:410"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.encoder.JsonEncoder].jsonEscape(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.encoder.JsonEncoder"
    linkageType: null
    functionLinenumber: 414
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.encoder.JsonEscapeUtil].jsonEscapeString(java.lang.String)"
    functionUses: 5
    ICount: 6
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:415"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:417"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:416"
        BranchSideFuncs:
        - "jsonEscapeString(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:417,1"
      Dst: "[ch.qos.logback.core.encoder.JsonEscapeUtil].jsonEscapeString(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.encoder.JsonEncoder].appendMDC(java.lang.StringBuilder,ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.encoder.JsonEncoder"
    linkageType: null
    functionLinenumber: 420
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].getMDCPropertyMap()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getMDCPropertyMap()"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].isNotEmptyMap(java.util.Map)"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].appenderMember(java.lang.StringBuilder,java.lang.String,java.lang.String)"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].jsonEscapedToString(java.lang.Object)"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getMDCPropertyMap()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.util.Map].entrySet()"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.Map$Entry].getKey()"
    - "[java.util.Map$Entry].getValue()"
    functionUses: 1
    ICount: 30
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:424"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:435"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:434"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:427"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:435"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:434"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:428"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:430"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:429"
        BranchSideFuncs:
        - "jsonEscapedToString(java.lang.Object)"
        - "appenderMember(java.lang.StringBuilder,java.lang.String,java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:421,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getMDCPropertyMap()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:423,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:423,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:424,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].isNotEmptyMap(java.util.Map)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:425,1"
      Dst: "[java.util.Map].entrySet()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:427,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:427,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:427,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:430,1"
      Dst: "[java.util.Map$Entry].getKey()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:430,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].jsonEscapedToString(java.lang.Object)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:430,1"
      Dst: "[java.util.Map$Entry].getValue()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:430,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].appenderMember(java.lang.StringBuilder,java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.classic.encoder.JsonEncoder].isNotEmptyMap(java.util.Map)"
    functionSourceFile: "ch.qos.logback.classic.encoder.JsonEncoder"
    linkageType: null
    functionLinenumber: 440
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.util.Map"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map].isEmpty()"
    functionUses: 1
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:441"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:443"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:442"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:443"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:442"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:443,1"
      Dst: "[java.util.Map].isEmpty()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.encoder.JsonEncoder].footerBytes()"
    functionSourceFile: "ch.qos.logback.classic.encoder.JsonEncoder"
    linkageType: null
    functionLinenumber: 447
    functionDepth: 0
    returnType: "byte[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.encoder.JsonEncoder].setWithSequenceNumber(boolean)"
    functionSourceFile: "ch.qos.logback.classic.encoder.JsonEncoder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.encoder.JsonEncoder].setWithTimestamp(boolean)"
    functionSourceFile: "ch.qos.logback.classic.encoder.JsonEncoder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.encoder.JsonEncoder].setWithNanoseconds(boolean)"
    functionSourceFile: "ch.qos.logback.classic.encoder.JsonEncoder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.encoder.JsonEncoder].setWithLevel(boolean)"
    functionSourceFile: "ch.qos.logback.classic.encoder.JsonEncoder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.encoder.JsonEncoder].setWithThreadName(boolean)"
    functionSourceFile: "ch.qos.logback.classic.encoder.JsonEncoder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.encoder.JsonEncoder].setWithLoggerName(boolean)"
    functionSourceFile: "ch.qos.logback.classic.encoder.JsonEncoder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.encoder.JsonEncoder].setWithContext(boolean)"
    functionSourceFile: "ch.qos.logback.classic.encoder.JsonEncoder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.encoder.JsonEncoder].setWithMarkers(boolean)"
    functionSourceFile: "ch.qos.logback.classic.encoder.JsonEncoder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.encoder.JsonEncoder].setWithMDC(boolean)"
    functionSourceFile: "ch.qos.logback.classic.encoder.JsonEncoder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.encoder.JsonEncoder].setWithKVPList(boolean)"
    functionSourceFile: "ch.qos.logback.classic.encoder.JsonEncoder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.encoder.JsonEncoder].setWithMessage(boolean)"
    functionSourceFile: "ch.qos.logback.classic.encoder.JsonEncoder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.encoder.JsonEncoder].setWithArguments(boolean)"
    functionSourceFile: "ch.qos.logback.classic.encoder.JsonEncoder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.encoder.JsonEncoder].setWithThrowable(boolean)"
    functionSourceFile: "ch.qos.logback.classic.encoder.JsonEncoder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.encoder.JsonEncoder].setWithFormattedMessage(boolean)"
    functionSourceFile: "ch.qos.logback.classic.encoder.JsonEncoder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.encoder.JsonEncoder].encode(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.encoder.JsonEncoder"
    linkageType: null
    functionLinenumber: 41
    functionDepth: 6
    returnType: "byte[]"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.encoder.JsonEncoder].encode(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:42,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].encode(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.encoder.JsonEncoder].encode(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.encoder.JsonEncoder"
    linkageType: null
    functionLinenumber: 131
    functionDepth: 5
    returnType: "byte[]"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getThrowableProxy()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getThrowableProxy()"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].appenderMemberWithLongValue(java.lang.StringBuilder,java.lang.String,long)"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getSequenceNumber()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getSequenceNumber()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getTimeStamp()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getTimeStamp()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getNanoseconds()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getNanoseconds()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getLevel()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getLevel()"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].appenderMember(java.lang.StringBuilder,java.lang.String,java.lang.String)"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getThreadName()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getThreadName()"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].jsonEscape(java.lang.String)"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getLoggerName()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getLoggerName()"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].appendLoggerContext(java.lang.StringBuilder,ch.qos.logback.classic.spi.LoggerContextVO)"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getLoggerContextVO()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getLoggerContextVO()"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].appendMarkers(java.lang.StringBuilder,ch.qos.logback.classic.spi.ILoggingEvent)"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].appendMDC(java.lang.StringBuilder,ch.qos.logback.classic.spi.ILoggingEvent)"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].appendKeyValuePairs(java.lang.StringBuilder,ch.qos.logback.classic.spi.ILoggingEvent)"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getMessage()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getMessage()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getFormattedMessage()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getFormattedMessage()"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].appendArgumentArray(java.lang.StringBuilder,ch.qos.logback.classic.spi.ILoggingEvent)"
    - "[ch.qos.logback.classic.encoder.JsonEncoder].appendThrowableProxy(java.lang.StringBuilder,java.lang.String,ch.qos.logback.classic.spi.IThrowableProxy)"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getThrowableProxy()"
    - "[java.lang.StringBuilder].<init>(int)"
    - "[java.lang.StringBuilder].append(char)"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getSequenceNumber()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getTimeStamp()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getNanoseconds()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getThreadName()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerName()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerContextVO()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getMessage()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getFormattedMessage()"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.String].getBytes(java.nio.charset.Charset)"
    functionUses: 1
    ICount: 86
    EdgeCount: 41
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:132"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:132"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:131"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:136"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:141"
        BranchSideFuncs:
        - "getSequenceNumber()"
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:140"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:141"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:146"
        BranchSideFuncs:
        - "getTimeStamp()"
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:145"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:146"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:151"
        BranchSideFuncs:
        - "getNanoseconds()"
        - "appenderMemberWithLongValue(java.lang.StringBuilder,java.lang.String,long)"
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:150"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:151"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:157"
        BranchSideFuncs:
        - "getLevel()"
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:156"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:152"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:152"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:151"
        BranchSideFuncs:
        - "getLevel()"
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:157"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:162"
        BranchSideFuncs:
        - "getThreadName()"
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:161"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:162"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:167"
        BranchSideFuncs:
        - "getLoggerName()"
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:166"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:167"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:171"
        BranchSideFuncs:
        - "getLoggerContextVO()"
        - "appendLoggerContext(java.lang.StringBuilder,ch.qos.logback.classic.spi.LoggerContextVO)"
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:170"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:171"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:174"
        BranchSideFuncs:
        - "appendMarkers(java.lang.StringBuilder,ch.qos.logback.classic.spi.ILoggingEvent)"
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:173"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:174"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:177"
        BranchSideFuncs:
        - "appendMDC(java.lang.StringBuilder,ch.qos.logback.classic.spi.ILoggingEvent)"
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:176"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:177"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:180"
        BranchSideFuncs:
        - "appendKeyValuePairs(java.lang.StringBuilder,ch.qos.logback.classic.spi.ILoggingEvent)"
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:179"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:180"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:185"
        BranchSideFuncs:
        - "getMessage()"
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:184"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:185"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:190"
        BranchSideFuncs:
        - "jsonEscape(java.lang.String)"
        - "appenderMember(java.lang.StringBuilder,java.lang.String,java.lang.String)"
        - "getFormattedMessage()"
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:189"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:190"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:193"
        BranchSideFuncs:
        - "appendArgumentArray(java.lang.StringBuilder,ch.qos.logback.classic.spi.ILoggingEvent)"
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:192"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.encoder.JsonEncoder:193"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:196"
        BranchSideFuncs:
        - "getThrowableProxy()"
        - "appendThrowableProxy(java.lang.StringBuilder,java.lang.String,ch.qos.logback.classic.spi.IThrowableProxy)"
      - BranchSide: "ch.qos.logback.classic.encoder.JsonEncoder:195"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:132,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getThrowableProxy()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:133,1"
      Dst: "[java.lang.StringBuilder].<init>(int)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:134,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:137,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getSequenceNumber()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:137,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].appenderMemberWithLongValue(java.lang.StringBuilder,java.lang.String,long)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:142,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getTimeStamp()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:147,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getNanoseconds()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:152,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:153,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].appenderMember(java.lang.StringBuilder,java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:158,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getThreadName()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:158,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].jsonEscape(java.lang.String)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:163,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerName()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:168,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerContextVO()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:168,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].appendLoggerContext(java.lang.StringBuilder,ch.qos.logback.classic.spi.LoggerContextVO)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:172,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].appendMarkers(java.lang.StringBuilder,ch.qos.logback.classic.spi.ILoggingEvent)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:175,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].appendMDC(java.lang.StringBuilder,ch.qos.logback.classic.spi.ILoggingEvent)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:178,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].appendKeyValuePairs(java.lang.StringBuilder,ch.qos.logback.classic.spi.ILoggingEvent)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:181,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getMessage()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:186,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getFormattedMessage()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:191,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].appendArgumentArray(java.lang.StringBuilder,ch.qos.logback.classic.spi.ILoggingEvent)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:194,1"
      Dst: "[ch.qos.logback.classic.encoder.JsonEncoder].appendThrowableProxy(java.lang.StringBuilder,java.lang.String,ch.qos.logback.classic.spi.IThrowableProxy)"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:198,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "ch.qos.logback.classic.encoder.JsonEncoder:198,1"
      Dst: "[java.lang.String].getBytes(java.nio.charset.Charset)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 35
    CyclomaticComplexity: 17
  - functionName: "[ch.qos.logback.classic.pattern.SequenceNumberConverter].<init>()"
    functionSourceFile: "ch.qos.logback.classic.pattern.SequenceNumberConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.ClassicConverter].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.SequenceNumberConverter:25,1"
      Dst: "[ch.qos.logback.classic.pattern.ClassicConverter].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.SequenceNumberConverter].start()"
    functionSourceFile: "ch.qos.logback.classic.pattern.SequenceNumberConverter"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.DynamicConverter].getContext()"
    - "[ch.qos.logback.classic.LoggerContext].getSequenceNumberGenerator()"
    - "[ch.qos.logback.core.pattern.DynamicConverter].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].start()"
    - "[ch.qos.logback.core.Context].getSequenceNumberGenerator()"
    functionUses: 6
    ICount: 10
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.SequenceNumberConverter:29"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.SequenceNumberConverter:33"
        BranchSideFuncs:
        - "getContext()"
        - "getSequenceNumberGenerator()"
    - Branch String: "ch.qos.logback.classic.pattern.SequenceNumberConverter:34"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.SequenceNumberConverter:37"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.pattern.SequenceNumberConverter:36"
        BranchSideFuncs:
        - "start()"
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.SequenceNumberConverter:29,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].getContext()"
    - Src: "ch.qos.logback.classic.pattern.SequenceNumberConverter:34,1"
      Dst: "[ch.qos.logback.core.Context].getSequenceNumberGenerator()"
    - Src: "ch.qos.logback.classic.pattern.SequenceNumberConverter:35,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.SequenceNumberConverter:37,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.pattern.SequenceNumberConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.pattern.SequenceNumberConverter"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getSequenceNumber()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getSequenceNumber()"
    - "[java.lang.Long].toString(long)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.SequenceNumberConverter:43,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getSequenceNumber()"
    - Src: "ch.qos.logback.classic.pattern.SequenceNumberConverter:43,1"
      Dst: "[java.lang.Long].toString(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.SequenceNumberConverter].convert(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.pattern.SequenceNumberConverter"
    linkageType: null
    functionLinenumber: 24
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.SequenceNumberConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 11
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.SequenceNumberConverter:25,1"
      Dst: "[ch.qos.logback.classic.pattern.SequenceNumberConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.SequenceNumberConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.pattern.SequenceNumberConverter"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getSequenceNumber()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getSequenceNumber()"
    - "[java.lang.Long].toString(long)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.SequenceNumberConverter:43,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getSequenceNumber()"
    - Src: "ch.qos.logback.classic.pattern.SequenceNumberConverter:43,1"
      Dst: "[java.lang.Long].toString(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.NamedModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.NamedModel"
    linkageType: null
    functionLinenumber: 17
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 5
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.NamedModel:18,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.NamedModel].makeNewInstance()"
    functionSourceFile: "ch.qos.logback.core.model.NamedModel"
    linkageType: null
    functionLinenumber: 25
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.NamedModel"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.NamedModel].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.NamedModel:26,1"
      Dst: "[ch.qos.logback.core.model.NamedModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.NamedModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.NamedModel"
    linkageType: null
    functionLinenumber: 17
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 5
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.NamedModel:18,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.NamedModel].mirror(ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.NamedModel"
    linkageType: null
    functionLinenumber: 30
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].mirror(ch.qos.logback.core.model.Model)"
    functionUses: 4
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.NamedModel:32,1"
      Dst: "[ch.qos.logback.core.model.Model].mirror(ch.qos.logback.core.model.Model)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.NamedModel].getName()"
    functionSourceFile: "ch.qos.logback.core.model.NamedModel"
    linkageType: null
    functionLinenumber: 36
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 6
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.NamedModel].setName(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.NamedModel"
    linkageType: null
    functionLinenumber: 40
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.NamedModel].hashCode()"
    functionSourceFile: "ch.qos.logback.core.model.NamedModel"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 1
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].hashCode()"
    - "[java.util.Objects].hash(java.lang.Object[])"
    functionUses: 8
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.NamedModel:47,1"
      Dst: "[ch.qos.logback.core.model.Model].hashCode()"
    - Src: "ch.qos.logback.core.model.NamedModel:48,1"
      Dst: "[java.util.Objects].hash(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.NamedModel].equals(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.model.NamedModel"
    linkageType: null
    functionLinenumber: 53
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].equals(java.lang.Object)"
    - "[java.lang.Object].getClass()"
    - "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    functionUses: 9
    ICount: 16
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.NamedModel:54"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.NamedModel:56"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.NamedModel:55"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "ch.qos.logback.core.model.NamedModel:56"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.NamedModel:58"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.NamedModel:57"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.NamedModel:58"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.NamedModel:60"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.NamedModel:59"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.NamedModel:56,1"
      Dst: "[ch.qos.logback.core.model.Model].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.model.NamedModel:58,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.model.NamedModel:61,1"
      Dst: "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ProcessorException].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ProcessorException"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Exception].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ProcessorException:6,1"
      Dst: "[java.lang.Exception].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ProcessorException].<init>(java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ProcessorException"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Exception].<init>(java.lang.Throwable)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ProcessorException:10,1"
      Dst: "[java.lang.Exception].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLoggerFactory].<init>()"
    functionSourceFile: "org.slf4j.helpers.NOPLoggerFactory"
    linkageType: null
    functionLinenumber: 38
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.NOPLoggerFactory:39,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.NOPLoggerFactory].getLogger(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.NOPLoggerFactory"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 0
    returnType: "org.slf4j.Logger"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__34].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__34"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__34].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__34:-1,1"
      Dst: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__34].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__34].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__34"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__34:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__34].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__34"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__34:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__34].get()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__34"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.PropertyAction].<init>()"
    functionUses: 3
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__34:-1,1"
      Dst: "[ch.qos.logback.core.joran.action.PropertyAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PropertyAction].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.action.PropertyAction"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 3
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.PropertyAction:28,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.NamedConverter$CacheMissCalculator].<init>(ch.qos.logback.classic.pattern.NamedConverter)"
    functionSourceFile: "ch.qos.logback.classic.pattern.NamedConverter$CacheMissCalculator"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.pattern.NamedConverter"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.NamedConverter$CacheMissCalculator:211,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.NamedConverter$CacheMissCalculator].updateMilestones()"
    functionSourceFile: "ch.qos.logback.classic.pattern.NamedConverter$CacheMissCalculator"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.NamedConverter$CacheMissCalculator].getCacheMissRate()"
    functionSourceFile: "ch.qos.logback.classic.pattern.NamedConverter$CacheMissCalculator"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "double"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.NamedConverter$CacheMissCalculator:225"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.NamedConverter$CacheMissCalculator:230"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.conditional.IfAction].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.conditional.IfAction"
    linkageType: null
    functionLinenumber: 24
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.conditional.IfAction:25,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.conditional.IfAction].validPreconditions(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.conditional.IfAction"
    linkageType: null
    functionLinenumber: 30
    functionDepth: 3
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].<init>(ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].generic(java.lang.String)"
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].isValid()"
    functionUses: 1
    ICount: 9
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.conditional.IfAction:31,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].<init>(ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    - Src: "ch.qos.logback.core.joran.conditional.IfAction:32,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].generic(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.conditional.IfAction:33,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].isValid()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].<init>(ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 1
    returnType: "void"
    argCount: 4
    argTypes:
    - "ch.qos.logback.core.spi.ContextAware"
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>(ch.qos.logback.core.spi.ContextAware)"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].getContext()"
    - "[ch.qos.logback.core.pattern.DynamicConverter].getContext()"
    - "[ch.qos.logback.core.LayoutBase:ch.qos.logback.core.spi.ContextAwareBase:ch.qos.logback.core.spi.ContextAwareImpl].getContext()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAware].getContext()"
    functionUses: 16
    ICount: 13
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:33,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>(ch.qos.logback.core.spi.ContextAware)"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:34,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].getContext()"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:34,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].generic(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 69
    functionDepth: 2
    returnType: "ch.qos.logback.core.joran.action.PreconditionValidator"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.xml.sax.helpers.AttributesImpl].getValue(java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.joran.action.Action].getLineNumber(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext)"
    - "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,int)"
    functionUses: 7
    ICount: 13
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.action.PreconditionValidator:71"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.action.PreconditionValidator:75"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:70,1"
      Dst: "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:71,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:73,1"
      Dst: "[ch.qos.logback.core.joran.action.Action].getLineNumber(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext)"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:73,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String,int)"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:72,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].isValid()"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 79
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 16
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.conditional.IfAction].buildCurrentModel(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.conditional.IfAction"
    linkageType: null
    functionLinenumber: 38
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.Model"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.conditional.IfModel].<init>()"
    - "[org.xml.sax.helpers.AttributesImpl].getValue(java.lang.String)"
    - "[ch.qos.logback.core.model.conditional.IfModel].setCondition(java.lang.String)"
    - "[org.xml.sax.Attributes].getValue(java.lang.String)"
    functionUses: 1
    ICount: 9
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.conditional.IfAction:39,1"
      Dst: "[ch.qos.logback.core.model.conditional.IfModel].<init>()"
    - Src: "ch.qos.logback.core.joran.conditional.IfAction:41,1"
      Dst: "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.conditional.IfAction:42,1"
      Dst: "[ch.qos.logback.core.model.conditional.IfModel].setCondition(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.conditional.IfModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.conditional.IfModel"
    linkageType: null
    functionLinenumber: 19
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.conditional.IfModel:20,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.conditional.IfModel].setCondition(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.conditional.IfModel"
    linkageType: null
    functionLinenumber: 46
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.Compressor].<init>(ch.qos.logback.core.rolling.helper.CompressionMode)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.Compressor"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.rolling.helper.CompressionMode"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:44,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.Compressor].compress(java.lang.String,java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.Compressor"
    linkageType: null
    functionLinenumber: 54
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.Compressor].gzCompress(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.rolling.helper.Compressor].zipCompress(java.lang.String,java.lang.String,java.lang.String)"
    - "[java.lang.Enum].ordinal()"
    - "[java.lang.UnsupportedOperationException].<init>(java.lang.String)"
    functionUses: 3
    ICount: 17
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:55,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:57,1"
      Dst: "[ch.qos.logback.core.rolling.helper.Compressor].gzCompress(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:60,1"
      Dst: "[ch.qos.logback.core.rolling.helper.Compressor].zipCompress(java.lang.String,java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:63,1"
      Dst: "[java.lang.UnsupportedOperationException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.rolling.helper.Compressor].zipCompress(java.lang.String,java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.Compressor"
    linkageType: null
    functionLinenumber: 67
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.rolling.helper.Compressor].createMissingTargetDirsIfNecessary(java.io.File)"
    - "[ch.qos.logback.core.rolling.helper.Compressor].computeZipEntry(java.lang.String)"
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[java.io.File].<init>(java.lang.String)"
    - "[java.io.File].exists()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.lang.String].endsWith(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File,java.io.File)"
    - "[java.io.FileInputStream].<init>(java.lang.String)"
    - "[java.io.BufferedInputStream].<init>(java.io.InputStream)"
    - "[java.io.FileOutputStream].<init>(java.lang.String)"
    - "[java.util.zip.ZipOutputStream].<init>(java.io.OutputStream)"
    - "[java.util.zip.ZipOutputStream].putNextEntry(java.util.zip.ZipEntry)"
    - "[java.io.FilterInputStream].read(byte[])"
    - "[java.util.zip.ZipOutputStream].write(byte[],int,int)"
    - "[java.util.zip.ZipOutputStream].close()"
    - "[java.lang.Throwable].addSuppressed(java.lang.Throwable)"
    - "[java.io.BufferedInputStream].close()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - "[java.io.File].delete()"
    functionUses: 1
    ICount: 80
    EdgeCount: 14
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.Compressor:70"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:76"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:75"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.Compressor:76"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:81"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:80"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.Compressor:81"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:85"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:84"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.Compressor:87"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:94"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:93"
        BranchSideFuncs:
        - "createMissingTargetDirsIfNecessary(java.io.File)"
        - "computeZipEntry(java.lang.String)"
    - Branch String: "ch.qos.logback.core.rolling.helper.Compressor:106"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:110"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:109"
        BranchSideFuncs:
        - "addInfo(java.lang.String)"
    - Branch String: "ch.qos.logback.core.rolling.helper.Compressor:116"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:119"
        BranchSideFuncs:
        - "<init>(java.lang.String,java.lang.Object)"
        - "addStatus(ch.qos.logback.core.status.Status)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:118"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:68,1"
      Dst: "[java.io.File].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:70,1"
      Dst: "[java.io.File].exists()"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:71,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:71,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:71,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:81,1"
      Dst: "[java.lang.String].endsWith(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:94,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File,java.io.File)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:94,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:95,1"
      Dst: "[ch.qos.logback.core.rolling.helper.Compressor].createMissingTargetDirsIfNecessary(java.io.File)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:97,1"
      Dst: "[java.io.FileInputStream].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:97,1"
      Dst: "[java.io.BufferedInputStream].<init>(java.io.InputStream)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:98,1"
      Dst: "[java.io.FileOutputStream].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:98,1"
      Dst: "[java.util.zip.ZipOutputStream].<init>(java.io.OutputStream)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:100,1"
      Dst: "[ch.qos.logback.core.rolling.helper.Compressor].computeZipEntry(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:101,1"
      Dst: "[java.util.zip.ZipOutputStream].putNextEntry(java.util.zip.ZipEntry)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:106,1"
      Dst: "[java.io.FilterInputStream].read(byte[])"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:107,1"
      Dst: "[java.util.zip.ZipOutputStream].write(byte[],int,int)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:111,1"
      Dst: "[java.util.zip.ZipOutputStream].close()"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:97,1"
      Dst: "[java.lang.Throwable].addSuppressed(java.lang.Throwable)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:111,1"
      Dst: "[java.io.BufferedInputStream].close()"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:112,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:112,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:116,1"
      Dst: "[java.io.File].delete()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 24
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.rolling.helper.Compressor].computeZipEntry(java.io.File)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.Compressor"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "java.util.zip.ZipEntry"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.File].getName()"
    - "[ch.qos.logback.core.rolling.helper.Compressor].computeZipEntry(java.lang.String)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:137,1"
      Dst: "[java.io.File].getName()"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:137,1"
      Dst: "[ch.qos.logback.core.rolling.helper.Compressor].computeZipEntry(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.Compressor].computeZipEntry(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.Compressor"
    linkageType: null
    functionLinenumber: 140
    functionDepth: 1
    returnType: "java.util.zip.ZipEntry"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.Compressor].computeFileNameStrWithoutCompSuffix(java.lang.String,ch.qos.logback.core.rolling.helper.CompressionMode)"
    - "[java.util.zip.ZipEntry].<init>(java.lang.String)"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:141,1"
      Dst: "[ch.qos.logback.core.rolling.helper.Compressor].computeFileNameStrWithoutCompSuffix(java.lang.String,ch.qos.logback.core.rolling.helper.CompressionMode)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:142,1"
      Dst: "[java.util.zip.ZipEntry].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.Compressor].computeZipEntry(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.Compressor"
    linkageType: null
    functionLinenumber: 140
    functionDepth: 1
    returnType: "java.util.zip.ZipEntry"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.Compressor].computeFileNameStrWithoutCompSuffix(java.lang.String,ch.qos.logback.core.rolling.helper.CompressionMode)"
    - "[java.util.zip.ZipEntry].<init>(java.lang.String)"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:141,1"
      Dst: "[ch.qos.logback.core.rolling.helper.Compressor].computeFileNameStrWithoutCompSuffix(java.lang.String,ch.qos.logback.core.rolling.helper.CompressionMode)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:142,1"
      Dst: "[java.util.zip.ZipEntry].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.Compressor].gzCompress(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.Compressor"
    linkageType: null
    functionLinenumber: 145
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.rolling.helper.Compressor].createMissingTargetDirsIfNecessary(java.io.File)"
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[java.io.File].<init>(java.lang.String)"
    - "[java.io.File].exists()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.lang.String].endsWith(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File,java.io.File)"
    - "[java.io.FileInputStream].<init>(java.lang.String)"
    - "[java.io.BufferedInputStream].<init>(java.io.InputStream)"
    - "[java.io.FileOutputStream].<init>(java.lang.String)"
    - "[java.util.zip.GZIPOutputStream].<init>(java.io.OutputStream)"
    - "[java.io.FilterInputStream].read(byte[])"
    - "[java.util.zip.GZIPOutputStream].write(byte[],int,int)"
    - "[java.util.zip.DeflaterOutputStream].close()"
    - "[java.lang.Throwable].addSuppressed(java.lang.Throwable)"
    - "[java.io.BufferedInputStream].close()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - "[java.io.File].delete()"
    functionUses: 1
    ICount: 70
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.Compressor:148"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:154"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:153"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.Compressor:154"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:158"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:157"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.Compressor:160"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:166"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:165"
        BranchSideFuncs:
        - "createMissingTargetDirsIfNecessary(java.io.File)"
    - Branch String: "ch.qos.logback.core.rolling.helper.Compressor:175"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:179"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:178"
        BranchSideFuncs:
        - "addInfo(java.lang.String)"
    - Branch String: "ch.qos.logback.core.rolling.helper.Compressor:186"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:190"
        BranchSideFuncs:
        - "<init>(java.lang.String,java.lang.Object)"
        - "addStatus(ch.qos.logback.core.status.Status)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:189"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:146,1"
      Dst: "[java.io.File].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:148,1"
      Dst: "[java.io.File].exists()"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:149,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:149,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:149,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:154,1"
      Dst: "[java.lang.String].endsWith(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:161,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:166,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File,java.io.File)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:166,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:167,1"
      Dst: "[ch.qos.logback.core.rolling.helper.Compressor].createMissingTargetDirsIfNecessary(java.io.File)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:169,1"
      Dst: "[java.io.FileInputStream].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:169,1"
      Dst: "[java.io.BufferedInputStream].<init>(java.io.InputStream)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:170,1"
      Dst: "[java.io.FileOutputStream].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:170,1"
      Dst: "[java.util.zip.GZIPOutputStream].<init>(java.io.OutputStream)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:175,1"
      Dst: "[java.io.FilterInputStream].read(byte[])"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:176,1"
      Dst: "[java.util.zip.GZIPOutputStream].write(byte[],int,int)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:180,1"
      Dst: "[java.util.zip.DeflaterOutputStream].close()"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:169,1"
      Dst: "[java.lang.Throwable].addSuppressed(java.lang.Throwable)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:180,1"
      Dst: "[java.io.BufferedInputStream].close()"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:181,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:181,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:186,1"
      Dst: "[java.io.File].delete()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 22
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.rolling.helper.Compressor].computeFileNameStrWithoutCompSuffix(java.lang.String,ch.qos.logback.core.rolling.helper.CompressionMode)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.Compressor"
    linkageType: null
    functionLinenumber: 193
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "ch.qos.logback.core.rolling.helper.CompressionMode"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].length()"
    - "[java.lang.Enum].ordinal()"
    - "[java.lang.String].endsWith(java.lang.String)"
    - "[java.lang.String].substring(int,int)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 2
    ICount: 23
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.Compressor:197"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:200"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:199"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.Compressor:202"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:205"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:204"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:194,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:195,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:197,1"
      Dst: "[java.lang.String].endsWith(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:198,1"
      Dst: "[java.lang.String].substring(int,int)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:209,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.Compressor].createMissingTargetDirsIfNecessary(java.io.File)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.Compressor"
    linkageType: null
    functionLinenumber: 212
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.FileUtil].createMissingParentDirectories(java.io.File)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[java.io.File].getAbsolutePath()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 2
    ICount: 8
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.Compressor:214"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:217"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.Compressor:216"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:213,1"
      Dst: "[ch.qos.logback.core.util.FileUtil].createMissingParentDirectories(java.io.File)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:215,1"
      Dst: "[java.io.File].getAbsolutePath()"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:215,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:215,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.rolling.helper.Compressor].toString()"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.Compressor"
    linkageType: null
    functionLinenumber: 220
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getName()"
    functionUses: 3
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:221,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:221,1"
      Dst: "[java.lang.Class].getName()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.Compressor].asyncCompress(java.lang.String,java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.Compressor"
    linkageType: null
    functionLinenumber: 225
    functionDepth: 1
    returnType: "java.util.concurrent.Future"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.Compressor$CompressionRunnable].<init>(ch.qos.logback.core.rolling.helper.Compressor,java.lang.String,java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.ContextBase].getExecutorService()"
    - "[ch.qos.logback.core.Context].getExecutorService()"
    - "[java.util.concurrent.ExecutorService].submit(java.lang.Runnable)"
    functionUses: 2
    ICount: 10
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:226,1"
      Dst: "[ch.qos.logback.core.rolling.helper.Compressor$CompressionRunnable].<init>(ch.qos.logback.core.rolling.helper.Compressor,java.lang.String,java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:228,1"
      Dst: "[ch.qos.logback.core.Context].getExecutorService()"
    - Src: "ch.qos.logback.core.rolling.helper.Compressor:229,1"
      Dst: "[java.util.concurrent.ExecutorService].submit(java.lang.Runnable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.log4j.XMLLayout].<init>()"
    functionSourceFile: "ch.qos.logback.classic.log4j.XMLLayout"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.LayoutBase].<init>()"
    - "[java.lang.StringBuilder].<init>(int)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:38,1"
      Dst: "[ch.qos.logback.core.LayoutBase].<init>()"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:43,1"
      Dst: "[java.lang.StringBuilder].<init>(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.log4j.XMLLayout].start()"
    functionSourceFile: "ch.qos.logback.classic.log4j.XMLLayout"
    linkageType: null
    functionLinenumber: 48
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.LayoutBase].start()"
    functionUses: 5
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:49,1"
      Dst: "[ch.qos.logback.core.LayoutBase].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.log4j.XMLLayout].setLocationInfo(boolean)"
    functionSourceFile: "ch.qos.logback.classic.log4j.XMLLayout"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.log4j.XMLLayout].getLocationInfo()"
    functionSourceFile: "ch.qos.logback.classic.log4j.XMLLayout"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.log4j.XMLLayout].setProperties(boolean)"
    functionSourceFile: "ch.qos.logback.classic.log4j.XMLLayout"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.log4j.XMLLayout].getProperties()"
    functionSourceFile: "ch.qos.logback.classic.log4j.XMLLayout"
    linkageType: null
    functionLinenumber: 90
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.log4j.XMLLayout].doLayout(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.log4j.XMLLayout"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.helpers.Transform].escapeTags(java.lang.String)"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getLoggerName()"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getTimeStamp()"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getLevel()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getThreadName()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getFormattedMessage()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getFormattedMessage()"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getThrowableProxy()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].getStackTraceElementProxyArray()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].getStackTraceElementProxyArray()"
    - "[ch.qos.logback.classic.spi.StackTraceElementProxy].toString()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getCallerData()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getCallerData()"
    - "[ch.qos.logback.classic.log4j.XMLLayout].getProperties()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getMDCPropertyMap()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getMDCPropertyMap()"
    - "[java.lang.StringBuilder].capacity()"
    - "[java.lang.StringBuilder].<init>(int)"
    - "[java.lang.StringBuilder].setLength(int)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerName()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getTimeStamp()"
    - "[java.lang.StringBuilder].append(long)"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getThreadName()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getFormattedMessage()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getThrowableProxy()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getStackTraceElementProxyArray()"
    - "[java.lang.StringBuilder].append(char)"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getCallerData()"
    - "[java.lang.StackTraceElement].getClassName()"
    - "[java.lang.StackTraceElement].getMethodName()"
    - "[java.lang.StackTraceElement].getFileName()"
    - "[java.lang.StackTraceElement].getLineNumber()"
    - "[java.lang.StringBuilder].append(int)"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getMDCPropertyMap()"
    - "[java.util.Map].size()"
    - "[java.util.Map].entrySet()"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.Map$Entry].getKey()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.util.Map$Entry].getValue()"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 136
    EdgeCount: 22
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.log4j.XMLLayout:101"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.log4j.XMLLayout:104"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.log4j.XMLLayout:103"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.log4j.XMLLayout:128"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.log4j.XMLLayout:139"
        BranchSideFuncs:
        - "getStackTraceElementProxyArray()"
      - BranchSide: "ch.qos.logback.classic.log4j.XMLLayout:138"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.log4j.XMLLayout:131"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.log4j.XMLLayout:135"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.log4j.XMLLayout:139"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.log4j.XMLLayout:160"
        BranchSideFuncs:
        - "getCallerData()"
      - BranchSide: "ch.qos.logback.classic.log4j.XMLLayout:159"
        BranchSideFuncs:
        - "getProperties()"
    - Branch String: "ch.qos.logback.classic.log4j.XMLLayout:141"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.log4j.XMLLayout:160"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.log4j.XMLLayout:159"
        BranchSideFuncs:
        - "getProperties()"
    - Branch String: "ch.qos.logback.classic.log4j.XMLLayout:141"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.log4j.XMLLayout:160"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.log4j.XMLLayout:159"
        BranchSideFuncs:
        - "getProperties()"
    - Branch String: "ch.qos.logback.classic.log4j.XMLLayout:160"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.log4j.XMLLayout:176"
        BranchSideFuncs:
        - "getMDCPropertyMap()"
      - BranchSide: "ch.qos.logback.classic.log4j.XMLLayout:175"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.log4j.XMLLayout:163"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.log4j.XMLLayout:176"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.log4j.XMLLayout:175"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.log4j.XMLLayout:163"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.log4j.XMLLayout:176"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.log4j.XMLLayout:175"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.log4j.XMLLayout:166"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.log4j.XMLLayout:172"
        BranchSideFuncs:
        - "escapeTags(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.log4j.XMLLayout:171"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:101,1"
      Dst: "[java.lang.StringBuilder].capacity()"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:102,1"
      Dst: "[java.lang.StringBuilder].<init>(int)"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:104,1"
      Dst: "[java.lang.StringBuilder].setLength(int)"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:109,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:110,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerName()"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:110,1"
      Dst: "[ch.qos.logback.core.helpers.Transform].escapeTags(java.lang.String)"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:113,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getTimeStamp()"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:113,1"
      Dst: "[java.lang.StringBuilder].append(long)"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:115,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:115,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:117,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getThreadName()"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:121,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getFormattedMessage()"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:127,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getThrowableProxy()"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:129,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getStackTraceElementProxyArray()"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:132,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:133,1"
      Dst: "[ch.qos.logback.classic.spi.StackTraceElementProxy].toString()"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:140,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getCallerData()"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:144,1"
      Dst: "[java.lang.StackTraceElement].getClassName()"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:147,1"
      Dst: "[java.lang.StackTraceElement].getMethodName()"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:149,1"
      Dst: "[java.lang.StackTraceElement].getFileName()"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:151,1"
      Dst: "[java.lang.StackTraceElement].getLineNumber()"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:151,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:160,1"
      Dst: "[ch.qos.logback.classic.log4j.XMLLayout].getProperties()"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:161,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getMDCPropertyMap()"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:163,1"
      Dst: "[java.util.Map].size()"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:164,1"
      Dst: "[java.util.Map].entrySet()"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:166,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:166,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:166,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:168,1"
      Dst: "[java.util.Map$Entry].getKey()"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:168,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:169,1"
      Dst: "[java.util.Map$Entry].getValue()"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:178,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 20
    CyclomaticComplexity: 11
  - functionName: "[ch.qos.logback.core.helpers.Transform].escapeTags(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.helpers.Transform"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.helpers.Transform].escapeTags(java.lang.StringBuffer)"
    - "[java.lang.String].length()"
    - "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - "[java.util.regex.Matcher].find()"
    - "[java.lang.StringBuffer].<init>(java.lang.String)"
    functionUses: 10
    ICount: 13
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.helpers.Transform:40"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.Transform:41"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.Transform:40"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.helpers.Transform:40"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.Transform:41"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.Transform:40"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.helpers.Transform:40"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.helpers.Transform:43"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.helpers.Transform:42"
        BranchSideFuncs:
        - "escapeTags(java.lang.StringBuffer)"
    Callsites:
    - Src: "ch.qos.logback.core.helpers.Transform:40,1"
      Dst: "[java.lang.String].length()"
    - Src: "ch.qos.logback.core.helpers.Transform:40,1"
      Dst: "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - Src: "ch.qos.logback.core.helpers.Transform:40,1"
      Dst: "[java.util.regex.Matcher].find()"
    - Src: "ch.qos.logback.core.helpers.Transform:43,1"
      Dst: "[java.lang.StringBuffer].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.helpers.Transform:44,1"
      Dst: "[ch.qos.logback.core.helpers.Transform].escapeTags(java.lang.StringBuffer)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.spi.StackTraceElementProxy].toString()"
    functionSourceFile: "ch.qos.logback.classic.spi.StackTraceElementProxy"
    linkageType: null
    functionLinenumber: 88
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.StackTraceElementProxy].getSTEAsString()"
    functionUses: 6
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.StackTraceElementProxy:89,1"
      Dst: "[ch.qos.logback.classic.spi.StackTraceElementProxy].getSTEAsString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.log4j.XMLLayout].getProperties()"
    functionSourceFile: "ch.qos.logback.classic.log4j.XMLLayout"
    linkageType: null
    functionLinenumber: 90
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.log4j.XMLLayout].getContentType()"
    functionSourceFile: "ch.qos.logback.classic.log4j.XMLLayout"
    linkageType: null
    functionLinenumber: 182
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.log4j.XMLLayout].doLayout(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.log4j.XMLLayout"
    linkageType: null
    functionLinenumber: 37
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.log4j.XMLLayout].doLayout(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 5
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:38,1"
      Dst: "[ch.qos.logback.classic.log4j.XMLLayout].doLayout(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.log4j.XMLLayout].doLayout(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.log4j.XMLLayout"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.helpers.Transform].escapeTags(java.lang.String)"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getLoggerName()"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getTimeStamp()"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getLevel()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getThreadName()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getFormattedMessage()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getFormattedMessage()"
    - "[ch.qos.logback.classic.spi.LoggingEvent:ch.qos.logback.classic.spi.LoggingEventVO].getThrowableProxy()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].getStackTraceElementProxyArray()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].getStackTraceElementProxyArray()"
    - "[ch.qos.logback.classic.spi.StackTraceElementProxy].toString()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getCallerData()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getCallerData()"
    - "[ch.qos.logback.classic.log4j.XMLLayout].getProperties()"
    - "[ch.qos.logback.classic.spi.LoggingEvent].getMDCPropertyMap()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getMDCPropertyMap()"
    - "[java.lang.StringBuilder].capacity()"
    - "[java.lang.StringBuilder].<init>(int)"
    - "[java.lang.StringBuilder].setLength(int)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerName()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getTimeStamp()"
    - "[java.lang.StringBuilder].append(long)"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getThreadName()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getFormattedMessage()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getThrowableProxy()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getStackTraceElementProxyArray()"
    - "[java.lang.StringBuilder].append(char)"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getCallerData()"
    - "[java.lang.StackTraceElement].getClassName()"
    - "[java.lang.StackTraceElement].getMethodName()"
    - "[java.lang.StackTraceElement].getFileName()"
    - "[java.lang.StackTraceElement].getLineNumber()"
    - "[java.lang.StringBuilder].append(int)"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getMDCPropertyMap()"
    - "[java.util.Map].size()"
    - "[java.util.Map].entrySet()"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.Map$Entry].getKey()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.util.Map$Entry].getValue()"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 136
    EdgeCount: 22
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.log4j.XMLLayout:101"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.log4j.XMLLayout:104"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.log4j.XMLLayout:103"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.log4j.XMLLayout:128"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.log4j.XMLLayout:139"
        BranchSideFuncs:
        - "getStackTraceElementProxyArray()"
      - BranchSide: "ch.qos.logback.classic.log4j.XMLLayout:138"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.log4j.XMLLayout:131"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.log4j.XMLLayout:135"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.log4j.XMLLayout:139"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.log4j.XMLLayout:160"
        BranchSideFuncs:
        - "getCallerData()"
      - BranchSide: "ch.qos.logback.classic.log4j.XMLLayout:159"
        BranchSideFuncs:
        - "getProperties()"
    - Branch String: "ch.qos.logback.classic.log4j.XMLLayout:141"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.log4j.XMLLayout:160"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.log4j.XMLLayout:159"
        BranchSideFuncs:
        - "getProperties()"
    - Branch String: "ch.qos.logback.classic.log4j.XMLLayout:141"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.log4j.XMLLayout:160"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.log4j.XMLLayout:159"
        BranchSideFuncs:
        - "getProperties()"
    - Branch String: "ch.qos.logback.classic.log4j.XMLLayout:160"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.log4j.XMLLayout:176"
        BranchSideFuncs:
        - "getMDCPropertyMap()"
      - BranchSide: "ch.qos.logback.classic.log4j.XMLLayout:175"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.log4j.XMLLayout:163"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.log4j.XMLLayout:176"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.log4j.XMLLayout:175"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.log4j.XMLLayout:163"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.log4j.XMLLayout:176"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.log4j.XMLLayout:175"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.log4j.XMLLayout:166"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.log4j.XMLLayout:172"
        BranchSideFuncs:
        - "escapeTags(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.log4j.XMLLayout:171"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:101,1"
      Dst: "[java.lang.StringBuilder].capacity()"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:102,1"
      Dst: "[java.lang.StringBuilder].<init>(int)"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:104,1"
      Dst: "[java.lang.StringBuilder].setLength(int)"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:109,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:110,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLoggerName()"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:110,1"
      Dst: "[ch.qos.logback.core.helpers.Transform].escapeTags(java.lang.String)"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:113,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getTimeStamp()"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:113,1"
      Dst: "[java.lang.StringBuilder].append(long)"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:115,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getLevel()"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:115,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:117,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getThreadName()"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:121,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getFormattedMessage()"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:127,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getThrowableProxy()"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:129,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getStackTraceElementProxyArray()"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:132,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:133,1"
      Dst: "[ch.qos.logback.classic.spi.StackTraceElementProxy].toString()"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:140,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getCallerData()"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:144,1"
      Dst: "[java.lang.StackTraceElement].getClassName()"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:147,1"
      Dst: "[java.lang.StackTraceElement].getMethodName()"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:149,1"
      Dst: "[java.lang.StackTraceElement].getFileName()"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:151,1"
      Dst: "[java.lang.StackTraceElement].getLineNumber()"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:151,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:160,1"
      Dst: "[ch.qos.logback.classic.log4j.XMLLayout].getProperties()"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:161,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getMDCPropertyMap()"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:163,1"
      Dst: "[java.util.Map].size()"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:164,1"
      Dst: "[java.util.Map].entrySet()"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:166,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:166,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:166,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:168,1"
      Dst: "[java.util.Map$Entry].getKey()"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:168,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:169,1"
      Dst: "[java.util.Map$Entry].getValue()"
    - Src: "ch.qos.logback.classic.log4j.XMLLayout:178,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 20
    CyclomaticComplexity: 11
  - functionName: "[org.slf4j.LoggerFactory].findServiceProviders()"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 112
    functionDepth: 3
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.LoggerFactory].loadExplicitlySpecified(java.lang.ClassLoader)"
    - "[org.slf4j.LoggerFactory].getServiceLoader(java.lang.ClassLoader)"
    - "[org.slf4j.LoggerFactory].safelyInstantiate(java.util.List,java.util.Iterator)"
    - "[java.util.ArrayList].<init>()"
    - "[java.lang.Class].getClassLoader()"
    - "[java.util.List].add(java.lang.Object)"
    - "[java.util.ServiceLoader].iterator()"
    - "[java.util.Iterator].hasNext()"
    functionUses: 1
    ICount: 15
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "org.slf4j.LoggerFactory:120"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:126"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.LoggerFactory:125"
        BranchSideFuncs:
        - "getServiceLoader(java.lang.ClassLoader)"
    - Branch String: "org.slf4j.LoggerFactory:129"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:132"
        BranchSideFuncs:
        - "safelyInstantiate(java.util.List,java.util.Iterator)"
      - BranchSide: "org.slf4j.LoggerFactory:131"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.LoggerFactory:113,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "org.slf4j.LoggerFactory:117,1"
      Dst: "[java.lang.Class].getClassLoader()"
    - Src: "org.slf4j.LoggerFactory:119,1"
      Dst: "[org.slf4j.LoggerFactory].loadExplicitlySpecified(java.lang.ClassLoader)"
    - Src: "org.slf4j.LoggerFactory:121,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "org.slf4j.LoggerFactory:126,1"
      Dst: "[org.slf4j.LoggerFactory].getServiceLoader(java.lang.ClassLoader)"
    - Src: "org.slf4j.LoggerFactory:128,1"
      Dst: "[java.util.ServiceLoader].iterator()"
    - Src: "org.slf4j.LoggerFactory:129,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "org.slf4j.LoggerFactory:130,1"
      Dst: "[org.slf4j.LoggerFactory].safelyInstantiate(java.util.List,java.util.Iterator)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.LoggerFactory].getServiceLoader(java.lang.ClassLoader)"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 136
    functionDepth: 2
    returnType: "java.util.ServiceLoader"
    argCount: 1
    argTypes:
    - "java.lang.ClassLoader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.LoggerFactory$lambda_getServiceLoader_0__1].bootstrap$(java.lang.ClassLoader)"
    - "[ch.qos.logback.core.util.Loader$2].run()"
    - "[org.slf4j.LoggerFactory$lambda_getServiceLoader_0__1].run()"
    - "[ch.qos.logback.core.util.Loader$1].run()"
    - "[java.lang.System].getSecurityManager()"
    - "[java.util.ServiceLoader].load(java.lang.Class,java.lang.ClassLoader)"
    - "[java.security.AccessController].doPrivileged(java.security.PrivilegedAction)"
    functionUses: 1
    ICount: 9
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "org.slf4j.LoggerFactory:138"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:141"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.LoggerFactory:140"
        BranchSideFuncs:
        - "run()"
        - "bootstrap$(java.lang.ClassLoader)"
    Callsites:
    - Src: "org.slf4j.LoggerFactory:137,1"
      Dst: "[java.lang.System].getSecurityManager()"
    - Src: "org.slf4j.LoggerFactory:139,1"
      Dst: "[java.util.ServiceLoader].load(java.lang.Class,java.lang.ClassLoader)"
    - Src: "org.slf4j.LoggerFactory:141,1"
      Dst: "[org.slf4j.LoggerFactory$lambda_getServiceLoader_0__1].bootstrap$(java.lang.ClassLoader)"
    - Src: "org.slf4j.LoggerFactory:142,1"
      Dst: "[java.security.AccessController].doPrivileged(java.security.PrivilegedAction)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.LoggerFactory].safelyInstantiate(java.util.List,java.util.Iterator)"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 148
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.util.List"
    - "java.util.Iterator"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[org.slf4j.helpers.Reporter].error(java.lang.String)"
    - "[java.util.Iterator].next()"
    - "[java.util.List].add(java.lang.Object)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.Throwable].getMessage()"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 16
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.LoggerFactory:149,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "org.slf4j.LoggerFactory:150,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "org.slf4j.LoggerFactory:152,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.slf4j.LoggerFactory:152,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.slf4j.LoggerFactory:152,1"
      Dst: "[java.lang.Throwable].getMessage()"
    - Src: "org.slf4j.LoggerFactory:152,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "org.slf4j.LoggerFactory:152,1"
      Dst: "[org.slf4j.helpers.Reporter].error(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.LoggerFactory].<init>()"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.LoggerFactory:164,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.LoggerFactory].reset()"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.LoggerFactory].performInitialization()"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 182
    functionDepth: 9
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.LoggerFactory].bind()"
    - "[org.slf4j.LoggerFactory].versionSanityCheck()"
    functionUses: 1
    ICount: 5
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "org.slf4j.LoggerFactory:184"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:187"
        BranchSideFuncs:
        - "versionSanityCheck()"
      - BranchSide: "org.slf4j.LoggerFactory:186"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.LoggerFactory:183,1"
      Dst: "[org.slf4j.LoggerFactory].bind()"
    - Src: "org.slf4j.LoggerFactory:185,1"
      Dst: "[org.slf4j.LoggerFactory].versionSanityCheck()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.LoggerFactory].bind()"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 190
    functionDepth: 8
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.LoggerFactory].findServiceProviders()"
    - "[org.slf4j.LoggerFactory].reportMultipleBindingAmbiguity(java.util.List)"
    - "[ch.qos.logback.core.util.COWArrayList].isEmpty()"
    - "[ch.qos.logback.core.util.COWArrayList].get(int)"
    - "[ch.qos.logback.classic.spi.LogbackServiceProvider].initialize()"
    - "[org.slf4j.helpers.NOP_FallbackServiceProvider].initialize()"
    - "[org.slf4j.helpers.SubstituteServiceProvider].initialize()"
    - "[org.slf4j.LoggerFactory].reportActualBinding(java.util.List)"
    - "[org.slf4j.helpers.Reporter].warn(java.lang.String)"
    - "[org.slf4j.LoggerFactory].findPossibleStaticLoggerBinderPathSet()"
    - "[org.slf4j.LoggerFactory].reportIgnoredStaticLoggerBinders(java.util.Set)"
    - "[org.slf4j.LoggerFactory].postBindCleanUp()"
    - "[org.slf4j.LoggerFactory].failedBinding(java.lang.Throwable)"
    - "[java.util.List].isEmpty()"
    - "[java.util.List].get(int)"
    - "[org.slf4j.spi.SLF4JServiceProvider].initialize()"
    - "[java.lang.IllegalStateException].<init>(java.lang.String,java.lang.Throwable)"
    functionUses: 1
    ICount: 27
    EdgeCount: 15
    BranchProfiles:
    - Branch String: "org.slf4j.LoggerFactory:193"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:200"
        BranchSideFuncs:
        - "initialize()"
        - "get(int)"
        - "reportActualBinding(java.util.List)"
      - BranchSide: "org.slf4j.LoggerFactory:199"
        BranchSideFuncs:
        - "reportIgnoredStaticLoggerBinders(java.util.Set)"
        - "warn(java.lang.String)"
        - "findPossibleStaticLoggerBinderPathSet()"
    - Branch String: "org.slf4j.LoggerFactory:193"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:200"
        BranchSideFuncs:
        - "initialize()"
        - "get(int)"
        - "reportActualBinding(java.util.List)"
      - BranchSide: "org.slf4j.LoggerFactory:199"
        BranchSideFuncs:
        - "reportIgnoredStaticLoggerBinders(java.util.Set)"
        - "warn(java.lang.String)"
        - "findPossibleStaticLoggerBinderPathSet()"
    Callsites:
    - Src: "org.slf4j.LoggerFactory:191,1"
      Dst: "[org.slf4j.LoggerFactory].findServiceProviders()"
    - Src: "org.slf4j.LoggerFactory:192,1"
      Dst: "[org.slf4j.LoggerFactory].reportMultipleBindingAmbiguity(java.util.List)"
    - Src: "org.slf4j.LoggerFactory:193,1"
      Dst: "[java.util.List].isEmpty()"
    - Src: "org.slf4j.LoggerFactory:194,1"
      Dst: "[java.util.List].get(int)"
    - Src: "org.slf4j.LoggerFactory:196,1"
      Dst: "[org.slf4j.spi.SLF4JServiceProvider].initialize()"
    - Src: "org.slf4j.LoggerFactory:198,1"
      Dst: "[org.slf4j.LoggerFactory].reportActualBinding(java.util.List)"
    - Src: "org.slf4j.LoggerFactory:201,1"
      Dst: "[org.slf4j.helpers.Reporter].warn(java.lang.String)"
    - Src: "org.slf4j.LoggerFactory:205,1"
      Dst: "[org.slf4j.LoggerFactory].findPossibleStaticLoggerBinderPathSet()"
    - Src: "org.slf4j.LoggerFactory:206,1"
      Dst: "[org.slf4j.LoggerFactory].reportIgnoredStaticLoggerBinders(java.util.Set)"
    - Src: "org.slf4j.LoggerFactory:208,1"
      Dst: "[org.slf4j.LoggerFactory].postBindCleanUp()"
    - Src: "org.slf4j.LoggerFactory:210,1"
      Dst: "[org.slf4j.LoggerFactory].failedBinding(java.lang.Throwable)"
    - Src: "org.slf4j.LoggerFactory:211,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.LoggerFactory].loadExplicitlySpecified(java.lang.ClassLoader)"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 215
    functionDepth: 2
    returnType: "org.slf4j.spi.SLF4JServiceProvider"
    argCount: 1
    argTypes:
    - "java.lang.ClassLoader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.Reporter].info(java.lang.String)"
    - "[org.slf4j.helpers.Reporter].error(java.lang.String,java.lang.Throwable)"
    - "[java.lang.System].getProperty(java.lang.String)"
    - "[java.lang.String].isEmpty()"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.ClassLoader].loadClass(java.lang.String)"
    - "[java.lang.Class].getConstructor(java.lang.Class[])"
    - "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    functionUses: 1
    ICount: 30
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "org.slf4j.LoggerFactory:217"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:218"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.LoggerFactory:217"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.LoggerFactory:217"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:221"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.LoggerFactory:220"
        BranchSideFuncs:
        - "info(java.lang.String)"
    Callsites:
    - Src: "org.slf4j.LoggerFactory:216,1"
      Dst: "[java.lang.System].getProperty(java.lang.String)"
    - Src: "org.slf4j.LoggerFactory:217,1"
      Dst: "[java.lang.String].isEmpty()"
    - Src: "org.slf4j.LoggerFactory:221,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "org.slf4j.LoggerFactory:222,1"
      Dst: "[org.slf4j.helpers.Reporter].info(java.lang.String)"
    - Src: "org.slf4j.LoggerFactory:223,1"
      Dst: "[java.lang.ClassLoader].loadClass(java.lang.String)"
    - Src: "org.slf4j.LoggerFactory:224,1"
      Dst: "[java.lang.Class].getConstructor(java.lang.Class[])"
    - Src: "org.slf4j.LoggerFactory:225,1"
      Dst: "[java.lang.reflect.Constructor].newInstance(java.lang.Object[])"
    - Src: "org.slf4j.LoggerFactory:229,1"
      Dst: "[org.slf4j.helpers.Reporter].error(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.LoggerFactory].reportIgnoredStaticLoggerBinders(java.util.Set)"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 238
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.Set"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.Reporter].warn(java.lang.String)"
    - "[java.util.Set].isEmpty()"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 20
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "org.slf4j.LoggerFactory:239"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:242"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.LoggerFactory:241"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.LoggerFactory:244"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:247"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.LoggerFactory:246"
        BranchSideFuncs:
        - "warn(java.lang.String)"
    Callsites:
    - Src: "org.slf4j.LoggerFactory:239,1"
      Dst: "[java.util.Set].isEmpty()"
    - Src: "org.slf4j.LoggerFactory:242,1"
      Dst: "[org.slf4j.helpers.Reporter].warn(java.lang.String)"
    - Src: "org.slf4j.LoggerFactory:244,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "org.slf4j.LoggerFactory:244,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "org.slf4j.LoggerFactory:244,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "org.slf4j.LoggerFactory:245,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.slf4j.LoggerFactory:245,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.slf4j.LoggerFactory:245,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "org.slf4j.LoggerFactory:245,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.LoggerFactory].findPossibleStaticLoggerBinderPathSet()"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 258
    functionDepth: 2
    returnType: "java.util.Set"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.Reporter].error(java.lang.String,java.lang.Throwable)"
    - "[java.util.LinkedHashSet].<init>()"
    - "[java.lang.Class].getClassLoader()"
    - "[java.lang.ClassLoader].getSystemResources(java.lang.String)"
    - "[java.lang.ClassLoader].getResources(java.lang.String)"
    - "[java.util.Enumeration].hasMoreElements()"
    - "[java.util.Enumeration].nextElement()"
    - "[java.util.Set].add(java.lang.Object)"
    functionUses: 1
    ICount: 18
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.LoggerFactory:263"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:266"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.LoggerFactory:265"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.LoggerFactory:268"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:274"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.LoggerFactory:273"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.LoggerFactory:259,1"
      Dst: "[java.util.LinkedHashSet].<init>()"
    - Src: "org.slf4j.LoggerFactory:261,1"
      Dst: "[java.lang.Class].getClassLoader()"
    - Src: "org.slf4j.LoggerFactory:264,1"
      Dst: "[java.lang.ClassLoader].getSystemResources(java.lang.String)"
    - Src: "org.slf4j.LoggerFactory:266,1"
      Dst: "[java.lang.ClassLoader].getResources(java.lang.String)"
    - Src: "org.slf4j.LoggerFactory:268,1"
      Dst: "[java.util.Enumeration].hasMoreElements()"
    - Src: "org.slf4j.LoggerFactory:269,1"
      Dst: "[java.util.Enumeration].nextElement()"
    - Src: "org.slf4j.LoggerFactory:270,1"
      Dst: "[java.util.Set].add(java.lang.Object)"
    - Src: "org.slf4j.LoggerFactory:273,1"
      Dst: "[org.slf4j.helpers.Reporter].error(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 3
  - functionName: "[org.slf4j.LoggerFactory].postBindCleanUp()"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 278
    functionDepth: 7
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.LoggerFactory].fixSubstituteLoggers()"
    - "[org.slf4j.LoggerFactory].replayEvents()"
    - "[org.slf4j.helpers.SubstituteLoggerFactory].clear()"
    - "[org.slf4j.helpers.SubstituteServiceProvider].getSubstituteLoggerFactory()"
    functionUses: 1
    ICount: 6
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.LoggerFactory:279,1"
      Dst: "[org.slf4j.LoggerFactory].fixSubstituteLoggers()"
    - Src: "org.slf4j.LoggerFactory:280,1"
      Dst: "[org.slf4j.LoggerFactory].replayEvents()"
    - Src: "org.slf4j.LoggerFactory:282,1"
      Dst: "[org.slf4j.helpers.SubstituteServiceProvider].getSubstituteLoggerFactory()"
    - Src: "org.slf4j.LoggerFactory:282,1"
      Dst: "[org.slf4j.helpers.SubstituteLoggerFactory].clear()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.LoggerFactory].fixSubstituteLoggers()"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 285
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteServiceProvider].getSubstituteLoggerFactory()"
    - "[org.slf4j.helpers.SubstituteLoggerFactory].postInitialization()"
    - "[org.slf4j.helpers.SubstituteLoggerFactory].getLoggers()"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[org.slf4j.LoggerFactory].getLogger(java.lang.String)"
    - "[org.slf4j.helpers.SubstituteLogger].getName()"
    - "[org.slf4j.helpers.SubstituteLogger].setDelegate(org.slf4j.Logger)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    functionUses: 1
    ICount: 23
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "org.slf4j.LoggerFactory:288"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:292"
        BranchSideFuncs:
        - "iterator()"
        - "getName()"
        - "setDelegate(org.slf4j.Logger)"
        - "getLoggers()"
        - "getSubstituteLoggerFactory()"
        - "getLogger(java.lang.String)"
      - BranchSide: "org.slf4j.LoggerFactory:291"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.LoggerFactory:287,1"
      Dst: "[org.slf4j.helpers.SubstituteServiceProvider].getSubstituteLoggerFactory()"
    - Src: "org.slf4j.LoggerFactory:287,1"
      Dst: "[org.slf4j.helpers.SubstituteLoggerFactory].postInitialization()"
    - Src: "org.slf4j.LoggerFactory:288,1"
      Dst: "[org.slf4j.helpers.SubstituteLoggerFactory].getLoggers()"
    - Src: "org.slf4j.LoggerFactory:288,1"
      Dst: "[java.util.List].iterator()"
    - Src: "org.slf4j.LoggerFactory:288,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "org.slf4j.LoggerFactory:288,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "org.slf4j.LoggerFactory:289,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getName()"
    - Src: "org.slf4j.LoggerFactory:289,1"
      Dst: "[org.slf4j.LoggerFactory].getLogger(java.lang.String)"
    - Src: "org.slf4j.LoggerFactory:290,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].setDelegate(org.slf4j.Logger)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.LoggerFactory].failedBinding(java.lang.Throwable)"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 296
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.Reporter].error(java.lang.String,java.lang.Throwable)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.LoggerFactory:298,1"
      Dst: "[org.slf4j.helpers.Reporter].error(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.LoggerFactory].replayEvents()"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 301
    functionDepth: 6
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteLoggerFactory].getEventQueue()"
    - "[org.slf4j.helpers.SubstituteServiceProvider].getSubstituteLoggerFactory()"
    - "[org.slf4j.LoggerFactory].replaySingleEvent(org.slf4j.event.SubstituteLoggingEvent)"
    - "[org.slf4j.LoggerFactory].emitReplayOrSubstituionWarning(org.slf4j.event.SubstituteLoggingEvent,int)"
    - "[java.util.concurrent.LinkedBlockingQueue].size()"
    - "[java.util.ArrayList].<init>(int)"
    - "[java.util.concurrent.LinkedBlockingQueue].drainTo(java.util.Collection,int)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.List].clear()"
    functionUses: 1
    ICount: 24
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "org.slf4j.LoggerFactory:309"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:311"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.LoggerFactory:310"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.LoggerFactory:311"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:316"
        BranchSideFuncs:
        - "replaySingleEvent(org.slf4j.event.SubstituteLoggingEvent)"
      - BranchSide: "org.slf4j.LoggerFactory:315"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.LoggerFactory:313"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:315"
        BranchSideFuncs:
        - "emitReplayOrSubstituionWarning(org.slf4j.event.SubstituteLoggingEvent,int)"
      - BranchSide: "org.slf4j.LoggerFactory:314"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.LoggerFactory:302,1"
      Dst: "[org.slf4j.helpers.SubstituteServiceProvider].getSubstituteLoggerFactory()"
    - Src: "org.slf4j.LoggerFactory:302,1"
      Dst: "[org.slf4j.helpers.SubstituteLoggerFactory].getEventQueue()"
    - Src: "org.slf4j.LoggerFactory:303,1"
      Dst: "[java.util.concurrent.LinkedBlockingQueue].size()"
    - Src: "org.slf4j.LoggerFactory:306,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    - Src: "org.slf4j.LoggerFactory:308,1"
      Dst: "[java.util.concurrent.LinkedBlockingQueue].drainTo(java.util.Collection,int)"
    - Src: "org.slf4j.LoggerFactory:311,1"
      Dst: "[java.util.List].iterator()"
    - Src: "org.slf4j.LoggerFactory:311,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "org.slf4j.LoggerFactory:311,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "org.slf4j.LoggerFactory:312,1"
      Dst: "[org.slf4j.LoggerFactory].replaySingleEvent(org.slf4j.event.SubstituteLoggingEvent)"
    - Src: "org.slf4j.LoggerFactory:314,1"
      Dst: "[org.slf4j.LoggerFactory].emitReplayOrSubstituionWarning(org.slf4j.event.SubstituteLoggingEvent,int)"
    - Src: "org.slf4j.LoggerFactory:316,1"
      Dst: "[java.util.List].clear()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 4
  - functionName: "[org.slf4j.LoggerFactory].emitReplayOrSubstituionWarning(org.slf4j.event.SubstituteLoggingEvent,int)"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 320
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "org.slf4j.event.SubstituteLoggingEvent"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.event.SubstituteLoggingEvent].getLogger()"
    - "[org.slf4j.helpers.SubstituteLogger].isDelegateEventAware()"
    - "[org.slf4j.LoggerFactory].emitReplayWarning(int)"
    - "[org.slf4j.helpers.SubstituteLogger].isDelegateNOP()"
    - "[org.slf4j.LoggerFactory].emitSubstitutionWarning()"
    functionUses: 1
    ICount: 13
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "org.slf4j.LoggerFactory:321"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:323"
        BranchSideFuncs:
        - "emitReplayWarning(int)"
      - BranchSide: "org.slf4j.LoggerFactory:322"
        BranchSideFuncs:
        - "isDelegateNOP()"
        - "getLogger()"
    - Branch String: "org.slf4j.LoggerFactory:323"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:325"
        BranchSideFuncs:
        - "emitSubstitutionWarning()"
    Callsites:
    - Src: "org.slf4j.LoggerFactory:321,1"
      Dst: "[org.slf4j.event.SubstituteLoggingEvent].getLogger()"
    - Src: "org.slf4j.LoggerFactory:321,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].isDelegateEventAware()"
    - Src: "org.slf4j.LoggerFactory:322,1"
      Dst: "[org.slf4j.LoggerFactory].emitReplayWarning(int)"
    - Src: "org.slf4j.LoggerFactory:323,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].isDelegateNOP()"
    - Src: "org.slf4j.LoggerFactory:326,1"
      Dst: "[org.slf4j.LoggerFactory].emitSubstitutionWarning()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[org.slf4j.LoggerFactory].replaySingleEvent(org.slf4j.event.SubstituteLoggingEvent)"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 330
    functionDepth: 5
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.slf4j.event.SubstituteLoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.event.SubstituteLoggingEvent].getLogger()"
    - "[org.slf4j.helpers.SubstituteLogger].getName()"
    - "[org.slf4j.helpers.SubstituteLogger].isDelegateNull()"
    - "[org.slf4j.helpers.SubstituteLogger].isDelegateNOP()"
    - "[org.slf4j.helpers.SubstituteLogger].isDelegateEventAware()"
    - "[org.slf4j.event.SubstituteLoggingEvent].getLevel()"
    - "[org.slf4j.helpers.SubstituteLogger].isEnabledForLevel(org.slf4j.event.Level)"
    - "[org.slf4j.helpers.SubstituteLogger].log(org.slf4j.event.LoggingEvent)"
    - "[org.slf4j.helpers.Reporter].warn(java.lang.String)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 22
    EdgeCount: 9
    BranchProfiles:
    - Branch String: "org.slf4j.LoggerFactory:331"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:334"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.LoggerFactory:333"
        BranchSideFuncs:
        - "getName()"
        - "isDelegateNull()"
        - "getLogger()"
    - Branch String: "org.slf4j.LoggerFactory:336"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:340"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.LoggerFactory:339"
        BranchSideFuncs:
        - "isDelegateNOP()"
    - Branch String: "org.slf4j.LoggerFactory:340"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:341"
        BranchSideFuncs:
        - "isDelegateEventAware()"
    - Branch String: "org.slf4j.LoggerFactory:342"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:347"
        BranchSideFuncs:
        - "getLevel()"
        - "isEnabledForLevel(org.slf4j.event.Level)"
      - BranchSide: "org.slf4j.LoggerFactory:346"
        BranchSideFuncs:
        - "warn(java.lang.String)"
    - Branch String: "org.slf4j.LoggerFactory:343"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:349"
        BranchSideFuncs:
        - "log(org.slf4j.event.LoggingEvent)"
      - BranchSide: "org.slf4j.LoggerFactory:348"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.LoggerFactory:334,1"
      Dst: "[org.slf4j.event.SubstituteLoggingEvent].getLogger()"
    - Src: "org.slf4j.LoggerFactory:335,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].getName()"
    - Src: "org.slf4j.LoggerFactory:336,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].isDelegateNull()"
    - Src: "org.slf4j.LoggerFactory:337,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - Src: "org.slf4j.LoggerFactory:340,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].isDelegateNOP()"
    - Src: "org.slf4j.LoggerFactory:342,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].isDelegateEventAware()"
    - Src: "org.slf4j.LoggerFactory:343,1"
      Dst: "[org.slf4j.event.SubstituteLoggingEvent].getLevel()"
    - Src: "org.slf4j.LoggerFactory:343,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].isEnabledForLevel(org.slf4j.event.Level)"
    - Src: "org.slf4j.LoggerFactory:344,1"
      Dst: "[org.slf4j.helpers.SubstituteLogger].log(org.slf4j.event.LoggingEvent)"
    - Src: "org.slf4j.LoggerFactory:347,1"
      Dst: "[org.slf4j.helpers.Reporter].warn(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 11
    CyclomaticComplexity: 4
  - functionName: "[org.slf4j.LoggerFactory].emitSubstitutionWarning()"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 351
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.Reporter].warn(java.lang.String)"
    functionUses: 1
    ICount: 6
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.LoggerFactory:352,1"
      Dst: "[org.slf4j.helpers.Reporter].warn(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.LoggerFactory].emitReplayWarning(int)"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 359
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.Reporter].warn(java.lang.String)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 11
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.LoggerFactory:360,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.slf4j.LoggerFactory:360,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.slf4j.LoggerFactory:360,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "org.slf4j.LoggerFactory:360,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "org.slf4j.LoggerFactory:360,1"
      Dst: "[org.slf4j.helpers.Reporter].warn(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.LoggerFactory].versionSanityCheck()"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 366
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LogbackServiceProvider].getRequestedApiVersion()"
    - "[org.slf4j.helpers.SubstituteServiceProvider].getRequestedApiVersion()"
    - "[org.slf4j.helpers.NOP_FallbackServiceProvider].getRequestedApiVersion()"
    - "[org.slf4j.helpers.Reporter].warn(java.lang.String)"
    - "[org.slf4j.helpers.Reporter].error(java.lang.String,java.lang.Throwable)"
    - "[org.slf4j.spi.SLF4JServiceProvider].getRequestedApiVersion()"
    - "[java.lang.String].startsWith(java.lang.String)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.util.Arrays].asList(java.lang.Object[])"
    - "[java.lang.Object].toString()"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 30
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "org.slf4j.LoggerFactory:370"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:375"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.LoggerFactory:374"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.LoggerFactory:371"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:367"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.LoggerFactory:366"
        BranchSideFuncs:
        - "getRequestedApiVersion()"
    - Branch String: "org.slf4j.LoggerFactory:375"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:383"
        BranchSideFuncs:
        - "warn(java.lang.String)"
      - BranchSide: "org.slf4j.LoggerFactory:382"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.LoggerFactory:367,1"
      Dst: "[org.slf4j.spi.SLF4JServiceProvider].getRequestedApiVersion()"
    - Src: "org.slf4j.LoggerFactory:371,1"
      Dst: "[java.lang.String].startsWith(java.lang.String)"
    - Src: "org.slf4j.LoggerFactory:376,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.slf4j.LoggerFactory:376,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.slf4j.LoggerFactory:377,1"
      Dst: "[java.util.Arrays].asList(java.lang.Object[])"
    - Src: "org.slf4j.LoggerFactory:377,1"
      Dst: "[java.lang.Object].toString()"
    - Src: "org.slf4j.LoggerFactory:377,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "org.slf4j.LoggerFactory:376,1"
      Dst: "[org.slf4j.helpers.Reporter].warn(java.lang.String)"
    - Src: "org.slf4j.LoggerFactory:382,1"
      Dst: "[org.slf4j.helpers.Reporter].error(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 4
  - functionName: "[org.slf4j.LoggerFactory].isAmbiguousProviderList(java.util.List)"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 386
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[java.util.List].size()"
    functionUses: 2
    ICount: 7
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.LoggerFactory:387"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:386"
        BranchSideFuncs:
        - "size()"
    Callsites:
    - Src: "org.slf4j.LoggerFactory:387,1"
      Dst: "[java.util.List].size()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.LoggerFactory].reportMultipleBindingAmbiguity(java.util.List)"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 395
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.LoggerFactory].isAmbiguousProviderList(java.util.List)"
    - "[org.slf4j.helpers.Reporter].warn(java.lang.String)"
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 19
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "org.slf4j.LoggerFactory:396"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:403"
        BranchSideFuncs:
        - "iterator()"
      - BranchSide: "org.slf4j.LoggerFactory:402"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.LoggerFactory:398"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:401"
        BranchSideFuncs:
        - "iterator()"
      - BranchSide: "org.slf4j.LoggerFactory:400"
        BranchSideFuncs:
        - "warn(java.lang.String)"
    Callsites:
    - Src: "org.slf4j.LoggerFactory:396,1"
      Dst: "[org.slf4j.LoggerFactory].isAmbiguousProviderList(java.util.List)"
    - Src: "org.slf4j.LoggerFactory:397,1"
      Dst: "[org.slf4j.helpers.Reporter].warn(java.lang.String)"
    - Src: "org.slf4j.LoggerFactory:398,1"
      Dst: "[java.util.List].iterator()"
    - Src: "org.slf4j.LoggerFactory:398,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "org.slf4j.LoggerFactory:398,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "org.slf4j.LoggerFactory:399,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.slf4j.LoggerFactory:399,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.slf4j.LoggerFactory:399,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "org.slf4j.LoggerFactory:399,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[org.slf4j.LoggerFactory].reportActualBinding(java.util.List)"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 406
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.LoggerFactory].isAmbiguousProviderList(java.util.List)"
    - "[ch.qos.logback.core.util.COWArrayList].isEmpty()"
    - "[ch.qos.logback.core.util.COWArrayList].get(int)"
    - "[org.slf4j.helpers.Reporter].info(java.lang.String)"
    - "[java.util.List].isEmpty()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.util.List].get(int)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 14
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "org.slf4j.LoggerFactory:407"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:410"
        BranchSideFuncs:
        - "info(java.lang.String)"
        - "get(int)"
      - BranchSide: "org.slf4j.LoggerFactory:409"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.LoggerFactory:407"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:410"
        BranchSideFuncs:
        - "info(java.lang.String)"
        - "get(int)"
      - BranchSide: "org.slf4j.LoggerFactory:409"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.LoggerFactory:407,1"
      Dst: "[java.util.List].isEmpty()"
    - Src: "org.slf4j.LoggerFactory:407,1"
      Dst: "[org.slf4j.LoggerFactory].isAmbiguousProviderList(java.util.List)"
    - Src: "org.slf4j.LoggerFactory:408,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.slf4j.LoggerFactory:408,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.slf4j.LoggerFactory:408,1"
      Dst: "[java.util.List].get(int)"
    - Src: "org.slf4j.LoggerFactory:408,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "org.slf4j.LoggerFactory:408,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "org.slf4j.LoggerFactory:408,1"
      Dst: "[org.slf4j.helpers.Reporter].info(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 3
  - functionName: "[org.slf4j.LoggerFactory].getLogger(java.lang.String)"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 420
    functionDepth: 1
    returnType: "org.slf4j.Logger"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.LoggerFactory].getILoggerFactory()"
    - "[ch.qos.logback.classic.LoggerContext].getLogger(java.lang.String)"
    - "[org.slf4j.helpers.SubstituteLoggerFactory].getLogger(java.lang.String)"
    - "[org.slf4j.helpers.NOPLoggerFactory].getLogger(java.lang.String)"
    - "[org.slf4j.ILoggerFactory].getLogger(java.lang.String)"
    functionUses: 2
    ICount: 4
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.LoggerFactory:421,1"
      Dst: "[org.slf4j.LoggerFactory].getILoggerFactory()"
    - Src: "org.slf4j.LoggerFactory:422,1"
      Dst: "[org.slf4j.ILoggerFactory].getLogger(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.LoggerFactory].getLogger(java.lang.Class)"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 446
    functionDepth: 5
    returnType: "org.slf4j.Logger"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.LoggerFactory].getLogger(java.lang.String)"
    - "[org.slf4j.helpers.Util].getCallingClass()"
    - "[org.slf4j.LoggerFactory].nonMatchingClasses(java.lang.Class,java.lang.Class)"
    - "[org.slf4j.helpers.NamedLoggerBase].getName()"
    - "[org.slf4j.helpers.AbstractLogger].getName()"
    - "[org.slf4j.event.EventRecordingLogger].getName()"
    - "[org.slf4j.helpers.MarkerIgnoringBase].getName()"
    - "[org.slf4j.helpers.NOPLogger].getName()"
    - "[ch.qos.logback.classic.Logger].getName()"
    - "[org.slf4j.helpers.SubstituteLogger].getName()"
    - "[org.slf4j.helpers.Reporter].warn(java.lang.String)"
    - "[java.lang.Class].getName()"
    - "[org.slf4j.Logger].getName()"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    functionUses: 1
    ICount: 18
    EdgeCount: 12
    BranchProfiles:
    - Branch String: "org.slf4j.LoggerFactory:448"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:456"
        BranchSideFuncs:
        - "getCallingClass()"
        - "nonMatchingClasses(java.lang.Class,java.lang.Class)"
      - BranchSide: "org.slf4j.LoggerFactory:455"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.LoggerFactory:450"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:456"
        BranchSideFuncs:
        - "getName()"
        - "warn(java.lang.String)"
      - BranchSide: "org.slf4j.LoggerFactory:455"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.LoggerFactory:450"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:456"
        BranchSideFuncs:
        - "getName()"
        - "warn(java.lang.String)"
      - BranchSide: "org.slf4j.LoggerFactory:455"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.LoggerFactory:447,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "org.slf4j.LoggerFactory:447,1"
      Dst: "[org.slf4j.LoggerFactory].getLogger(java.lang.String)"
    - Src: "org.slf4j.LoggerFactory:449,1"
      Dst: "[org.slf4j.helpers.Util].getCallingClass()"
    - Src: "org.slf4j.LoggerFactory:450,1"
      Dst: "[org.slf4j.LoggerFactory].nonMatchingClasses(java.lang.Class,java.lang.Class)"
    - Src: "org.slf4j.LoggerFactory:451,1"
      Dst: "[org.slf4j.Logger].getName()"
    - Src: "org.slf4j.LoggerFactory:451,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "org.slf4j.LoggerFactory:451,1"
      Dst: "[org.slf4j.helpers.Reporter].warn(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 4
  - functionName: "[org.slf4j.LoggerFactory].nonMatchingClasses(java.lang.Class,java.lang.Class)"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 459
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    functionUses: 1
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.LoggerFactory:460"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:459"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.LoggerFactory:460,1"
      Dst: "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.LoggerFactory].getILoggerFactory()"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 471
    functionDepth: 11
    returnType: "org.slf4j.ILoggerFactory"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.SubstituteServiceProvider].getLoggerFactory()"
    - "[ch.qos.logback.classic.spi.LogbackServiceProvider].getLoggerFactory()"
    - "[org.slf4j.helpers.NOP_FallbackServiceProvider].getLoggerFactory()"
    - "[org.slf4j.LoggerFactory].getProvider()"
    - "[org.slf4j.spi.SLF4JServiceProvider].getLoggerFactory()"
    functionUses: 1
    ICount: 3
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.LoggerFactory:472,1"
      Dst: "[org.slf4j.LoggerFactory].getProvider()"
    - Src: "org.slf4j.LoggerFactory:472,1"
      Dst: "[org.slf4j.spi.SLF4JServiceProvider].getLoggerFactory()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.LoggerFactory].getProvider()"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 481
    functionDepth: 10
    returnType: "org.slf4j.spi.SLF4JServiceProvider"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.LoggerFactory].performInitialization()"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 3
    ICount: 26
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "org.slf4j.LoggerFactory:482"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:490"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.LoggerFactory:489"
        BranchSideFuncs: []
    - Branch String: "org.slf4j.LoggerFactory:484"
      Branch Sides:
      - BranchSide: "org.slf4j.LoggerFactory:488"
        BranchSideFuncs:
        - "performInitialization()"
      - BranchSide: "org.slf4j.LoggerFactory:487"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.LoggerFactory:486,1"
      Dst: "[org.slf4j.LoggerFactory].performInitialization()"
    - Src: "org.slf4j.LoggerFactory:496,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 11
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.LoggerFactory].lambda$getServiceLoader$0(java.lang.ClassLoader)"
    functionSourceFile: "org.slf4j.LoggerFactory"
    linkageType: null
    functionLinenumber: 140
    functionDepth: 0
    returnType: "java.util.ServiceLoader"
    argCount: 1
    argTypes:
    - "java.lang.ClassLoader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ServiceLoader].load(java.lang.Class,java.lang.ClassLoader)"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.LoggerFactory:141,1"
      Dst: "[java.util.ServiceLoader].load(java.lang.Class,java.lang.ClassLoader)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.color.BoldBlueCompositeConverter].<init>()"
    functionSourceFile: "ch.qos.logback.core.pattern.color.BoldBlueCompositeConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.color.ForegroundCompositeConverterBase].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.pattern.color.BoldBlueCompositeConverter:27,1"
      Dst: "[ch.qos.logback.core.pattern.color.ForegroundCompositeConverterBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.color.BoldBlueCompositeConverter].getForegroundColorCode(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.pattern.color.BoldBlueCompositeConverter"
    linkageType: null
    functionLinenumber: 30
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_12__32].bootstrap$()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_12__32"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_12__32].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_12__32:-1,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_12__32].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_12__32].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_12__32"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_12__32:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_12__32].get()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_12__32"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.JoranConfigurator].lambda$addElementSelectorAndActionAssociations$12()"
    functionUses: 3
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator$lambda_addElementSelectorAndActionAssociations_12__32:-1,1"
      Dst: "[ch.qos.logback.classic.joran.JoranConfigurator].lambda$addElementSelectorAndActionAssociations$12()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.JoranConfigurator].lambda$addElementSelectorAndActionAssociations$12()"
    functionSourceFile: "ch.qos.logback.classic.joran.JoranConfigurator"
    linkageType: null
    functionLinenumber: 67
    functionDepth: 1
    returnType: "ch.qos.logback.core.joran.action.Action"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.action.ReceiverAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.JoranConfigurator:68,1"
      Dst: "[ch.qos.logback.classic.joran.action.ReceiverAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.html.NOPThrowableRenderer].<init>()"
    functionSourceFile: "ch.qos.logback.core.html.NOPThrowableRenderer"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.html.NOPThrowableRenderer:16,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.html.NOPThrowableRenderer].render(java.lang.StringBuilder,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.html.NOPThrowableRenderer"
    linkageType: null
    functionLinenumber: 18
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.Node$Type].values()"
    functionSourceFile: "ch.qos.logback.core.subst.Node$Type"
    linkageType: null
    functionLinenumber: 17
    functionDepth: 0
    returnType: "ch.qos.logback.core.subst.Node$Type[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].clone()"
    functionUses: 2
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.Node$Type:18,1"
      Dst: "[java.lang.Object].clone()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.Node$Type].valueOf(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.subst.Node$Type"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.core.subst.Node$Type"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.Node$Type:18,1"
      Dst: "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.Node$Type].<init>(java.lang.String,int)"
    functionSourceFile: "ch.qos.logback.core.subst.Node$Type"
    linkageType: null
    functionLinenumber: 17
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].<init>(java.lang.String,int)"
    functionUses: 2
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.subst.Node$Type:18,1"
      Dst: "[java.lang.Enum].<init>(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.subst.Node$Type].$values()"
    functionSourceFile: "ch.qos.logback.core.subst.Node$Type"
    linkageType: null
    functionLinenumber: 17
    functionDepth: 0
    returnType: "ch.qos.logback.core.subst.Node$Type[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__61].bootstrap$()"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__61"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__61].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__61:-1,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__61].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__61].<init>()"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__61"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__61:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__61].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__61"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.model.processor.RootLoggerModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__61:-1,1"
      Dst: "[ch.qos.logback.classic.model.processor.RootLoggerModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.model.processor.RootLoggerModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.classic.model.processor.RootLoggerModelHandler"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 1
    returnType: "ch.qos.logback.classic.model.processor.RootLoggerModelHandler"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.model.processor.RootLoggerModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.model.processor.RootLoggerModelHandler:24,1"
      Dst: "[ch.qos.logback.classic.model.processor.RootLoggerModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.RolloverFailure].<init>(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.RolloverFailure"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.LogbackException].<init>(java.lang.String)"
    functionUses: 3
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.RolloverFailure:28,1"
      Dst: "[ch.qos.logback.core.LogbackException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.RolloverFailure].<init>(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.rolling.RolloverFailure"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.LogbackException].<init>(java.lang.String,java.lang.Throwable)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.RolloverFailure:32,1"
      Dst: "[ch.qos.logback.core.LogbackException].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.RenameUtil].<init>()"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.RenameUtil"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:30,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.RenameUtil].rename(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.RenameUtil"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.rolling.helper.RenameUtil].createMissingTargetDirsIfNecessary(java.io.File)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.rolling.helper.RenameUtil].areOnDifferentVolumes(java.io.File,java.io.File)"
    - "[ch.qos.logback.core.rolling.helper.RenameUtil].renameByCopying(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.rolling.RolloverFailure].<init>(java.lang.String)"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.io.File].<init>(java.lang.String)"
    - "[java.io.File].exists()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File,java.io.File)"
    - "[java.io.File].renameTo(java.io.File)"
    - "[java.lang.Boolean].equals(java.lang.Object)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - "[java.lang.Class].getSimpleName()"
    functionUses: 4
    ICount: 42
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.RenameUtil:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.RenameUtil:47"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.RenameUtil:46"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.RenameUtil:49"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.RenameUtil:72"
        BranchSideFuncs:
        - "createMissingTargetDirsIfNecessary(java.io.File)"
        - "addInfo(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.RenameUtil:71"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
    - Branch String: "ch.qos.logback.core.rolling.helper.RenameUtil:57"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.RenameUtil:71"
        BranchSideFuncs:
        - "areOnDifferentVolumes(java.io.File,java.io.File)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.RenameUtil:70"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.RenameUtil:60"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.RenameUtil:66"
        BranchSideFuncs:
        - "renameByCopying(java.lang.String,java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.RenameUtil:65"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:43,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:44,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:44,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:47,1"
      Dst: "[java.io.File].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:49,1"
      Dst: "[java.io.File].exists()"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:51,1"
      Dst: "[ch.qos.logback.core.rolling.helper.RenameUtil].createMissingTargetDirsIfNecessary(java.io.File)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:53,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File,java.io.File)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:53,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:55,1"
      Dst: "[java.io.File].renameTo(java.io.File)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:59,1"
      Dst: "[ch.qos.logback.core.rolling.helper.RenameUtil].areOnDifferentVolumes(java.io.File,java.io.File)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:60,1"
      Dst: "[java.lang.Boolean].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:61,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:63,1"
      Dst: "[ch.qos.logback.core.rolling.helper.RenameUtil].renameByCopying(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:66,1"
      Dst: "[java.lang.Class].getSimpleName()"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:72,1"
      Dst: "[ch.qos.logback.core.rolling.RolloverFailure].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.rolling.helper.RenameUtil].areOnDifferentVolumes(java.io.File,java.io.File)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.RenameUtil"
    linkageType: null
    functionLinenumber: 85
    functionDepth: 3
    returnType: "java.lang.Boolean"
    argCount: 2
    argTypes:
    - "java.io.File"
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.EnvUtil].isJDK7OrHigher()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.rolling.helper.FileStoreUtil].areOnSameFileStore(java.io.File,java.io.File)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String,java.lang.Throwable)"
    - "[java.lang.Boolean].valueOf(boolean)"
    - "[java.io.File].getAbsoluteFile()"
    - "[java.io.File].getParentFile()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File)"
    - "[java.io.File].exists()"
    functionUses: 1
    ICount: 28
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.RenameUtil:86"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.RenameUtil:91"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.RenameUtil:90"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.RenameUtil:93"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.RenameUtil:97"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.RenameUtil:96"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.RenameUtil:97"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.RenameUtil:103"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.RenameUtil:102"
        BranchSideFuncs:
        - "areOnSameFileStore(java.io.File,java.io.File)"
    - Branch String: "ch.qos.logback.core.rolling.helper.RenameUtil:104"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.RenameUtil:103"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
        - "areOnSameFileStore(java.io.File,java.io.File)"
        - "addWarn(java.lang.String,java.lang.Throwable)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.RenameUtil:102"
        BranchSideFuncs:
        - "areOnSameFileStore(java.io.File,java.io.File)"
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:86,1"
      Dst: "[ch.qos.logback.core.util.EnvUtil].isJDK7OrHigher()"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:87,1"
      Dst: "[java.lang.Boolean].valueOf(boolean)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:91,1"
      Dst: "[java.io.File].getAbsoluteFile()"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:91,1"
      Dst: "[java.io.File].getParentFile()"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:94,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.io.File)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:94,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:97,1"
      Dst: "[java.io.File].exists()"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:103,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileStoreUtil].areOnSameFileStore(java.io.File,java.io.File)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:106,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 11
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.RenameUtil].renameByCopying(java.lang.String,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.RenameUtil"
    linkageType: null
    functionLinenumber: 112
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.FileUtil].<init>(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - "[ch.qos.logback.core.util.FileUtil].copy(java.lang.String,java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[java.io.File].<init>(java.lang.String)"
    - "[java.io.File].delete()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 14
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.RenameUtil:117"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.RenameUtil:121"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.RenameUtil:120"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:113,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getContext()"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:113,1"
      Dst: "[ch.qos.logback.core.util.FileUtil].<init>(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:114,1"
      Dst: "[ch.qos.logback.core.util.FileUtil].copy(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:116,1"
      Dst: "[java.io.File].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:117,1"
      Dst: "[java.io.File].delete()"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:118,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:118,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.rolling.helper.RenameUtil].createMissingTargetDirsIfNecessary(java.io.File)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.RenameUtil"
    linkageType: null
    functionLinenumber: 123
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.FileUtil].createMissingParentDirectories(java.io.File)"
    - "[ch.qos.logback.core.rolling.RolloverFailure].<init>(java.lang.String)"
    - "[java.io.File].getAbsolutePath()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 1
    ICount: 10
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.RenameUtil:125"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.RenameUtil:128"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.RenameUtil:127"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:124,1"
      Dst: "[ch.qos.logback.core.util.FileUtil].createMissingParentDirectories(java.io.File)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:126,1"
      Dst: "[java.io.File].getAbsolutePath()"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:126,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.RenameUtil:126,1"
      Dst: "[ch.qos.logback.core.rolling.RolloverFailure].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.RenameUtil].toString()"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.RenameUtil"
    linkageType: null
    functionLinenumber: 131
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.DefaultLoggingEvent].<init>(org.slf4j.event.Level,org.slf4j.Logger)"
    functionSourceFile: "org.slf4j.event.DefaultLoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "org.slf4j.event.Level"
    - "org.slf4j.Logger"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.event.DefaultLoggingEvent:33,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.DefaultLoggingEvent].addMarker(org.slf4j.Marker)"
    functionSourceFile: "org.slf4j.event.DefaultLoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "org.slf4j.Marker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>(int)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.event.DefaultLoggingEvent:39"
      Branch Sides:
      - BranchSide: "org.slf4j.event.DefaultLoggingEvent:42"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.event.DefaultLoggingEvent:41"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.event.DefaultLoggingEvent:40,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    - Src: "org.slf4j.event.DefaultLoggingEvent:42,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.event.DefaultLoggingEvent].getMarkers()"
    functionSourceFile: "org.slf4j.event.DefaultLoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.DefaultLoggingEvent].addArgument(java.lang.Object)"
    functionSourceFile: "org.slf4j.event.DefaultLoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.event.DefaultLoggingEvent].getNonNullArguments()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.event.DefaultLoggingEvent:51,1"
      Dst: "[org.slf4j.event.DefaultLoggingEvent].getNonNullArguments()"
    - Src: "org.slf4j.event.DefaultLoggingEvent:51,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.DefaultLoggingEvent].addArguments(java.lang.Object[])"
    functionSourceFile: "org.slf4j.event.DefaultLoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.event.DefaultLoggingEvent].getNonNullArguments()"
    - "[java.util.Arrays].asList(java.lang.Object[])"
    - "[java.util.List].addAll(java.util.Collection)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.event.DefaultLoggingEvent:55,1"
      Dst: "[org.slf4j.event.DefaultLoggingEvent].getNonNullArguments()"
    - Src: "org.slf4j.event.DefaultLoggingEvent:55,1"
      Dst: "[java.util.Arrays].asList(java.lang.Object[])"
    - Src: "org.slf4j.event.DefaultLoggingEvent:55,1"
      Dst: "[java.util.List].addAll(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.DefaultLoggingEvent].getNonNullArguments()"
    functionSourceFile: "org.slf4j.event.DefaultLoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>(int)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.event.DefaultLoggingEvent:59"
      Branch Sides:
      - BranchSide: "org.slf4j.event.DefaultLoggingEvent:62"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.event.DefaultLoggingEvent:61"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.event.DefaultLoggingEvent:60,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.event.DefaultLoggingEvent].getArguments()"
    functionSourceFile: "org.slf4j.event.DefaultLoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.DefaultLoggingEvent].getArgumentArray()"
    functionSourceFile: "org.slf4j.event.DefaultLoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.Object[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.List].toArray()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.event.DefaultLoggingEvent:72"
      Branch Sides:
      - BranchSide: "org.slf4j.event.DefaultLoggingEvent:74"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.event.DefaultLoggingEvent:73"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.event.DefaultLoggingEvent:74,1"
      Dst: "[java.util.List].toArray()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.DefaultLoggingEvent].addKeyValue(java.lang.String,java.lang.Object)"
    functionSourceFile: "org.slf4j.event.DefaultLoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.event.DefaultLoggingEvent].getNonnullKeyValuePairs()"
    - "[org.slf4j.event.KeyValuePair].<init>(java.lang.String,java.lang.Object)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.event.DefaultLoggingEvent:78,1"
      Dst: "[org.slf4j.event.DefaultLoggingEvent].getNonnullKeyValuePairs()"
    - Src: "org.slf4j.event.DefaultLoggingEvent:78,1"
      Dst: "[org.slf4j.event.KeyValuePair].<init>(java.lang.String,java.lang.Object)"
    - Src: "org.slf4j.event.DefaultLoggingEvent:78,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.DefaultLoggingEvent].getNonnullKeyValuePairs()"
    functionSourceFile: "org.slf4j.event.DefaultLoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>(int)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.slf4j.event.DefaultLoggingEvent:82"
      Branch Sides:
      - BranchSide: "org.slf4j.event.DefaultLoggingEvent:85"
        BranchSideFuncs: []
      - BranchSide: "org.slf4j.event.DefaultLoggingEvent:84"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.slf4j.event.DefaultLoggingEvent:83,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[org.slf4j.event.DefaultLoggingEvent].getKeyValuePairs()"
    functionSourceFile: "org.slf4j.event.DefaultLoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.DefaultLoggingEvent].setThrowable(java.lang.Throwable)"
    functionSourceFile: "org.slf4j.event.DefaultLoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.DefaultLoggingEvent].getLevel()"
    functionSourceFile: "org.slf4j.event.DefaultLoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "org.slf4j.event.Level"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.DefaultLoggingEvent].getLoggerName()"
    functionSourceFile: "org.slf4j.event.DefaultLoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.Logger].getName()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.event.DefaultLoggingEvent:104,1"
      Dst: "[org.slf4j.Logger].getName()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.DefaultLoggingEvent].getMessage()"
    functionSourceFile: "org.slf4j.event.DefaultLoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.DefaultLoggingEvent].setMessage(java.lang.String)"
    functionSourceFile: "org.slf4j.event.DefaultLoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.DefaultLoggingEvent].getThrowable()"
    functionSourceFile: "org.slf4j.event.DefaultLoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.Throwable"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.DefaultLoggingEvent].getThreadName()"
    functionSourceFile: "org.slf4j.event.DefaultLoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.DefaultLoggingEvent].getTimeStamp()"
    functionSourceFile: "org.slf4j.event.DefaultLoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.DefaultLoggingEvent].setTimeStamp(long)"
    functionSourceFile: "org.slf4j.event.DefaultLoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.DefaultLoggingEvent].setCallerBoundary(java.lang.String)"
    functionSourceFile: "org.slf4j.event.DefaultLoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.DefaultLoggingEvent].getCallerBoundary()"
    functionSourceFile: "org.slf4j.event.DefaultLoggingEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SimpleSSLSocketServer].<init>(ch.qos.logback.classic.LoggerContext,int)"
    functionSourceFile: "ch.qos.logback.classic.net.SimpleSSLSocketServer"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.classic.LoggerContext"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.net.ssl.SSLContext].getDefault()"
    - "[ch.qos.logback.classic.net.SimpleSSLSocketServer].<init>(ch.qos.logback.classic.LoggerContext,int,javax.net.ssl.SSLContext)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SimpleSSLSocketServer:73,1"
      Dst: "[javax.net.ssl.SSLContext].getDefault()"
    - Src: "ch.qos.logback.classic.net.SimpleSSLSocketServer:73,1"
      Dst: "[ch.qos.logback.classic.net.SimpleSSLSocketServer].<init>(ch.qos.logback.classic.LoggerContext,int,javax.net.ssl.SSLContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SimpleSSLSocketServer].<init>(ch.qos.logback.classic.LoggerContext,int,javax.net.ssl.SSLContext)"
    functionSourceFile: "ch.qos.logback.classic.net.SimpleSSLSocketServer"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "ch.qos.logback.classic.LoggerContext"
    - "int"
    - "javax.net.ssl.SSLContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.net.SimpleSocketServer].<init>(ch.qos.logback.classic.LoggerContext,int)"
    - "[java.lang.NullPointerException].<init>(java.lang.String)"
    - "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].<init>()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[javax.net.ssl.SSLContext].getServerSocketFactory()"
    - "[ch.qos.logback.core.net.ssl.ConfigurableSSLServerSocketFactory].<init>(ch.qos.logback.core.net.ssl.SSLParametersConfiguration,javax.net.ssl.SSLServerSocketFactory)"
    functionUses: 0
    ICount: 17
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.net.SimpleSSLSocketServer:85"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.net.SimpleSSLSocketServer:88"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.net.SimpleSSLSocketServer:87"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.net.SimpleSSLSocketServer:84,1"
      Dst: "[ch.qos.logback.classic.net.SimpleSocketServer].<init>(ch.qos.logback.classic.LoggerContext,int)"
    - Src: "ch.qos.logback.classic.net.SimpleSSLSocketServer:86,1"
      Dst: "[java.lang.NullPointerException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.classic.net.SimpleSSLSocketServer:88,1"
      Dst: "[ch.qos.logback.core.net.ssl.SSLParametersConfiguration].<init>()"
    - Src: "ch.qos.logback.classic.net.SimpleSSLSocketServer:90,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.net.SimpleSSLSocketServer:91,1"
      Dst: "[javax.net.ssl.SSLContext].getServerSocketFactory()"
    - Src: "ch.qos.logback.classic.net.SimpleSSLSocketServer:91,1"
      Dst: "[ch.qos.logback.core.net.ssl.ConfigurableSSLServerSocketFactory].<init>(ch.qos.logback.core.net.ssl.SSLParametersConfiguration,javax.net.ssl.SSLServerSocketFactory)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.net.SimpleSSLSocketServer].getServerSocketFactory()"
    functionSourceFile: "ch.qos.logback.classic.net.SimpleSSLSocketServer"
    linkageType: null
    functionLinenumber: 95
    functionDepth: 0
    returnType: "javax.net.ServerSocketFactory"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.NOPSiftModelHandler].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.sift.NOPSiftModelHandler"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.NOPSiftModelHandler:26,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.NOPSiftModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.sift.NOPSiftModelHandler"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.sift.NOPSiftModelHandler"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.sift.NOPSiftModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.sift.NOPSiftModelHandler:30,1"
      Dst: "[ch.qos.logback.core.sift.NOPSiftModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.NOPSiftModelHandler].getSupportedModelClass()"
    functionSourceFile: "ch.qos.logback.core.sift.NOPSiftModelHandler"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 0
    returnType: "java.lang.Class"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.sift.NOPSiftModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.sift.NOPSiftModelHandler"
    linkageType: null
    functionLinenumber: 40
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.stax.BodyEvent].<init>(java.lang.String,javax.xml.stream.Location)"
    functionSourceFile: "ch.qos.logback.core.joran.event.stax.BodyEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "javax.xml.stream.Location"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.event.stax.StaxEvent].<init>(java.lang.String,javax.xml.stream.Location)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.stax.BodyEvent:23,1"
      Dst: "[ch.qos.logback.core.joran.event.stax.StaxEvent].<init>(java.lang.String,javax.xml.stream.Location)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.stax.BodyEvent].getText()"
    functionSourceFile: "ch.qos.logback.core.joran.event.stax.BodyEvent"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.stax.BodyEvent].append(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.event.stax.BodyEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.stax.BodyEvent:32,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.stax.BodyEvent].toString()"
    functionSourceFile: "ch.qos.logback.core.joran.event.stax.BodyEvent"
    linkageType: null
    functionLinenumber: 36
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.event.stax.BodyEvent].getText()"
    - "[javax.xml.stream.Location].getLineNumber()"
    - "[javax.xml.stream.Location].getColumnNumber()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int,int)"
    functionUses: 3
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.stax.BodyEvent:37,1"
      Dst: "[ch.qos.logback.core.joran.event.stax.BodyEvent].getText()"
    - Src: "ch.qos.logback.core.joran.event.stax.BodyEvent:37,1"
      Dst: "[javax.xml.stream.Location].getLineNumber()"
    - Src: "ch.qos.logback.core.joran.event.stax.BodyEvent:37,1"
      Dst: "[javax.xml.stream.Location].getColumnNumber()"
    - Src: "ch.qos.logback.core.joran.event.stax.BodyEvent:37,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.stax.BodyEvent].getText()"
    functionSourceFile: "ch.qos.logback.core.joran.event.stax.BodyEvent"
    linkageType: null
    functionLinenumber: 27
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.Level].values()"
    functionSourceFile: "org.slf4j.event.Level"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "org.slf4j.event.Level[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].clone()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.event.Level:16,1"
      Dst: "[java.lang.Object].clone()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.Level].valueOf(java.lang.String)"
    functionSourceFile: "org.slf4j.event.Level"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "org.slf4j.event.Level"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.event.Level:16,1"
      Dst: "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.Level].<init>(java.lang.String,int,int,java.lang.String)"
    functionSourceFile: "org.slf4j.event.Level"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 0
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.lang.String"
    - "int"
    - "int"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].<init>(java.lang.String,int)"
    functionUses: 5
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.event.Level:23,1"
      Dst: "[java.lang.Enum].<init>(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.Level].toInt()"
    functionSourceFile: "org.slf4j.event.Level"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.Level].intToLevel(int)"
    functionSourceFile: "org.slf4j.event.Level"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "org.slf4j.event.Level"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 21
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.event.Level:45,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.slf4j.event.Level:45,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.slf4j.event.Level:45,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "org.slf4j.event.Level:45,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "org.slf4j.event.Level:45,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.Level].toString()"
    functionSourceFile: "org.slf4j.event.Level"
    linkageType: null
    functionLinenumber: 52
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.event.Level].$values()"
    functionSourceFile: "org.slf4j.event.Level"
    linkageType: null
    functionLinenumber: 15
    functionDepth: 0
    returnType: "org.slf4j.event.Level[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 12
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.COWArrayList].<init>(java.lang.Object[])"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: 62
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)"
    - "[java.util.concurrent.CopyOnWriteArrayList].<init>()"
    functionUses: 2
    ICount: 11
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:63,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.util.COWArrayList:58,1"
      Dst: "[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)"
    - Src: "ch.qos.logback.core.util.COWArrayList:59,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.COWArrayList].size()"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: 68
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.CopyOnWriteArrayList].size()"
    functionUses: 42
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:69,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].size()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.COWArrayList].isEmpty()"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: 73
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.CopyOnWriteArrayList].isEmpty()"
    functionUses: 18
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:74,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].isEmpty()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.COWArrayList].contains(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: 78
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.CopyOnWriteArrayList].contains(java.lang.Object)"
    functionUses: 3
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:79,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].contains(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.COWArrayList].iterator()"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: 83
    functionDepth: 0
    returnType: "java.util.Iterator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    functionUses: 57
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:84,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.COWArrayList].refreshCopyIfNecessary()"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: 87
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].isFresh()"
    - "[ch.qos.logback.core.util.COWArrayList].refreshCopy()"
    functionUses: 3
    ICount: 5
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.COWArrayList:88"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.COWArrayList:91"
        BranchSideFuncs:
        - "refreshCopy()"
      - BranchSide: "ch.qos.logback.core.util.COWArrayList:90"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:88,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].isFresh()"
    - Src: "ch.qos.logback.core.util.COWArrayList:89,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].refreshCopy()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.COWArrayList].isFresh()"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: 93
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicBoolean].get()"
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:94,1"
      Dst: "[java.util.concurrent.atomic.AtomicBoolean].get()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.COWArrayList].refreshCopy()"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: 97
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.CopyOnWriteArrayList].toArray(java.lang.Object[])"
    - "[java.util.concurrent.atomic.AtomicBoolean].set(boolean)"
    functionUses: 1
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:98,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].toArray(java.lang.Object[])"
    - Src: "ch.qos.logback.core.util.COWArrayList:99,1"
      Dst: "[java.util.concurrent.atomic.AtomicBoolean].set(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.COWArrayList].toArray()"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "java.lang.Object[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].refreshCopyIfNecessary()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:104,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].refreshCopyIfNecessary()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.COWArrayList].refreshCopyIfNecessary()"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: 87
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].isFresh()"
    - "[ch.qos.logback.core.util.COWArrayList].refreshCopy()"
    functionUses: 3
    ICount: 5
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.COWArrayList:88"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.COWArrayList:91"
        BranchSideFuncs:
        - "refreshCopy()"
      - BranchSide: "ch.qos.logback.core.util.COWArrayList:90"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:88,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].isFresh()"
    - Src: "ch.qos.logback.core.util.COWArrayList:89,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].refreshCopy()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.COWArrayList].toArray(java.lang.Object[])"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: 110
    functionDepth: 2
    returnType: "java.lang.Object[]"
    argCount: 1
    argTypes:
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].refreshCopyIfNecessary()"
    functionUses: 3
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:111,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].refreshCopyIfNecessary()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.COWArrayList].refreshCopyIfNecessary()"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: 87
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].isFresh()"
    - "[ch.qos.logback.core.util.COWArrayList].refreshCopy()"
    functionUses: 3
    ICount: 5
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.COWArrayList:88"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.COWArrayList:91"
        BranchSideFuncs:
        - "refreshCopy()"
      - BranchSide: "ch.qos.logback.core.util.COWArrayList:90"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:88,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].isFresh()"
    - Src: "ch.qos.logback.core.util.COWArrayList:89,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].refreshCopy()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.COWArrayList].asTypedArray()"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: 122
    functionDepth: 2
    returnType: "java.lang.Object[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].refreshCopyIfNecessary()"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:123,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].refreshCopyIfNecessary()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.COWArrayList].markAsStale()"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: 127
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicBoolean].set(boolean)"
    functionUses: 9
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:128,1"
      Dst: "[java.util.concurrent.atomic.AtomicBoolean].set(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.COWArrayList].addIfAbsent(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: 131
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].markAsStale()"
    - "[java.util.concurrent.CopyOnWriteArrayList].addIfAbsent(java.lang.Object)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:132,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].addIfAbsent(java.lang.Object)"
    - Src: "ch.qos.logback.core.util.COWArrayList:133,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].markAsStale()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: 137
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].markAsStale()"
    - "[java.util.concurrent.CopyOnWriteArrayList].add(java.lang.Object)"
    functionUses: 75
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:138,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].add(java.lang.Object)"
    - Src: "ch.qos.logback.core.util.COWArrayList:139,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].markAsStale()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.COWArrayList].remove(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: 144
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].markAsStale()"
    - "[java.util.concurrent.CopyOnWriteArrayList].remove(java.lang.Object)"
    functionUses: 3
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:145,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].remove(java.lang.Object)"
    - Src: "ch.qos.logback.core.util.COWArrayList:146,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].markAsStale()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.COWArrayList].containsAll(java.util.Collection)"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.util.Collection"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.CopyOnWriteArrayList].containsAll(java.util.Collection)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:152,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].containsAll(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.COWArrayList].addAll(java.util.Collection)"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: 156
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.util.Collection"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].markAsStale()"
    - "[java.util.concurrent.CopyOnWriteArrayList].addAll(java.util.Collection)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:157,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].markAsStale()"
    - Src: "ch.qos.logback.core.util.COWArrayList:158,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].addAll(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.COWArrayList].markAsStale()"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: 127
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicBoolean].set(boolean)"
    functionUses: 9
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:128,1"
      Dst: "[java.util.concurrent.atomic.AtomicBoolean].set(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.COWArrayList].addAll(int,java.util.Collection)"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: 163
    functionDepth: 1
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "int"
    - "java.util.Collection"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].markAsStale()"
    - "[java.util.concurrent.CopyOnWriteArrayList].addAll(int,java.util.Collection)"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:164,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].markAsStale()"
    - Src: "ch.qos.logback.core.util.COWArrayList:165,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].addAll(int,java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.COWArrayList].markAsStale()"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: 127
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicBoolean].set(boolean)"
    functionUses: 9
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:128,1"
      Dst: "[java.util.concurrent.atomic.AtomicBoolean].set(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.COWArrayList].removeAll(java.util.Collection)"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: 170
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.util.Collection"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].markAsStale()"
    - "[java.util.concurrent.CopyOnWriteArrayList].removeAll(java.util.Collection)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:171,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].markAsStale()"
    - Src: "ch.qos.logback.core.util.COWArrayList:172,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].removeAll(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.COWArrayList].markAsStale()"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: 127
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicBoolean].set(boolean)"
    functionUses: 9
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:128,1"
      Dst: "[java.util.concurrent.atomic.AtomicBoolean].set(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.COWArrayList].retainAll(java.util.Collection)"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: 177
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.util.Collection"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].markAsStale()"
    - "[java.util.concurrent.CopyOnWriteArrayList].retainAll(java.util.Collection)"
    functionUses: 2
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:178,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].markAsStale()"
    - Src: "ch.qos.logback.core.util.COWArrayList:179,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].retainAll(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.COWArrayList].markAsStale()"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: 127
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicBoolean].set(boolean)"
    functionUses: 9
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:128,1"
      Dst: "[java.util.concurrent.atomic.AtomicBoolean].set(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.COWArrayList].clear()"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: 184
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].markAsStale()"
    - "[java.util.concurrent.CopyOnWriteArrayList].clear()"
    functionUses: 6
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:185,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].markAsStale()"
    - Src: "ch.qos.logback.core.util.COWArrayList:186,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].clear()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.COWArrayList].get(int)"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: 190
    functionDepth: 2
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].refreshCopyIfNecessary()"
    functionUses: 33
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:191,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].refreshCopyIfNecessary()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.COWArrayList].refreshCopyIfNecessary()"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: 87
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].isFresh()"
    - "[ch.qos.logback.core.util.COWArrayList].refreshCopy()"
    functionUses: 3
    ICount: 5
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.COWArrayList:88"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.COWArrayList:91"
        BranchSideFuncs:
        - "refreshCopy()"
      - BranchSide: "ch.qos.logback.core.util.COWArrayList:90"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:88,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].isFresh()"
    - Src: "ch.qos.logback.core.util.COWArrayList:89,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].refreshCopy()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.COWArrayList].set(int,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "int"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].markAsStale()"
    - "[java.util.concurrent.CopyOnWriteArrayList].set(int,java.lang.Object)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:197,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].markAsStale()"
    - Src: "ch.qos.logback.core.util.COWArrayList:198,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].set(int,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.COWArrayList].markAsStale()"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: 127
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicBoolean].set(boolean)"
    functionUses: 9
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:128,1"
      Dst: "[java.util.concurrent.atomic.AtomicBoolean].set(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.COWArrayList].add(int,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].markAsStale()"
    - "[java.util.concurrent.CopyOnWriteArrayList].add(int,java.lang.Object)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:204,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].markAsStale()"
    - Src: "ch.qos.logback.core.util.COWArrayList:205,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].add(int,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.COWArrayList].markAsStale()"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: 127
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicBoolean].set(boolean)"
    functionUses: 9
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:128,1"
      Dst: "[java.util.concurrent.atomic.AtomicBoolean].set(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.COWArrayList].remove(int)"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: 209
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].markAsStale()"
    - "[java.util.concurrent.CopyOnWriteArrayList].remove(int)"
    functionUses: 4
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:210,1"
      Dst: "[ch.qos.logback.core.util.COWArrayList].markAsStale()"
    - Src: "ch.qos.logback.core.util.COWArrayList:211,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].remove(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.COWArrayList].markAsStale()"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: 127
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicBoolean].set(boolean)"
    functionUses: 9
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:128,1"
      Dst: "[java.util.concurrent.atomic.AtomicBoolean].set(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.COWArrayList].indexOf(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.CopyOnWriteArrayList].indexOf(java.lang.Object)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:217,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].indexOf(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.COWArrayList].lastIndexOf(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.CopyOnWriteArrayList].lastIndexOf(java.lang.Object)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:222,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].lastIndexOf(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.COWArrayList].listIterator()"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.util.ListIterator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.CopyOnWriteArrayList].listIterator()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:227,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].listIterator()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.COWArrayList].listIterator(int)"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.util.ListIterator"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.CopyOnWriteArrayList].listIterator(int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:232,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].listIterator(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.COWArrayList].subList(int,int)"
    functionSourceFile: "ch.qos.logback.core.util.COWArrayList"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 2
    argTypes:
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.CopyOnWriteArrayList].subList(int,int)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.COWArrayList:237,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].subList(int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__6].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__6"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__6].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__6:-1,1"
      Dst: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__6].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__6].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__6"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__6:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__6].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__6"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__6:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__6].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__6"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$makeInstance__6:-1,1"
      Dst: "[ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler:33,1"
      Dst: "[ch.qos.logback.core.model.processor.SequenceNumberGeneratorModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggerContextAwareBase].<init>()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggerContextAwareBase"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggerContextAwareBase:20,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.LoggerContextAwareBase].setLoggerContext(ch.qos.logback.classic.LoggerContext)"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggerContextAwareBase"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.LoggerContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggerContextAwareBase:26,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 67
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:45"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:44"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:47"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:46,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.LoggerContextAwareBase].setContext(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggerContextAwareBase"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 7
    ICount: 11
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.LoggerContextAwareBase:33"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggerContextAwareBase:34"
        BranchSideFuncs:
        - "setContext(ch.qos.logback.core.Context)"
      - BranchSide: "ch.qos.logback.classic.spi.LoggerContextAwareBase:33"
        BranchSideFuncs:
        - "setContext(ch.qos.logback.core.Context)"
    - Branch String: "ch.qos.logback.classic.spi.LoggerContextAwareBase:33"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.LoggerContextAwareBase:36"
        BranchSideFuncs:
        - "setContext(ch.qos.logback.core.Context)"
      - BranchSide: "ch.qos.logback.classic.spi.LoggerContextAwareBase:35"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.LoggerContextAwareBase:34,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.spi.LoggerContextAwareBase:36,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 67
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:43"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:45"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:44"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.spi.ContextAwareBase:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:48"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.spi.ContextAwareBase:47"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:46,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.spi.LoggerContextAwareBase].getLoggerContext()"
    functionSourceFile: "ch.qos.logback.classic.spi.LoggerContextAwareBase"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.classic.LoggerContext"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__78].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__78"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__78].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__78:-1,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__78].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__78].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__78"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__78:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__78].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__78"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.PropertyModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__78:-1,1"
      Dst: "[ch.qos.logback.core.model.processor.PropertyModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.PropertyModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.PropertyModelHandler"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.PropertyModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.PropertyModelHandler:29,1"
      Dst: "[ch.qos.logback.core.model.processor.PropertyModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP].<init>()"
    functionSourceFile: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP].<init>(ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP$Usage)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:54,1"
      Dst: "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP].<init>(ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP$Usage)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP].<init>(ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP$Usage)"
    functionSourceFile: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"
    linkageType: null
    functionLinenumber: 56
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP$Usage"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.SimpleInvocationGate].<init>()"
    - "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase].<init>()"
    functionUses: 1
    ICount: 10
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:57,1"
      Dst: "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase].<init>()"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:51,1"
      Dst: "[ch.qos.logback.core.util.SimpleInvocationGate].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP].start()"
    functionSourceFile: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"
    linkageType: null
    functionLinenumber: 63
    functionDepth: 6
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase].start()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase].isErrorFree()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase].withErrors()"
    - "[ch.qos.logback.core.util.SimpleInvocationGate].<init>(ch.qos.logback.core.util.Duration)"
    - "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP].validateDateAndIntegerTokens()"
    - "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP].createArchiveRemover()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].toRegexForFixedDate(java.time.Instant)"
    - "[ch.qos.logback.core.rolling.helper.FileFilterUtil].afterLastSlash(java.lang.String)"
    - "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP].computeCurrentPeriodsHighestCounterValue(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAware].setContext(ch.qos.logback.core.Context)"
    functionUses: 6
    ICount: 39
    EdgeCount: 15
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:66"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:71"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:70"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:71"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:74"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:73"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:74"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:79"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:78"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:79"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:82"
        BranchSideFuncs:
        - "<init>(ch.qos.logback.core.util.Duration)"
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:81"
        BranchSideFuncs:
        - "validateDateAndIntegerTokens()"
    - Branch String: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:82"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:87"
        BranchSideFuncs:
        - "withErrors()"
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:86"
        BranchSideFuncs:
        - "afterLastSlash(java.lang.String)"
        - "createArchiveRemover()"
        - "isErrorFree()"
        - "toRegexForFixedDate(java.time.Instant)"
        - "setContext(ch.qos.logback.core.Context)"
        - "computeCurrentPeriodsHighestCounterValue(java.lang.String)"
    - Branch String: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:98"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:101"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:100"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:64,1"
      Dst: "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase].start()"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:67,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:71,1"
      Dst: "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase].isErrorFree()"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:75,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:76,1"
      Dst: "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase].withErrors()"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:80,1"
      Dst: "[ch.qos.logback.core.util.SimpleInvocationGate].<init>(ch.qos.logback.core.util.Duration)"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:82,1"
      Dst: "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP].validateDateAndIntegerTokens()"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:87,1"
      Dst: "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP].createArchiveRemover()"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:88,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:93,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileNamePattern].toRegexForFixedDate(java.time.Instant)"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:94,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].afterLastSlash(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:96,1"
      Dst: "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP].computeCurrentPeriodsHighestCounterValue(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 13
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 96
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.SimpleInvocationGate].<init>(ch.qos.logback.core.util.Duration)"
    functionSourceFile: "ch.qos.logback.core.util.SimpleInvocationGate"
    linkageType: null
    functionLinenumber: 40
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.util.Duration"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.concurrent.atomic.AtomicLong].<init>(long)"
    functionUses: 3
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.SimpleInvocationGate:41,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.util.SimpleInvocationGate:31,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].<init>(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP].validateDateAndIntegerTokens()"
    functionSourceFile: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"
    linkageType: null
    functionLinenumber: 103
    functionDepth: 2
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].getIntegerTokenConverter()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].getPrimaryDateTokenConverter()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    functionUses: 1
    ICount: 28
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:105"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:110"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:109"
        BranchSideFuncs:
        - "getPrimaryDateTokenConverter()"
    - Branch String: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:110"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:115"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:114"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:115"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:114"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:105,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileNamePattern].getIntegerTokenConverter()"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:107,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:107,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:110,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileNamePattern].getPrimaryDateTokenConverter()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.rolling.helper.FileNamePattern].getIntegerTokenConverter()"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileNamePattern"
    linkageType: null
    functionLinenumber: 127
    functionDepth: 0
    returnType: "ch.qos.logback.core.rolling.helper.IntegerTokenConverter"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.Converter].getNext()"
    functionUses: 3
    ICount: 10
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:130"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:137"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:136"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:131"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:135"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:134"
        BranchSideFuncs:
        - "getNext()"
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:135,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].getNext()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.rolling.helper.FileNamePattern].getPrimaryDateTokenConverter()"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileNamePattern"
    linkageType: null
    functionLinenumber: 110
    functionDepth: 1
    returnType: "ch.qos.logback.core.rolling.helper.DateTokenConverter"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.DateTokenConverter].isPrimary()"
    - "[ch.qos.logback.core.pattern.Converter].getNext()"
    functionUses: 3
    ICount: 12
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:113"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:124"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:123"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:114"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:121"
        BranchSideFuncs:
        - "isPrimary()"
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:120"
        BranchSideFuncs:
        - "getNext()"
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:117"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:121"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:120"
        BranchSideFuncs:
        - "getNext()"
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:117,1"
      Dst: "[ch.qos.logback.core.rolling.helper.DateTokenConverter].isPrimary()"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:121,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].getNext()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP].createArchiveRemover()"
    functionSourceFile: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"
    linkageType: null
    functionLinenumber: 118
    functionDepth: 5
    returnType: "ch.qos.logback.core.rolling.helper.ArchiveRemover"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover].<init>(ch.qos.logback.core.rolling.helper.FileNamePattern,ch.qos.logback.core.rolling.helper.RollingCalendar)"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:119,1"
      Dst: "[ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover].<init>(ch.qos.logback.core.rolling.helper.FileNamePattern,ch.qos.logback.core.rolling.helper.RollingCalendar)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover].<init>(ch.qos.logback.core.rolling.helper.FileNamePattern,ch.qos.logback.core.rolling.helper.RollingCalendar)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.rolling.helper.FileNamePattern"
    - "ch.qos.logback.core.rolling.helper.RollingCalendar"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].<init>(ch.qos.logback.core.rolling.helper.FileNamePattern,ch.qos.logback.core.rolling.helper.RollingCalendar)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover:29,1"
      Dst: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].<init>(ch.qos.logback.core.rolling.helper.FileNamePattern,ch.qos.logback.core.rolling.helper.RollingCalendar)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].<init>(ch.qos.logback.core.rolling.helper.FileNamePattern,ch.qos.logback.core.rolling.helper.RollingCalendar)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover"
    linkageType: null
    functionLinenumber: 41
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.rolling.helper.FileNamePattern"
    - "ch.qos.logback.core.rolling.helper.RollingCalendar"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].computeParentCleaningFlag(ch.qos.logback.core.rolling.helper.FileNamePattern)"
    functionUses: 2
    ICount: 13
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:42,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:45,1"
      Dst: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].computeParentCleaningFlag(ch.qos.logback.core.rolling.helper.FileNamePattern)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.FileNamePattern].toRegexForFixedDate(java.time.Instant)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileNamePattern"
    linkageType: null
    functionLinenumber: 222
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.time.Instant"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.FileOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LocalSequenceNumberConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.SyslogStartConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.DateTokenConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.NopThrowableInformationConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.PrefixCompositeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.DateConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.RelativeTimeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.IntegerTokenConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.KeyValuePairConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LineSeparatorConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LineOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.PropertyConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LevelConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MDCConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MessageConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ThreadConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.NamedConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MethodOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MicrosecondConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ContextNameConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MarkerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.CompositeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.SequenceNumberConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.CallerDataConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.LiteralConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.Converter].getNext()"
    - "[java.lang.StringBuilder].<init>()"
    - "[ch.qos.logback.core.pattern.Converter].convert(java.lang.Object)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 2
    ICount: 23
    EdgeCount: 55
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:225"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:235"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:234"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:226"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:228"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:227"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:228"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:230"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:229"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:230"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:233"
        BranchSideFuncs:
        - "convert(java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:232"
        BranchSideFuncs:
        - "getNext()"
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:223,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:227,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].convert(java.lang.Object)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:227,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:233,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].getNext()"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:235,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].afterLastSlash(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileFilterUtil"
    linkageType: null
    functionLinenumber: 45
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].lastIndexOf(int)"
    - "[java.lang.String].substring(int)"
    functionUses: 5
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.FileFilterUtil:47"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:50"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:49"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:46,1"
      Dst: "[java.lang.String].lastIndexOf(int)"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:50,1"
      Dst: "[java.lang.String].substring(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP].computeCurrentPeriodsHighestCounterValue(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"
    linkageType: null
    functionLinenumber: 122
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP].getCurrentPeriodsFileNameWithoutCompressionSuffix()"
    - "[ch.qos.logback.core.rolling.helper.FileFilterUtil].filesInFolderMatchingStemRegex(java.io.File,java.lang.String)"
    - "[ch.qos.logback.core.rolling.helper.FileFilterUtil].findHighestCounter(java.io.File[],java.lang.String)"
    - "[ch.qos.logback.core.rolling.RollingPolicyBase].getParentsRawFileProperty()"
    - "[java.io.File].<init>(java.lang.String)"
    - "[java.io.File].getParentFile()"
    functionUses: 1
    ICount: 25
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:128"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:129"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:128"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:128"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:132"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:131"
        BranchSideFuncs:
        - "findHighestCounter(java.io.File[],java.lang.String)"
        - "getParentsRawFileProperty()"
    - Branch String: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:136"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:137"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:136"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:139"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:123,1"
      Dst: "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP].getCurrentPeriodsFileNameWithoutCompressionSuffix()"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:123,1"
      Dst: "[java.io.File].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:124,1"
      Dst: "[java.io.File].getParentFile()"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:126,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].filesInFolderMatchingStemRegex(java.io.File,java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:132,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].findHighestCounter(java.io.File[],java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:136,1"
      Dst: "[ch.qos.logback.core.rolling.RollingPolicyBase].getParentsRawFileProperty()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP].getCurrentPeriodsFileNameWithoutCompressionSuffix()"
    functionSourceFile: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"
    linkageType: null
    functionLinenumber: 198
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].convertMultipleArguments(java.lang.Object[])"
    - "[java.lang.Integer].valueOf(int)"
    functionUses: 2
    ICount: 11
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:200,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:199,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileNamePattern].convertMultipleArguments(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.FileNamePattern].convertMultipleArguments(java.lang.Object[])"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileNamePattern"
    linkageType: null
    functionLinenumber: 145
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.IntegerTokenConverter].isApplicable(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.DateTokenConverter].isApplicable(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.FileOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LocalSequenceNumberConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.SyslogStartConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.DateTokenConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.NopThrowableInformationConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.PrefixCompositeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.DateConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.RelativeTimeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.IntegerTokenConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.KeyValuePairConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LineSeparatorConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LineOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.PropertyConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LevelConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MDCConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MessageConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ThreadConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.NamedConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MethodOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MicrosecondConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ContextNameConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MarkerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.CompositeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.SequenceNumberConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.CallerDataConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.LiteralConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.Converter].getNext()"
    - "[java.lang.StringBuilder].<init>()"
    - "[ch.qos.logback.core.rolling.helper.MonoTypedConverter].isApplicable(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.Converter].convert(java.lang.Object)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 4
    ICount: 26
    EdgeCount: 57
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:148"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:161"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:160"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:149"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:157"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:156"
        BranchSideFuncs:
        - "convert(java.lang.Object)"
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:151"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:156"
        BranchSideFuncs:
        - "isApplicable(java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:155"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:152"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:150"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:149"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:146,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:152,1"
      Dst: "[ch.qos.logback.core.rolling.helper.MonoTypedConverter].isApplicable(java.lang.Object)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:153,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].convert(java.lang.Object)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:153,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:159,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].getNext()"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:161,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 12
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].filesInFolderMatchingStemRegex(java.io.File,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileFilterUtil"
    linkageType: null
    functionLinenumber: 75
    functionDepth: 2
    returnType: "java.io.File[]"
    argCount: 2
    argTypes:
    - "java.io.File"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.FileFilterUtil$lambda_filesInFolderMatchingStemRegex_0__92].accept(java.io.File,java.lang.String)"
    - "[ch.qos.logback.core.rolling.helper.FileFilterUtil$lambda_filesInFolderMatchingStemRegex_0__92].bootstrap$(java.util.regex.Pattern)"
    - "[java.io.File].exists()"
    - "[java.io.File].isDirectory()"
    - "[java.util.regex.Pattern].compile(java.lang.String)"
    - "[java.io.File].listFiles(java.io.FilenameFilter)"
    functionUses: 2
    ICount: 15
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.FileFilterUtil:76"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:79"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:78"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileFilterUtil:79"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:80"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:79"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileFilterUtil:79"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:84"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:83"
        BranchSideFuncs:
        - "accept(java.io.File,java.lang.String)"
        - "bootstrap$(java.util.regex.Pattern)"
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:79,1"
      Dst: "[java.io.File].exists()"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:79,1"
      Dst: "[java.io.File].isDirectory()"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:84,1"
      Dst: "[java.util.regex.Pattern].compile(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:85,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileFilterUtil$lambda_filesInFolderMatchingStemRegex_0__92].bootstrap$(java.util.regex.Pattern)"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:85,1"
      Dst: "[java.io.File].listFiles(java.io.FilenameFilter)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].findHighestCounter(java.io.File[],java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileFilterUtil"
    linkageType: null
    functionLinenumber: 88
    functionDepth: 1
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.io.File[]"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.FileFilterUtil].extractCounter(java.io.File,java.lang.String)"
    functionUses: 1
    ICount: 13
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.FileFilterUtil:90"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:95"
        BranchSideFuncs:
        - "extractCounter(java.io.File,java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:94"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileFilterUtil:92"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:89"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:88"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:91,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].extractCounter(java.io.File,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP].validateDateAndIntegerTokens()"
    functionSourceFile: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"
    linkageType: null
    functionLinenumber: 103
    functionDepth: 2
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].getIntegerTokenConverter()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].getPrimaryDateTokenConverter()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    functionUses: 1
    ICount: 28
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:105"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:110"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:109"
        BranchSideFuncs:
        - "getPrimaryDateTokenConverter()"
    - Branch String: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:110"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:115"
        BranchSideFuncs:
        - "addError(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:114"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:115"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:114"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:105,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileNamePattern].getIntegerTokenConverter()"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:107,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:107,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:110,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileNamePattern].getPrimaryDateTokenConverter()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP].createArchiveRemover()"
    functionSourceFile: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"
    linkageType: null
    functionLinenumber: 118
    functionDepth: 5
    returnType: "ch.qos.logback.core.rolling.helper.ArchiveRemover"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover].<init>(ch.qos.logback.core.rolling.helper.FileNamePattern,ch.qos.logback.core.rolling.helper.RollingCalendar)"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:119,1"
      Dst: "[ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover].<init>(ch.qos.logback.core.rolling.helper.FileNamePattern,ch.qos.logback.core.rolling.helper.RollingCalendar)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP].computeCurrentPeriodsHighestCounterValue(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"
    linkageType: null
    functionLinenumber: 122
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP].getCurrentPeriodsFileNameWithoutCompressionSuffix()"
    - "[ch.qos.logback.core.rolling.helper.FileFilterUtil].filesInFolderMatchingStemRegex(java.io.File,java.lang.String)"
    - "[ch.qos.logback.core.rolling.helper.FileFilterUtil].findHighestCounter(java.io.File[],java.lang.String)"
    - "[ch.qos.logback.core.rolling.RollingPolicyBase].getParentsRawFileProperty()"
    - "[java.io.File].<init>(java.lang.String)"
    - "[java.io.File].getParentFile()"
    functionUses: 1
    ICount: 25
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:128"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:129"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:128"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:128"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:132"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:131"
        BranchSideFuncs:
        - "findHighestCounter(java.io.File[],java.lang.String)"
        - "getParentsRawFileProperty()"
    - Branch String: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:136"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:137"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:136"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:139"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:123,1"
      Dst: "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP].getCurrentPeriodsFileNameWithoutCompressionSuffix()"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:123,1"
      Dst: "[java.io.File].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:124,1"
      Dst: "[java.io.File].getParentFile()"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:126,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].filesInFolderMatchingStemRegex(java.io.File,java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:132,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].findHighestCounter(java.io.File[],java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:136,1"
      Dst: "[ch.qos.logback.core.rolling.RollingPolicyBase].getParentsRawFileProperty()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP].isTriggeringEvent(java.io.File,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"
    linkageType: null
    functionLinenumber: 144
    functionDepth: 3
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.io.File"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase].getCurrentTime()"
    - "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase].computeNextCheck(long)"
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].convertMultipleArguments(java.lang.Object[])"
    - "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase].setDateInCurrentPeriod(long)"
    - "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP].checkSizeBasedTrigger(java.io.File,long)"
    - "[java.util.concurrent.atomic.AtomicLong].get()"
    - "[java.util.concurrent.atomic.AtomicLong].set(long)"
    - "[java.lang.Integer].valueOf(int)"
    functionUses: 2
    ICount: 27
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:149"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:161"
        BranchSideFuncs:
        - "convertMultipleArguments(java.lang.Object[])"
        - "computeNextCheck(long)"
        - "setDateInCurrentPeriod(long)"
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:160"
        BranchSideFuncs:
        - "checkSizeBasedTrigger(java.io.File,long)"
    Callsites:
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:145,1"
      Dst: "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase].getCurrentTime()"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:146,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].get()"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:150,1"
      Dst: "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase].computeNextCheck(long)"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:151,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].set(long)"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:154,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:153,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileNamePattern].convertMultipleArguments(java.lang.Object[])"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:156,1"
      Dst: "[ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase].setDateInCurrentPeriod(long)"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:161,1"
      Dst: "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP].checkSizeBasedTrigger(java.io.File,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.FileNamePattern].convertMultipleArguments(java.lang.Object[])"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileNamePattern"
    linkageType: null
    functionLinenumber: 145
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.IntegerTokenConverter].isApplicable(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.DateTokenConverter].isApplicable(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.FileOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LocalSequenceNumberConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.SyslogStartConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.DateTokenConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.NopThrowableInformationConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.PrefixCompositeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.DateConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.RelativeTimeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.IntegerTokenConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.KeyValuePairConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LineSeparatorConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LineOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.PropertyConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LevelConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MDCConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MessageConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ThreadConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.NamedConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MethodOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MicrosecondConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ContextNameConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MarkerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.CompositeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.SequenceNumberConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.CallerDataConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.LiteralConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.Converter].getNext()"
    - "[java.lang.StringBuilder].<init>()"
    - "[ch.qos.logback.core.rolling.helper.MonoTypedConverter].isApplicable(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.Converter].convert(java.lang.Object)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 4
    ICount: 26
    EdgeCount: 57
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:148"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:161"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:160"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:149"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:157"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:156"
        BranchSideFuncs:
        - "convert(java.lang.Object)"
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:151"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:156"
        BranchSideFuncs:
        - "isApplicable(java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:155"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:152"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:150"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:149"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:146,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:152,1"
      Dst: "[ch.qos.logback.core.rolling.helper.MonoTypedConverter].isApplicable(java.lang.Object)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:153,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].convert(java.lang.Object)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:153,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:159,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].getNext()"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:161,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 12
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP].checkSizeBasedTrigger(java.io.File,long)"
    functionSourceFile: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"
    linkageType: null
    functionLinenumber: 165
    functionDepth: 2
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.io.File"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.SimpleInvocationGate].isTooSoon(long)"
    - "[ch.qos.logback.core.util.DefaultInvocationGate].isTooSoon(long)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.util.FileSize].getSize()"
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].convertMultipleArguments(java.lang.Object[])"
    - "[ch.qos.logback.core.util.InvocationGate].isTooSoon(long)"
    - "[java.io.File].length()"
    - "[java.lang.Integer].valueOf(int)"
    functionUses: 1
    ICount: 35
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:166"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:170"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:169"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:170"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:174"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:173"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:174"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:178"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:177"
        BranchSideFuncs:
        - "getSize()"
    - Branch String: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:178"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:185"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:166,1"
      Dst: "[ch.qos.logback.core.util.InvocationGate].isTooSoon(long)"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:171,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:178,1"
      Dst: "[java.io.File].length()"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:178,1"
      Dst: "[ch.qos.logback.core.util.FileSize].getSize()"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:181,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:180,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileNamePattern].convertMultipleArguments(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 96
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.FileSize].getSize()"
    functionSourceFile: "ch.qos.logback.core.util.FileSize"
    linkageType: null
    functionLinenumber: 54
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 7
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP].checkSizeBasedTrigger(java.io.File,long)"
    functionSourceFile: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"
    linkageType: null
    functionLinenumber: 165
    functionDepth: 2
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.io.File"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.SimpleInvocationGate].isTooSoon(long)"
    - "[ch.qos.logback.core.util.DefaultInvocationGate].isTooSoon(long)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.util.FileSize].getSize()"
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].convertMultipleArguments(java.lang.Object[])"
    - "[ch.qos.logback.core.util.InvocationGate].isTooSoon(long)"
    - "[java.io.File].length()"
    - "[java.lang.Integer].valueOf(int)"
    functionUses: 1
    ICount: 35
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:166"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:170"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:169"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:170"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:174"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:173"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:174"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:178"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:177"
        BranchSideFuncs:
        - "getSize()"
    - Branch String: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:178"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:185"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:166,1"
      Dst: "[ch.qos.logback.core.util.InvocationGate].isTooSoon(long)"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:171,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:178,1"
      Dst: "[java.io.File].length()"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:178,1"
      Dst: "[ch.qos.logback.core.util.FileSize].getSize()"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:181,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:180,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileNamePattern].convertMultipleArguments(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP].getCheckIncrement()"
    functionSourceFile: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.core.util.Duration"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP].setCheckIncrement(ch.qos.logback.core.util.Duration)"
    functionSourceFile: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.util.Duration"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP].getCurrentPeriodsFileNameWithoutCompressionSuffix()"
    functionSourceFile: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"
    linkageType: null
    functionLinenumber: 198
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].convertMultipleArguments(java.lang.Object[])"
    - "[java.lang.Integer].valueOf(int)"
    functionUses: 2
    ICount: 11
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:200,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP:199,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileNamePattern].convertMultipleArguments(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP].setMaxFileSize(ch.qos.logback.core.util.FileSize)"
    functionSourceFile: "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"
    linkageType: null
    functionLinenumber: 203
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.util.FileSize"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.AppenderAction].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.action.AppenderAction"
    linkageType: null
    functionLinenumber: 8
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.AppenderAction:9,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.AppenderAction].validPreconditions(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.AppenderAction"
    linkageType: null
    functionLinenumber: 12
    functionDepth: 4
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].<init>(ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].validateClassAttribute()"
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].validateNameAttribute()"
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].isValid()"
    functionUses: 1
    ICount: 10
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.AppenderAction:13,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].<init>(ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    - Src: "ch.qos.logback.core.joran.action.AppenderAction:14,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].validateClassAttribute()"
    - Src: "ch.qos.logback.core.joran.action.AppenderAction:15,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].validateNameAttribute()"
    - Src: "ch.qos.logback.core.joran.action.AppenderAction:16,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].isValid()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].<init>(ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 1
    returnType: "void"
    argCount: 4
    argTypes:
    - "ch.qos.logback.core.spi.ContextAware"
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>(ch.qos.logback.core.spi.ContextAware)"
    - "[ch.qos.logback.core.joran.event.SaxEventRecorder].getContext()"
    - "[ch.qos.logback.core.pattern.DynamicConverter].getContext()"
    - "[ch.qos.logback.core.LayoutBase:ch.qos.logback.core.spi.ContextAwareBase:ch.qos.logback.core.spi.ContextAwareImpl].getContext()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAware].getContext()"
    functionUses: 16
    ICount: 13
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:33,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>(ch.qos.logback.core.spi.ContextAware)"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:34,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].getContext()"
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:34,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].validateClassAttribute()"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 53
    functionDepth: 3
    returnType: "ch.qos.logback.core.joran.action.PreconditionValidator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].generic(java.lang.String)"
    functionUses: 6
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:54,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].generic(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].validateNameAttribute()"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 57
    functionDepth: 3
    returnType: "ch.qos.logback.core.joran.action.PreconditionValidator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.PreconditionValidator].generic(java.lang.String)"
    functionUses: 5
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.PreconditionValidator:58,1"
      Dst: "[ch.qos.logback.core.joran.action.PreconditionValidator].generic(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.PreconditionValidator].isValid()"
    functionSourceFile: "ch.qos.logback.core.joran.action.PreconditionValidator"
    linkageType: null
    functionLinenumber: 79
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 16
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.AppenderAction].buildCurrentModel(ch.qos.logback.core.joran.spi.SaxEventInterpretationContext,java.lang.String,org.xml.sax.Attributes)"
    functionSourceFile: "ch.qos.logback.core.joran.action.AppenderAction"
    linkageType: null
    functionLinenumber: 21
    functionDepth: 4
    returnType: "ch.qos.logback.core.model.Model"
    argCount: 3
    argTypes:
    - "ch.qos.logback.core.joran.spi.SaxEventInterpretationContext"
    - "java.lang.String"
    - "org.xml.sax.Attributes"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.AppenderModel].<init>()"
    - "[org.xml.sax.helpers.AttributesImpl].getValue(java.lang.String)"
    - "[ch.qos.logback.core.model.ComponentModel].setClassName(java.lang.String)"
    - "[ch.qos.logback.core.model.NamedComponentModel].setName(java.lang.String)"
    - "[org.xml.sax.Attributes].getValue(java.lang.String)"
    functionUses: 1
    ICount: 11
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.AppenderAction:22,1"
      Dst: "[ch.qos.logback.core.model.AppenderModel].<init>()"
    - Src: "ch.qos.logback.core.joran.action.AppenderAction:23,1"
      Dst: "[org.xml.sax.Attributes].getValue(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.AppenderAction:23,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].setClassName(java.lang.String)"
    - Src: "ch.qos.logback.core.joran.action.AppenderAction:24,1"
      Dst: "[ch.qos.logback.core.model.NamedComponentModel].setName(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.AppenderModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.AppenderModel"
    linkageType: null
    functionLinenumber: 19
    functionDepth: 3
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.NamedComponentModel].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.AppenderModel:20,1"
      Dst: "[ch.qos.logback.core.model.NamedComponentModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.ComponentModel].setClassName(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.ComponentModel"
    linkageType: null
    functionLinenumber: 47
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 9
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.NamedComponentModel].setName(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.NamedComponentModel"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover].<init>(ch.qos.logback.core.rolling.helper.FileNamePattern,ch.qos.logback.core.rolling.helper.RollingCalendar)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.rolling.helper.FileNamePattern"
    - "ch.qos.logback.core.rolling.helper.RollingCalendar"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].<init>(ch.qos.logback.core.rolling.helper.FileNamePattern,ch.qos.logback.core.rolling.helper.RollingCalendar)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover:29,1"
      Dst: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].<init>(ch.qos.logback.core.rolling.helper.FileNamePattern,ch.qos.logback.core.rolling.helper.RollingCalendar)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover].getFilesInPeriod(java.time.Instant)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover"
    linkageType: null
    functionLinenumber: 32
    functionDepth: 3
    returnType: "java.io.File[]"
    argCount: 1
    argTypes:
    - "java.time.Instant"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].convertMultipleArguments(java.lang.Object[])"
    - "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].getParentDir(java.io.File)"
    - "[ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover].createStemRegex(java.time.Instant)"
    - "[ch.qos.logback.core.rolling.helper.FileFilterUtil].filesInFolderMatchingStemRegex(java.io.File,java.lang.String)"
    - "[java.lang.Integer].valueOf(int)"
    - "[java.io.File].<init>(java.lang.String)"
    functionUses: 2
    ICount: 14
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover:33,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover:33,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileNamePattern].convertMultipleArguments(java.lang.Object[])"
    - Src: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover:33,1"
      Dst: "[java.io.File].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover:34,1"
      Dst: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].getParentDir(java.io.File)"
    - Src: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover:35,1"
      Dst: "[ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover].createStemRegex(java.time.Instant)"
    - Src: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover:36,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].filesInFolderMatchingStemRegex(java.io.File,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.FileNamePattern].convertMultipleArguments(java.lang.Object[])"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileNamePattern"
    linkageType: null
    functionLinenumber: 145
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.IntegerTokenConverter].isApplicable(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.DateTokenConverter].isApplicable(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.FileOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LocalSequenceNumberConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.SyslogStartConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.DateTokenConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.NopThrowableInformationConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.PrefixCompositeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.DateConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.RelativeTimeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.IntegerTokenConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.KeyValuePairConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LineSeparatorConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LineOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.PropertyConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LevelConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MDCConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MessageConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ThreadConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.NamedConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MethodOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MicrosecondConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ContextNameConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MarkerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.CompositeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.SequenceNumberConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.CallerDataConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.LiteralConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.Converter].getNext()"
    - "[java.lang.StringBuilder].<init>()"
    - "[ch.qos.logback.core.rolling.helper.MonoTypedConverter].isApplicable(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.Converter].convert(java.lang.Object)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 4
    ICount: 26
    EdgeCount: 57
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:148"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:161"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:160"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:149"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:157"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:156"
        BranchSideFuncs:
        - "convert(java.lang.Object)"
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:151"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:156"
        BranchSideFuncs:
        - "isApplicable(java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:155"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:152"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:150"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:149"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:146,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:152,1"
      Dst: "[ch.qos.logback.core.rolling.helper.MonoTypedConverter].isApplicable(java.lang.Object)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:153,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].convert(java.lang.Object)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:153,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:159,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].getNext()"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:161,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 12
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover].getParentDir(java.io.File)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover"
    linkageType: null
    functionLinenumber: 151
    functionDepth: 0
    returnType: "java.io.File"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.File].getAbsoluteFile()"
    - "[java.io.File].getParentFile()"
    functionUses: 2
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:152,1"
      Dst: "[java.io.File].getAbsoluteFile()"
    - Src: "ch.qos.logback.core.rolling.helper.TimeBasedArchiveRemover:153,1"
      Dst: "[java.io.File].getParentFile()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover].createStemRegex(java.time.Instant)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover"
    linkageType: null
    functionLinenumber: 40
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.time.Instant"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].toRegexForFixedDate(java.time.Instant)"
    - "[ch.qos.logback.core.rolling.helper.FileFilterUtil].afterLastSlash(java.lang.String)"
    functionUses: 2
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover:41,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileNamePattern].toRegexForFixedDate(java.time.Instant)"
    - Src: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover:42,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].afterLastSlash(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.FileNamePattern].toRegexForFixedDate(java.time.Instant)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileNamePattern"
    linkageType: null
    functionLinenumber: 222
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.time.Instant"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.FileOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LocalSequenceNumberConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.SyslogStartConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.DateTokenConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.NopThrowableInformationConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.PrefixCompositeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.DateConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.RelativeTimeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.rolling.helper.IntegerTokenConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.KeyValuePairConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LineSeparatorConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LineOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.PropertyConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.LevelConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MDCConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MessageConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ThreadConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.NamedConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MethodOfCallerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MicrosecondConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.ContextNameConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.MarkerConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.CompositeConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.SequenceNumberConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.classic.pattern.CallerDataConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.LiteralConverter].convert(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.Converter].getNext()"
    - "[java.lang.StringBuilder].<init>()"
    - "[ch.qos.logback.core.pattern.Converter].convert(java.lang.Object)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 2
    ICount: 23
    EdgeCount: 55
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:225"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:235"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:234"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:226"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:228"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:227"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:228"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:230"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:229"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileNamePattern:230"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:233"
        BranchSideFuncs:
        - "convert(java.lang.Object)"
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileNamePattern:232"
        BranchSideFuncs:
        - "getNext()"
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:223,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:227,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].convert(java.lang.Object)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:227,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:233,1"
      Dst: "[ch.qos.logback.core.pattern.Converter].getNext()"
    - Src: "ch.qos.logback.core.rolling.helper.FileNamePattern:235,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].afterLastSlash(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileFilterUtil"
    linkageType: null
    functionLinenumber: 45
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].lastIndexOf(int)"
    - "[java.lang.String].substring(int)"
    functionUses: 5
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.FileFilterUtil:47"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:50"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:49"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:46,1"
      Dst: "[java.lang.String].lastIndexOf(int)"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:50,1"
      Dst: "[java.lang.String].substring(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].filesInFolderMatchingStemRegex(java.io.File,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileFilterUtil"
    linkageType: null
    functionLinenumber: 75
    functionDepth: 2
    returnType: "java.io.File[]"
    argCount: 2
    argTypes:
    - "java.io.File"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.FileFilterUtil$lambda_filesInFolderMatchingStemRegex_0__92].accept(java.io.File,java.lang.String)"
    - "[ch.qos.logback.core.rolling.helper.FileFilterUtil$lambda_filesInFolderMatchingStemRegex_0__92].bootstrap$(java.util.regex.Pattern)"
    - "[java.io.File].exists()"
    - "[java.io.File].isDirectory()"
    - "[java.util.regex.Pattern].compile(java.lang.String)"
    - "[java.io.File].listFiles(java.io.FilenameFilter)"
    functionUses: 2
    ICount: 15
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.rolling.helper.FileFilterUtil:76"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:79"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:78"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileFilterUtil:79"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:80"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:79"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.rolling.helper.FileFilterUtil:79"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:84"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.rolling.helper.FileFilterUtil:83"
        BranchSideFuncs:
        - "accept(java.io.File,java.lang.String)"
        - "bootstrap$(java.util.regex.Pattern)"
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:79,1"
      Dst: "[java.io.File].exists()"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:79,1"
      Dst: "[java.io.File].isDirectory()"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:84,1"
      Dst: "[java.util.regex.Pattern].compile(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:85,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileFilterUtil$lambda_filesInFolderMatchingStemRegex_0__92].bootstrap$(java.util.regex.Pattern)"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil:85,1"
      Dst: "[java.io.File].listFiles(java.io.FilenameFilter)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover].createStemRegex(java.time.Instant)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover"
    linkageType: null
    functionLinenumber: 40
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.time.Instant"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].toRegexForFixedDate(java.time.Instant)"
    - "[ch.qos.logback.core.rolling.helper.FileFilterUtil].afterLastSlash(java.lang.String)"
    functionUses: 2
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover:41,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileNamePattern].toRegexForFixedDate(java.time.Instant)"
    - Src: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover:42,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].afterLastSlash(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover].descendingSort(java.io.File[],java.time.Instant)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover"
    linkageType: null
    functionLinenumber: 47
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.io.File[]"
    - "java.time.Instant"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover].createStemRegex(java.time.Instant)"
    - "[ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1].<init>(ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover,java.util.regex.Pattern)"
    - "[java.util.regex.Pattern].compile(java.lang.String)"
    - "[java.util.Arrays].sort(java.lang.Object[],java.util.Comparator)"
    functionUses: 1
    ICount: 9
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover:48,1"
      Dst: "[ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover].createStemRegex(java.time.Instant)"
    - Src: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover:49,1"
      Dst: "[java.util.regex.Pattern].compile(java.lang.String)"
    - Src: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover:51,1"
      Dst: "[ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1].<init>(ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover,java.util.regex.Pattern)"
    - Src: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover:51,1"
      Dst: "[java.util.Arrays].sort(java.lang.Object[],java.util.Comparator)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover].createStemRegex(java.time.Instant)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover"
    linkageType: null
    functionLinenumber: 40
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.time.Instant"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.FileNamePattern].toRegexForFixedDate(java.time.Instant)"
    - "[ch.qos.logback.core.rolling.helper.FileFilterUtil].afterLastSlash(java.lang.String)"
    functionUses: 2
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover:41,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileNamePattern].toRegexForFixedDate(java.time.Instant)"
    - Src: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover:42,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileFilterUtil].afterLastSlash(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1].<init>(ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover,java.util.regex.Pattern)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover"
    - "java.util.regex.Pattern"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.SizeAndTimeBasedArchiveRemover$1:51,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.FileFilterUtil$1].<init>()"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileFilterUtil$1"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil$1:26,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.FileFilterUtil$1].compare(java.io.File,java.io.File)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileFilterUtil$1"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.io.File"
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.File].getName()"
    - "[java.lang.String].compareTo(java.lang.String)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil$1:28,1"
      Dst: "[java.io.File].getName()"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil$1:30,1"
      Dst: "[java.lang.String].compareTo(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.FileFilterUtil$1].compare(java.lang.Object,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileFilterUtil$1"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.FileFilterUtil$1].compare(java.io.File,java.io.File)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil$1:26,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileFilterUtil$1].compare(java.io.File,java.io.File)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.FileFilterUtil$1].compare(java.io.File,java.io.File)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileFilterUtil$1"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.io.File"
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.File].getName()"
    - "[java.lang.String].compareTo(java.lang.String)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil$1:28,1"
      Dst: "[java.io.File].getName()"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil$1:30,1"
      Dst: "[java.lang.String].compareTo(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].<init>()"
    functionSourceFile: "ch.qos.logback.classic.pattern.ThrowableProxyConverter"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.ThrowableHandlingConverter].<init>()"
    functionUses: 3
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:35,1"
      Dst: "[ch.qos.logback.classic.pattern.ThrowableHandlingConverter].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].start()"
    functionSourceFile: "ch.qos.logback.classic.pattern.ThrowableProxyConverter"
    linkageType: null
    functionLinenumber: 47
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.DynamicConverter].getFirstOption()"
    - "[ch.qos.logback.core.pattern.DynamicConverter].addError(java.lang.String)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].getOptionList()"
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.util.COWArrayList].get(int)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].getContext()"
    - "[ch.qos.logback.core.ContextBase].getObject(java.lang.String)"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].addEvaluator(ch.qos.logback.core.boolex.EventEvaluator)"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].addIgnoreStackTraceLine(java.lang.String)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].start()"
    - "[java.lang.String].toLowerCase()"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.lang.Integer].parseInt(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    - "[ch.qos.logback.core.Context].getObject(java.lang.String)"
    - "[java.util.Map].get(java.lang.Object)"
    functionUses: 7
    ICount: 45
    EdgeCount: 11
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:50"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:53"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:52"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:54"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:56"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:55"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:56"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:60"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:59"
        BranchSideFuncs:
        - "addError(java.lang.String)"
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:70"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:86"
        BranchSideFuncs:
        - "size()"
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:85"
        BranchSideFuncs:
        - "start()"
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:70"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:86"
        BranchSideFuncs:
        - "size()"
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:85"
        BranchSideFuncs:
        - "start()"
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:72"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:86"
        BranchSideFuncs:
        - "getContext()"
        - "get(int)"
        - "getObject(java.lang.String)"
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:85"
        BranchSideFuncs:
        - "start()"
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:79"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:82"
        BranchSideFuncs:
        - "addEvaluator(ch.qos.logback.core.boolex.EventEvaluator)"
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:81"
        BranchSideFuncs:
        - "addIgnoreStackTraceLine(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:48,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].getFirstOption()"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:53,1"
      Dst: "[java.lang.String].toLowerCase()"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:54,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:60,1"
      Dst: "[java.lang.Integer].parseInt(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:62,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:62,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].addError(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:68,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].getOptionList()"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:70,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:73,1"
      Dst: "[java.util.List].get(int)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:74,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].getContext()"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:76,1"
      Dst: "[ch.qos.logback.core.Context].getObject(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:78,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:80,1"
      Dst: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].addEvaluator(ch.qos.logback.core.boolex.EventEvaluator)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:82,1"
      Dst: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].addIgnoreStackTraceLine(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:86,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 17
    CyclomaticComplexity: 8
  - functionName: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].addEvaluator(ch.qos.logback.core.boolex.EventEvaluator)"
    functionSourceFile: "ch.qos.logback.classic.pattern.ThrowableProxyConverter"
    linkageType: null
    functionLinenumber: 89
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.boolex.EventEvaluator"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.util.ArrayList].<init>()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 10
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:90"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:93"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:92"
        BranchSideFuncs:
        - "add(java.lang.Object)"
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:91,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:93,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].addIgnoreStackTraceLine(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.pattern.ThrowableProxyConverter"
    linkageType: null
    functionLinenumber: 96
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.util.ArrayList].<init>()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 10
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:97"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:100"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:99"
        BranchSideFuncs:
        - "add(java.lang.Object)"
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:98,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:100,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].stop()"
    functionSourceFile: "ch.qos.logback.classic.pattern.ThrowableProxyConverter"
    linkageType: null
    functionLinenumber: 103
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.DynamicConverter].stop()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:105,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].stop()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].extraData(java.lang.StringBuilder,ch.qos.logback.classic.spi.StackTraceElementProxy)"
    functionSourceFile: "ch.qos.logback.classic.pattern.ThrowableProxyConverter"
    linkageType: null
    functionLinenumber: 109
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "ch.qos.logback.classic.spi.StackTraceElementProxy"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.pattern.ThrowableProxyConverter"
    linkageType: null
    functionLinenumber: 113
    functionDepth: 5
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getThrowableProxy()"
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.util.COWArrayList].get(int)"
    - "[ch.qos.logback.core.boolex.JaninoEventEvaluatorBase].evaluate(java.lang.Object)"
    - "[ch.qos.logback.classic.boolex.OnMarkerEvaluator].evaluate(java.lang.Object)"
    - "[ch.qos.logback.classic.boolex.OnErrorEvaluator].evaluate(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.boolex.EventEvaluatorBase].getName()"
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.status.StatusBase].add(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].throwableProxyToString(ch.qos.logback.classic.spi.IThrowableProxy)"
    - "[ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter].throwableProxyToString(ch.qos.logback.classic.spi.IThrowableProxy)"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getThrowableProxy()"
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    - "[ch.qos.logback.core.boolex.EventEvaluator].evaluate(java.lang.Object)"
    - "[ch.qos.logback.core.boolex.EventEvaluator].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 2
    ICount: 46
    EdgeCount: 15
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:115"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:120"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:119"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:120"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:148"
        BranchSideFuncs:
        - "size()"
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:147"
        BranchSideFuncs:
        - "throwableProxyToString(ch.qos.logback.classic.spi.IThrowableProxy)"
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:122"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:143"
        BranchSideFuncs:
        - "evaluate(java.lang.Object)"
        - "get(int)"
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:142"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:125"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:140"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:139"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:131"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:133"
        BranchSideFuncs:
        - "addError(java.lang.String,java.lang.Throwable)"
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:132"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:133"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:121"
        BranchSideFuncs:
        - "<init>(java.lang.String,java.lang.Object)"
        - "add(ch.qos.logback.core.status.Status)"
        - "getName()"
        - "<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
        - "addStatus(ch.qos.logback.core.status.Status)"
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:120"
        BranchSideFuncs:
        - "size()"
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:143"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:148"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:147"
        BranchSideFuncs:
        - "throwableProxyToString(ch.qos.logback.classic.spi.IThrowableProxy)"
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:114,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getThrowableProxy()"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:122,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:123,1"
      Dst: "[java.util.List].get(int)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:125,1"
      Dst: "[ch.qos.logback.core.boolex.EventEvaluator].evaluate(java.lang.Object)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:132,1"
      Dst: "[ch.qos.logback.core.boolex.EventEvaluator].getName()"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:132,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:132,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].addError(java.lang.String,java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:135,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:136,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:136,1"
      Dst: "[ch.qos.logback.core.status.StatusBase].add(ch.qos.logback.core.status.Status)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:138,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].addStatus(ch.qos.logback.core.status.Status)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:148,1"
      Dst: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].throwableProxyToString(ch.qos.logback.classic.spi.IThrowableProxy)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 16
    CyclomaticComplexity: 6
  - functionName: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].throwableProxyToString(ch.qos.logback.classic.spi.IThrowableProxy)"
    functionSourceFile: "ch.qos.logback.classic.pattern.ThrowableProxyConverter"
    linkageType: null
    functionLinenumber: 151
    functionDepth: 4
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.IThrowableProxy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].recursiveAppend(java.lang.StringBuilder,java.lang.String,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    - "[java.lang.StringBuilder].<init>(int)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:152,1"
      Dst: "[java.lang.StringBuilder].<init>(int)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:154,1"
      Dst: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].recursiveAppend(java.lang.StringBuilder,java.lang.String,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:156,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].recursiveAppend(java.lang.StringBuilder,java.lang.String,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    functionSourceFile: "ch.qos.logback.classic.pattern.ThrowableProxyConverter"
    linkageType: null
    functionLinenumber: 159
    functionDepth: 3
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.lang.StringBuilder"
    - "java.lang.String"
    - "int"
    - "ch.qos.logback.classic.spi.IThrowableProxy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].subjoinFirstLine(java.lang.StringBuilder,java.lang.String,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].subjoinSTEPArray(java.lang.StringBuilder,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].getSuppressed()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].getSuppressed()"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].recursiveAppend(java.lang.StringBuilder,java.lang.String,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].getCause()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].getCause()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getSuppressed()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getCause()"
    functionUses: 3
    ICount: 24
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:160"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:162"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:161"
        BranchSideFuncs:
        - "subjoinSTEPArray(java.lang.StringBuilder,int,ch.qos.logback.classic.spi.IThrowableProxy)"
        - "subjoinFirstLine(java.lang.StringBuilder,java.lang.String,int,ch.qos.logback.classic.spi.IThrowableProxy)"
        - "getSuppressed()"
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:166"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:172"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:171"
        BranchSideFuncs:
        - "recursiveAppend(java.lang.StringBuilder,java.lang.String,int,ch.qos.logback.classic.spi.IThrowableProxy)"
        - "getCause()"
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:167"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:171"
        BranchSideFuncs:
        - "recursiveAppend(java.lang.StringBuilder,java.lang.String,int,ch.qos.logback.classic.spi.IThrowableProxy)"
        - "getCause()"
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:162,1"
      Dst: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].subjoinFirstLine(java.lang.StringBuilder,java.lang.String,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:163,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:164,1"
      Dst: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].subjoinSTEPArray(java.lang.StringBuilder,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:165,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getSuppressed()"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:168,1"
      Dst: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].recursiveAppend(java.lang.StringBuilder,java.lang.String,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:172,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getCause()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].subjoinFirstLine(java.lang.StringBuilder,java.lang.String,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    functionSourceFile: "ch.qos.logback.classic.pattern.ThrowableProxyConverter"
    linkageType: null
    functionLinenumber: 175
    functionDepth: 1
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.lang.StringBuilder"
    - "java.lang.String"
    - "int"
    - "ch.qos.logback.classic.spi.IThrowableProxy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.ThrowableProxyUtil].indent(java.lang.StringBuilder,int)"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].subjoinExceptionMessage(java.lang.StringBuilder,ch.qos.logback.classic.spi.IThrowableProxy)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 1
    ICount: 11
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:177"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:180"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:179"
        BranchSideFuncs:
        - "subjoinExceptionMessage(java.lang.StringBuilder,ch.qos.logback.classic.spi.IThrowableProxy)"
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:176,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].indent(java.lang.StringBuilder,int)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:178,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:180,1"
      Dst: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].subjoinExceptionMessage(java.lang.StringBuilder,ch.qos.logback.classic.spi.IThrowableProxy)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].subjoinExceptionMessage(java.lang.StringBuilder,ch.qos.logback.classic.spi.IThrowableProxy)"
    functionSourceFile: "ch.qos.logback.classic.pattern.ThrowableProxyConverter"
    linkageType: null
    functionLinenumber: 183
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "ch.qos.logback.classic.spi.IThrowableProxy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].isCyclic()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].isCyclic()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].getClassName()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].getClassName()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].getMessage()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].getMessage()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].isCyclic()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getClassName()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getMessage()"
    - "[java.lang.StringBuilder].append(char)"
    functionUses: 1
    ICount: 19
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:184"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:188"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:187"
        BranchSideFuncs:
        - "getClassName()"
        - "getMessage()"
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:184,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].isCyclic()"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:185,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:185,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getClassName()"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:185,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getMessage()"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:186,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].subjoinSTEPArray(java.lang.StringBuilder,int,ch.qos.logback.classic.spi.IThrowableProxy)"
    functionSourceFile: "ch.qos.logback.classic.pattern.ThrowableProxyConverter"
    linkageType: null
    functionLinenumber: 192
    functionDepth: 2
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.StringBuilder"
    - "int"
    - "ch.qos.logback.classic.spi.IThrowableProxy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].getStackTraceElementProxyArray()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].getStackTraceElementProxyArray()"
    - "[ch.qos.logback.classic.spi.ThrowableProxy].getCommonFrames()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyVO].getCommonFrames()"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].isIgnoredStackTraceLine(java.lang.String)"
    - "[ch.qos.logback.classic.spi.StackTraceElementProxy].toString()"
    - "[ch.qos.logback.classic.spi.ThrowableProxyUtil].indent(java.lang.StringBuilder,int)"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].printStackLine(java.lang.StringBuilder,int,ch.qos.logback.classic.spi.StackTraceElementProxy)"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].printIgnoredCount(java.lang.StringBuilder,int)"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getStackTraceElementProxyArray()"
    - "[ch.qos.logback.classic.spi.IThrowableProxy].getCommonFrames()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(int)"
    functionUses: 2
    ICount: 56
    EdgeCount: 12
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:196"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:-1"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:-2"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:198"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:196"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:195"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:199"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:203"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:202"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:199"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:203"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:202"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:204"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:218"
        BranchSideFuncs:
        - "isIgnoredStackTraceLine(java.lang.String)"
        - "toString()"
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:217"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:206"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:212"
        BranchSideFuncs:
        - "printStackLine(java.lang.StringBuilder,int,ch.qos.logback.classic.spi.StackTraceElementProxy)"
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:211"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:213"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:203"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:202"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:218"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:223"
        BranchSideFuncs:
        - "printIgnoredCount(java.lang.StringBuilder,int)"
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:222"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:223"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:228"
        BranchSideFuncs:
        - "getCommonFrames()"
        - "indent(java.lang.StringBuilder,int)"
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:227"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:223"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:228"
        BranchSideFuncs:
        - "getCommonFrames()"
        - "indent(java.lang.StringBuilder,int)"
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:227"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:193,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getStackTraceElementProxyArray()"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:194,1"
      Dst: "[ch.qos.logback.classic.spi.IThrowableProxy].getCommonFrames()"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:206,1"
      Dst: "[ch.qos.logback.classic.spi.StackTraceElementProxy].toString()"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:206,1"
      Dst: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].isIgnoredStackTraceLine(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:207,1"
      Dst: "[ch.qos.logback.classic.spi.ThrowableProxyUtil].indent(java.lang.StringBuilder,int)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:208,1"
      Dst: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].printStackLine(java.lang.StringBuilder,int,ch.qos.logback.classic.spi.StackTraceElementProxy)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:210,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:219,1"
      Dst: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].printIgnoredCount(java.lang.StringBuilder,int)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:225,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 22
    CyclomaticComplexity: 11
  - functionName: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].printStackLine(java.lang.StringBuilder,int,ch.qos.logback.classic.spi.StackTraceElementProxy)"
    functionSourceFile: "ch.qos.logback.classic.pattern.ThrowableProxyConverter"
    linkageType: null
    functionLinenumber: 230
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.StringBuilder"
    - "int"
    - "ch.qos.logback.classic.spi.StackTraceElementProxy"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.ExtendedThrowableProxyConverter].extraData(java.lang.StringBuilder,ch.qos.logback.classic.spi.StackTraceElementProxy)"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].extraData(java.lang.StringBuilder,ch.qos.logback.classic.spi.StackTraceElementProxy)"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].printIgnoredCount(java.lang.StringBuilder,int)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    functionUses: 1
    ICount: 9
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:233"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:236"
        BranchSideFuncs:
        - "printIgnoredCount(java.lang.StringBuilder,int)"
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:235"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:231,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:232,1"
      Dst: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].extraData(java.lang.StringBuilder,ch.qos.logback.classic.spi.StackTraceElementProxy)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:234,1"
      Dst: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].printIgnoredCount(java.lang.StringBuilder,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].printIgnoredCount(java.lang.StringBuilder,int)"
    functionSourceFile: "ch.qos.logback.classic.pattern.ThrowableProxyConverter"
    linkageType: null
    functionLinenumber: 238
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(int)"
    functionUses: 2
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:239,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:239,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].isIgnoredStackTraceLine(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.pattern.ThrowableProxyConverter"
    linkageType: null
    functionLinenumber: 242
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.COWArrayList].iterator()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.lang.String].contains(java.lang.CharSequence)"
    functionUses: 1
    ICount: 15
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:243"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:250"
        BranchSideFuncs:
        - "iterator()"
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:249"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:244"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:250"
        BranchSideFuncs:
        - "iterator()"
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:249"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:245"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:248"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:247"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:244,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:244,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:244,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:245,1"
      Dst: "[java.lang.String].contains(java.lang.CharSequence)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].convert(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.pattern.ThrowableProxyConverter"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 6
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionUses: 11
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:35,1"
      Dst: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].convert(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.pattern.ThrowableProxyConverter"
    linkageType: null
    functionLinenumber: 113
    functionDepth: 5
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getThrowableProxy()"
    - "[ch.qos.logback.core.util.COWArrayList].size()"
    - "[ch.qos.logback.core.util.COWArrayList].get(int)"
    - "[ch.qos.logback.core.boolex.JaninoEventEvaluatorBase].evaluate(java.lang.Object)"
    - "[ch.qos.logback.classic.boolex.OnMarkerEvaluator].evaluate(java.lang.Object)"
    - "[ch.qos.logback.classic.boolex.OnErrorEvaluator].evaluate(java.lang.Object)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.boolex.EventEvaluatorBase].getName()"
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.status.StatusBase].add(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.pattern.DynamicConverter].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].throwableProxyToString(ch.qos.logback.classic.spi.IThrowableProxy)"
    - "[ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter].throwableProxyToString(ch.qos.logback.classic.spi.IThrowableProxy)"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getThrowableProxy()"
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    - "[ch.qos.logback.core.boolex.EventEvaluator].evaluate(java.lang.Object)"
    - "[ch.qos.logback.core.boolex.EventEvaluator].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    functionUses: 2
    ICount: 46
    EdgeCount: 15
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:115"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:120"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:119"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:120"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:148"
        BranchSideFuncs:
        - "size()"
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:147"
        BranchSideFuncs:
        - "throwableProxyToString(ch.qos.logback.classic.spi.IThrowableProxy)"
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:122"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:143"
        BranchSideFuncs:
        - "evaluate(java.lang.Object)"
        - "get(int)"
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:142"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:125"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:140"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:139"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:131"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:133"
        BranchSideFuncs:
        - "addError(java.lang.String,java.lang.Throwable)"
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:132"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:133"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:121"
        BranchSideFuncs:
        - "<init>(java.lang.String,java.lang.Object)"
        - "add(ch.qos.logback.core.status.Status)"
        - "getName()"
        - "<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
        - "addStatus(ch.qos.logback.core.status.Status)"
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:120"
        BranchSideFuncs:
        - "size()"
    - Branch String: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:143"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:148"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:147"
        BranchSideFuncs:
        - "throwableProxyToString(ch.qos.logback.classic.spi.IThrowableProxy)"
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:114,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getThrowableProxy()"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:122,1"
      Dst: "[java.util.List].size()"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:123,1"
      Dst: "[java.util.List].get(int)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:125,1"
      Dst: "[ch.qos.logback.core.boolex.EventEvaluator].evaluate(java.lang.Object)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:132,1"
      Dst: "[ch.qos.logback.core.boolex.EventEvaluator].getName()"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:132,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:132,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].addError(java.lang.String,java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:135,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:136,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:136,1"
      Dst: "[ch.qos.logback.core.status.StatusBase].add(ch.qos.logback.core.status.Status)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:138,1"
      Dst: "[ch.qos.logback.core.pattern.DynamicConverter].addStatus(ch.qos.logback.core.status.Status)"
    - Src: "ch.qos.logback.classic.pattern.ThrowableProxyConverter:148,1"
      Dst: "[ch.qos.logback.classic.pattern.ThrowableProxyConverter].throwableProxyToString(ch.qos.logback.classic.spi.IThrowableProxy)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 16
    CyclomaticComplexity: 6
  - functionName: "[ch.qos.logback.core.util.Loader].<init>()"
    functionSourceFile: "ch.qos.logback.core.util.Loader"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.Loader:31,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.Loader].systemClassloaderIfNull(java.lang.ClassLoader)"
    functionSourceFile: "ch.qos.logback.core.util.Loader"
    linkageType: null
    functionLinenumber: 67
    functionDepth: 0
    returnType: "java.lang.ClassLoader"
    argCount: 1
    argTypes:
    - "java.lang.ClassLoader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ClassLoader].getSystemClassLoader()"
    functionUses: 2
    ICount: 5
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.Loader:68"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.Loader:71"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.Loader:70"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.Loader:69,1"
      Dst: "[java.lang.ClassLoader].getSystemClassLoader()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.Loader].getResources(java.lang.String,java.lang.ClassLoader)"
    functionSourceFile: "ch.qos.logback.core.util.Loader"
    linkageType: null
    functionLinenumber: 83
    functionDepth: 0
    returnType: "java.util.Set"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.ClassLoader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashSet].<init>()"
    - "[java.lang.ClassLoader].getResources(java.lang.String)"
    - "[java.util.Enumeration].hasMoreElements()"
    - "[java.util.Enumeration].nextElement()"
    - "[java.util.Set].add(java.lang.Object)"
    functionUses: 1
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.Loader:86"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.Loader:90"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.Loader:89"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.Loader:84,1"
      Dst: "[java.util.HashSet].<init>()"
    - Src: "ch.qos.logback.core.util.Loader:85,1"
      Dst: "[java.lang.ClassLoader].getResources(java.lang.String)"
    - Src: "ch.qos.logback.core.util.Loader:86,1"
      Dst: "[java.util.Enumeration].hasMoreElements()"
    - Src: "ch.qos.logback.core.util.Loader:87,1"
      Dst: "[java.util.Enumeration].nextElement()"
    - Src: "ch.qos.logback.core.util.Loader:88,1"
      Dst: "[java.util.Set].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.util.Loader].getResource(java.lang.String,java.lang.ClassLoader)"
    functionSourceFile: "ch.qos.logback.core.util.Loader"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 0
    returnType: "java.net.URL"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.ClassLoader"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ClassLoader].getResource(java.lang.String)"
    functionUses: 6
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.Loader:101,1"
      Dst: "[java.lang.ClassLoader].getResource(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.Loader].getResourceBySelfClassLoader(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.Loader"
    linkageType: null
    functionLinenumber: 114
    functionDepth: 2
    returnType: "java.net.URL"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].getClassLoaderOfClass(java.lang.Class)"
    - "[ch.qos.logback.core.util.Loader].getResource(java.lang.String,java.lang.ClassLoader)"
    functionUses: 6
    ICount: 4
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.Loader:115,1"
      Dst: "[ch.qos.logback.core.util.Loader].getClassLoaderOfClass(java.lang.Class)"
    - Src: "ch.qos.logback.core.util.Loader:115,1"
      Dst: "[ch.qos.logback.core.util.Loader].getResource(java.lang.String,java.lang.ClassLoader)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.Loader].getTCL()"
    functionSourceFile: "ch.qos.logback.core.util.Loader"
    linkageType: null
    functionLinenumber: 126
    functionDepth: 0
    returnType: "java.lang.ClassLoader"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Thread].currentThread()"
    - "[java.lang.Thread].getContextClassLoader()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.Loader:127,1"
      Dst: "[java.lang.Thread].currentThread()"
    - Src: "ch.qos.logback.core.util.Loader:127,1"
      Dst: "[java.lang.Thread].getContextClassLoader()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.Loader].loadClass(java.lang.String,ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.util.Loader"
    linkageType: null
    functionLinenumber: 130
    functionDepth: 3
    returnType: "java.lang.Class"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].getClassLoaderOfObject(java.lang.Object)"
    - "[java.lang.ClassLoader].loadClass(java.lang.String)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.Loader:131,1"
      Dst: "[ch.qos.logback.core.util.Loader].getClassLoaderOfObject(java.lang.Object)"
    - Src: "ch.qos.logback.core.util.Loader:132,1"
      Dst: "[java.lang.ClassLoader].loadClass(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.Loader].getClassLoaderOfObject(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.util.Loader"
    linkageType: null
    functionLinenumber: 142
    functionDepth: 2
    returnType: "java.lang.ClassLoader"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].getClassLoaderOfClass(java.lang.Class)"
    - "[java.lang.NullPointerException].<init>(java.lang.String)"
    - "[java.lang.Object].getClass()"
    functionUses: 5
    ICount: 8
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.Loader:143"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.Loader:146"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.Loader:145"
        BranchSideFuncs:
        - "getClassLoaderOfClass(java.lang.Class)"
    Callsites:
    - Src: "ch.qos.logback.core.util.Loader:144,1"
      Dst: "[java.lang.NullPointerException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.core.util.Loader:146,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "ch.qos.logback.core.util.Loader:146,1"
      Dst: "[ch.qos.logback.core.util.Loader].getClassLoaderOfClass(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.Loader].getClassLoaderAsPrivileged(java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.util.Loader"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.lang.ClassLoader"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader$2].<init>(java.lang.Class)"
    - "[java.security.AccessController].doPrivileged(java.security.PrivilegedAction)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.Loader:156"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.Loader:159"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.Loader:158"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.Loader:159,1"
      Dst: "[ch.qos.logback.core.util.Loader$2].<init>(java.lang.Class)"
    - Src: "ch.qos.logback.core.util.Loader:159,1"
      Dst: "[java.security.AccessController].doPrivileged(java.security.PrivilegedAction)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.Loader$2].<init>(java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.util.Loader$2"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.Loader$2:159,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.Loader].getClassLoaderOfClass(java.lang.Class)"
    functionSourceFile: "ch.qos.logback.core.util.Loader"
    linkageType: null
    functionLinenumber: 173
    functionDepth: 1
    returnType: "java.lang.ClassLoader"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].systemClassloaderIfNull(java.lang.ClassLoader)"
    - "[java.lang.Class].getClassLoader()"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.Loader:174,1"
      Dst: "[java.lang.Class].getClassLoader()"
    - Src: "ch.qos.logback.core.util.Loader:175,1"
      Dst: "[ch.qos.logback.core.util.Loader].systemClassloaderIfNull(java.lang.ClassLoader)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.Loader].loadClass(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.Loader"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.lang.Class"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].forName(java.lang.String)"
    - "[ch.qos.logback.core.util.Loader].getTCL()"
    - "[java.lang.ClassLoader].loadClass(java.lang.String)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.Loader:186"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.Loader:190"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.util.Loader:189"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.Loader:187,1"
      Dst: "[java.lang.Class].forName(java.lang.String)"
    - Src: "ch.qos.logback.core.util.Loader:190,1"
      Dst: "[ch.qos.logback.core.util.Loader].getTCL()"
    - Src: "ch.qos.logback.core.util.Loader:190,1"
      Dst: "[java.lang.ClassLoader].loadClass(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.SequenceNumberGeneratorModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.SequenceNumberGeneratorModel"
    linkageType: null
    functionLinenumber: 15
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.ComponentModel].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.SequenceNumberGeneratorModel:16,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.SequenceNumberGeneratorModel].makeNewInstance()"
    functionSourceFile: "ch.qos.logback.core.model.SequenceNumberGeneratorModel"
    linkageType: null
    functionLinenumber: 21
    functionDepth: 3
    returnType: "ch.qos.logback.core.model.SequenceNumberGeneratorModel"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.SequenceNumberGeneratorModel].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.SequenceNumberGeneratorModel:22,1"
      Dst: "[ch.qos.logback.core.model.SequenceNumberGeneratorModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.SequenceNumberGeneratorModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.SequenceNumberGeneratorModel"
    linkageType: null
    functionLinenumber: 15
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.ComponentModel].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.SequenceNumberGeneratorModel:16,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.FileFilterUtil$2].<init>()"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileFilterUtil$2"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil$2:36,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.FileFilterUtil$2].compare(java.io.File,java.io.File)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileFilterUtil$2"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.io.File"
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.File].getName()"
    - "[java.lang.String].compareTo(java.lang.String)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil$2:38,1"
      Dst: "[java.io.File].getName()"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil$2:40,1"
      Dst: "[java.lang.String].compareTo(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.FileFilterUtil$2].compare(java.lang.Object,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileFilterUtil$2"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.rolling.helper.FileFilterUtil$2].compare(java.io.File,java.io.File)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil$2:36,1"
      Dst: "[ch.qos.logback.core.rolling.helper.FileFilterUtil$2].compare(java.io.File,java.io.File)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.FileFilterUtil$2].compare(java.io.File,java.io.File)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.FileFilterUtil$2"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.io.File"
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.File].getName()"
    - "[java.lang.String].compareTo(java.lang.String)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil$2:38,1"
      Dst: "[java.io.File].getName()"
    - Src: "ch.qos.logback.core.rolling.helper.FileFilterUtil$2:40,1"
      Dst: "[java.lang.String].compareTo(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: false
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.selector.servlet.ContextDetachingSCL].<init>()"
    functionSourceFile: "ch.qos.logback.classic.selector.servlet.ContextDetachingSCL"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.selector.servlet.ContextDetachingSCL:30,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.selector.servlet.ContextDetachingSCL].contextInitialized(jakarta.servlet.ServletContextEvent)"
    functionSourceFile: "ch.qos.logback.classic.selector.servlet.ContextDetachingSCL"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "jakarta.servlet.ServletContextEvent"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.selector.servlet.ContextDetachingSCL].contextDestroyed(jakarta.servlet.ServletContextEvent)"
    functionSourceFile: "ch.qos.logback.classic.selector.servlet.ContextDetachingSCL"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 7
    returnType: "void"
    argCount: 1
    argTypes:
    - "jakarta.servlet.ServletContextEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.JNDIUtil].getInitialContext()"
    - "[ch.qos.logback.core.util.JNDIUtil].lookupString(javax.naming.Context,java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.io.PrintStream].println(java.lang.String)"
    - "[ch.qos.logback.classic.util.ContextSelectorStaticBinder].getSingleton()"
    - "[ch.qos.logback.classic.util.ContextSelectorStaticBinder].getContextSelector()"
    - "[ch.qos.logback.classic.selector.ContextSelector].getLoggerContext(java.lang.String)"
    - "[ch.qos.logback.classic.LoggerContext].getLogger(java.lang.String)"
    - "[org.slf4j.Logger].warn(java.lang.String)"
    - "[ch.qos.logback.classic.selector.ContextSelector].detachLoggerContext(java.lang.String)"
    - "[ch.qos.logback.classic.LoggerContext].stop()"
    functionUses: 0
    ICount: 29
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.selector.servlet.ContextDetachingSCL:45"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.selector.servlet.ContextDetachingSCL:64"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.selector.servlet.ContextDetachingSCL:63"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.selector.servlet.ContextDetachingSCL:49"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.selector.servlet.ContextDetachingSCL:53"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.selector.servlet.ContextDetachingSCL:52"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.selector.servlet.ContextDetachingSCL:54"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.selector.servlet.ContextDetachingSCL:61"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.selector.servlet.ContextDetachingSCL:60"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.selector.servlet.ContextDetachingSCL:40,1"
      Dst: "[ch.qos.logback.core.util.JNDIUtil].getInitialContext()"
    - Src: "ch.qos.logback.classic.selector.servlet.ContextDetachingSCL:41,1"
      Dst: "[ch.qos.logback.core.util.JNDIUtil].lookupString(javax.naming.Context,java.lang.String)"
    - Src: "ch.qos.logback.classic.selector.servlet.ContextDetachingSCL:46,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.classic.selector.servlet.ContextDetachingSCL:46,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    - Src: "ch.qos.logback.classic.selector.servlet.ContextDetachingSCL:48,1"
      Dst: "[ch.qos.logback.classic.util.ContextSelectorStaticBinder].getSingleton()"
    - Src: "ch.qos.logback.classic.selector.servlet.ContextDetachingSCL:48,1"
      Dst: "[ch.qos.logback.classic.util.ContextSelectorStaticBinder].getContextSelector()"
    - Src: "ch.qos.logback.classic.selector.servlet.ContextDetachingSCL:53,1"
      Dst: "[ch.qos.logback.classic.selector.ContextSelector].getLoggerContext(java.lang.String)"
    - Src: "ch.qos.logback.classic.selector.servlet.ContextDetachingSCL:55,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].getLogger(java.lang.String)"
    - Src: "ch.qos.logback.classic.selector.servlet.ContextDetachingSCL:56,1"
      Dst: "[org.slf4j.Logger].warn(java.lang.String)"
    - Src: "ch.qos.logback.classic.selector.servlet.ContextDetachingSCL:57,1"
      Dst: "[ch.qos.logback.classic.selector.ContextSelector].detachLoggerContext(java.lang.String)"
    - Src: "ch.qos.logback.classic.selector.servlet.ContextDetachingSCL:59,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].stop()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.util.JNDIUtil].getInitialContext()"
    functionSourceFile: "ch.qos.logback.core.util.JNDIUtil"
    linkageType: null
    functionLinenumber: 37
    functionDepth: 0
    returnType: "javax.naming.Context"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.naming.InitialContext].<init>()"
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.JNDIUtil:38,1"
      Dst: "[javax.naming.InitialContext].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.JNDIUtil].lookupString(javax.naming.Context,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.JNDIUtil"
    linkageType: null
    functionLinenumber: 66
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "javax.naming.Context"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.JNDIUtil].lookupObject(javax.naming.Context,java.lang.String)"
    functionUses: 3
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.JNDIUtil:67,1"
      Dst: "[ch.qos.logback.core.util.JNDIUtil].lookupObject(javax.naming.Context,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.ContextSelectorStaticBinder].getSingleton()"
    functionSourceFile: "ch.qos.logback.classic.util.ContextSelectorStaticBinder"
    linkageType: null
    functionLinenumber: 40
    functionDepth: 0
    returnType: "ch.qos.logback.classic.util.ContextSelectorStaticBinder"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.ContextSelectorStaticBinder].getContextSelector()"
    functionSourceFile: "ch.qos.logback.classic.util.ContextSelectorStaticBinder"
    linkageType: null
    functionLinenumber: 96
    functionDepth: 0
    returnType: "ch.qos.logback.classic.selector.ContextSelector"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.LoggerContext].getLogger(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 128
    functionDepth: 2
    returnType: "ch.qos.logback.classic.Logger"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.util.LoggerNameUtil].getSeparatorIndexOf(java.lang.String,int)"
    - "[ch.qos.logback.classic.Logger].getChildByName(java.lang.String)"
    - "[ch.qos.logback.classic.Logger].createChildByName(java.lang.String)"
    - "[ch.qos.logback.classic.LoggerContext].incSize()"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - "[java.util.Map].get(java.lang.Object)"
    - "[java.lang.String].substring(int,int)"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 10
    ICount: 45
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.LoggerContext:129"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:135"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:134"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.LoggerContext:135"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:139"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:138"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.LoggerContext:146"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:154"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:153"
        BranchSideFuncs:
        - "getSeparatorIndexOf(java.lang.String,int)"
    - Branch String: "ch.qos.logback.classic.LoggerContext:155"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:158"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:157"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.LoggerContext:164"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:169"
        BranchSideFuncs:
        - "createChildByName(java.lang.String)"
        - "incSize()"
      - BranchSide: "ch.qos.logback.classic.LoggerContext:168"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.LoggerContext:171"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.LoggerContext:174"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.LoggerContext:173"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:130,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.classic.LoggerContext:135,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    - Src: "ch.qos.logback.classic.LoggerContext:144,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "ch.qos.logback.classic.LoggerContext:154,1"
      Dst: "[ch.qos.logback.classic.util.LoggerNameUtil].getSeparatorIndexOf(java.lang.String,int)"
    - Src: "ch.qos.logback.classic.LoggerContext:158,1"
      Dst: "[java.lang.String].substring(int,int)"
    - Src: "ch.qos.logback.classic.LoggerContext:163,1"
      Dst: "[ch.qos.logback.classic.Logger].getChildByName(java.lang.String)"
    - Src: "ch.qos.logback.classic.LoggerContext:165,1"
      Dst: "[ch.qos.logback.classic.Logger].createChildByName(java.lang.String)"
    - Src: "ch.qos.logback.classic.LoggerContext:166,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - Src: "ch.qos.logback.classic.LoggerContext:167,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].incSize()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 16
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.classic.LoggerContext].stop()"
    functionSourceFile: "ch.qos.logback.classic.LoggerContext"
    linkageType: null
    functionLinenumber: 342
    functionDepth: 6
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.LoggerContext].reset()"
    - "[ch.qos.logback.classic.LoggerContext].fireOnStop()"
    - "[ch.qos.logback.classic.LoggerContext].resetAllListeners()"
    - "[ch.qos.logback.core.ContextBase].stop()"
    functionUses: 2
    ICount: 6
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.LoggerContext:343,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].reset()"
    - Src: "ch.qos.logback.classic.LoggerContext:344,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].fireOnStop()"
    - Src: "ch.qos.logback.classic.LoggerContext:345,1"
      Dst: "[ch.qos.logback.classic.LoggerContext].resetAllListeners()"
    - Src: "ch.qos.logback.classic.LoggerContext:346,1"
      Dst: "[ch.qos.logback.core.ContextBase].stop()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker"
    linkageType: null
    functionLinenumber: 53
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:54,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker].link(ch.qos.logback.core.model.processor.DefaultProcessor)"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker"
    linkageType: null
    functionLinenumber: 60
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.processor.DefaultProcessor"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase].link(ch.qos.logback.core.model.processor.DefaultProcessor)"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].addHandler(java.lang.Class,ch.qos.logback.core.model.ModelHandlerFactoryMethod)"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker].getConfigurationModelHandlerFactoryMethod()"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__56].bootstrap$()"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__57].bootstrap$()"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__58].bootstrap$()"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__59].bootstrap$()"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__60].bootstrap$()"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__61].bootstrap$()"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__62].bootstrap$()"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__63].bootstrap$()"
    - "[ch.qos.logback.core.model.processor.DefaultProcessor].addAnalyser(java.lang.Class,java.util.function.Supplier)"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_0__64].bootstrap$(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_1__65].bootstrap$(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_2__66].bootstrap$(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_3__67].bootstrap$(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase].sealModelFilters(ch.qos.logback.core.model.processor.DefaultProcessor)"
    functionUses: 2
    ICount: 31
    EdgeCount: 28
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:61,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase].link(ch.qos.logback.core.model.processor.DefaultProcessor)"
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:62,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker].getConfigurationModelHandlerFactoryMethod()"
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:62,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].addHandler(java.lang.Class,ch.qos.logback.core.model.ModelHandlerFactoryMethod)"
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:63,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__56].bootstrap$()"
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:64,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__57].bootstrap$()"
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:66,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__58].bootstrap$()"
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:68,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__59].bootstrap$()"
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:69,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__60].bootstrap$()"
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:70,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__61].bootstrap$()"
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:71,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__62].bootstrap$()"
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:72,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__63].bootstrap$()"
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:74,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_0__64].bootstrap$(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:74,1"
      Dst: "[ch.qos.logback.core.model.processor.DefaultProcessor].addAnalyser(java.lang.Class,java.util.function.Supplier)"
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:77,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_1__65].bootstrap$(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:80,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_2__66].bootstrap$(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:83,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$lambda_link_3__67].bootstrap$(ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker)"
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:85,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase].sealModelFilters(ch.qos.logback.core.model.processor.DefaultProcessor)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker].getConfigurationModelHandlerFactoryMethod()"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker"
    linkageType: null
    functionLinenumber: 89
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__86].bootstrap$()"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:90"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:94"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:92,1"
      Dst: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker$makeInstance__86].bootstrap$()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker].setConfigurationModelHandlerFactoryMethod(ch.qos.logback.core.model.ModelHandlerFactoryMethod)"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker"
    linkageType: null
    functionLinenumber: 105
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker].lambda$link$3()"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker"
    linkageType: null
    functionLinenumber: 82
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.AppenderRefDependencyAnalyser].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:83,1"
      Dst: "[ch.qos.logback.core.model.processor.AppenderRefDependencyAnalyser].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker].lambda$link$2()"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker"
    linkageType: null
    functionLinenumber: 80
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser].<init>(ch.qos.logback.core.Context,java.lang.Class)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:81,1"
      Dst: "[ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser].<init>(ch.qos.logback.core.Context,java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker].lambda$link$1()"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker"
    linkageType: null
    functionLinenumber: 77
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser].<init>(ch.qos.logback.core.Context,java.lang.Class)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:78,1"
      Dst: "[ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser].<init>(ch.qos.logback.core.Context,java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker].lambda$link$0()"
    functionSourceFile: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker"
    linkageType: null
    functionLinenumber: 74
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser].<init>(ch.qos.logback.core.Context,java.lang.Class)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.joran.ModelClassToModelHandlerLinker:75,1"
      Dst: "[ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser].<init>(ch.qos.logback.core.Context,java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Level].<init>(int,java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.Level"
    linkageType: null
    functionLinenumber: 91
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 7
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Level:92,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Level].toString()"
    functionSourceFile: "ch.qos.logback.classic.Level"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 6
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Level].toInt()"
    functionSourceFile: "ch.qos.logback.classic.Level"
    linkageType: null
    functionLinenumber: 107
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Level].convertAnSLF4JLevel(org.slf4j.event.Level)"
    functionSourceFile: "ch.qos.logback.classic.Level"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.classic.Level"
    argCount: 1
    argTypes:
    - "org.slf4j.event.Level"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.event.Level].toInt()"
    - "[ch.qos.logback.classic.Level].fromLocationAwareLoggerInteger(int)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Level:112,1"
      Dst: "[org.slf4j.event.Level].toInt()"
    - Src: "ch.qos.logback.classic.Level:113,1"
      Dst: "[ch.qos.logback.classic.Level].fromLocationAwareLoggerInteger(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Level].toInteger()"
    functionSourceFile: "ch.qos.logback.classic.Level"
    linkageType: null
    functionLinenumber: 121
    functionDepth: 0
    returnType: "java.lang.Integer"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 23
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Level:138,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int)"
    - Src: "ch.qos.logback.classic.Level:138,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Level].isGreaterOrEqual(ch.qos.logback.classic.Level)"
    functionSourceFile: "ch.qos.logback.classic.Level"
    linkageType: null
    functionLinenumber: 146
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.Level"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Level:147"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Level:146"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.Level].toLevel(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.Level"
    linkageType: null
    functionLinenumber: 154
    functionDepth: 1
    returnType: "ch.qos.logback.classic.Level"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Level].toLevel(java.lang.String,ch.qos.logback.classic.Level)"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Level:155,1"
      Dst: "[ch.qos.logback.classic.Level].toLevel(java.lang.String,ch.qos.logback.classic.Level)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Level].valueOf(java.lang.String)"
    functionSourceFile: "ch.qos.logback.classic.Level"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.classic.Level"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Level].toLevel(java.lang.String,ch.qos.logback.classic.Level)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Level:165,1"
      Dst: "[ch.qos.logback.classic.Level].toLevel(java.lang.String,ch.qos.logback.classic.Level)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Level].toLevel(java.lang.String,ch.qos.logback.classic.Level)"
    functionSourceFile: "ch.qos.logback.classic.Level"
    linkageType: null
    functionLinenumber: 205
    functionDepth: 0
    returnType: "ch.qos.logback.classic.Level"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "ch.qos.logback.classic.Level"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    functionUses: 2
    ICount: 34
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Level:206"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Level:211"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Level:210"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Level:213"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Level:216"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Level:215"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Level:216"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Level:219"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Level:218"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Level:219"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Level:222"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Level:221"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Level:222"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Level:225"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Level:224"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Level:225"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Level:228"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Level:227"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Level:228"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Level:231"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Level:230"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Level:231"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Level:234"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Level:233"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.Level:211,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.classic.Level:213,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 17
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Level].toLevel(int)"
    functionSourceFile: "ch.qos.logback.classic.Level"
    linkageType: null
    functionLinenumber: 172
    functionDepth: 1
    returnType: "ch.qos.logback.classic.Level"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Level].toLevel(int,ch.qos.logback.classic.Level)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Level:173,1"
      Dst: "[ch.qos.logback.classic.Level].toLevel(int,ch.qos.logback.classic.Level)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Level].toLevel(int,ch.qos.logback.classic.Level)"
    functionSourceFile: "ch.qos.logback.classic.Level"
    linkageType: null
    functionLinenumber: 180
    functionDepth: 0
    returnType: "ch.qos.logback.classic.Level"
    argCount: 2
    argTypes:
    - "int"
    - "ch.qos.logback.classic.Level"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 18
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Level].toLevel(java.lang.String,ch.qos.logback.classic.Level)"
    functionSourceFile: "ch.qos.logback.classic.Level"
    linkageType: null
    functionLinenumber: 205
    functionDepth: 0
    returnType: "ch.qos.logback.classic.Level"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "ch.qos.logback.classic.Level"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    - "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    functionUses: 2
    ICount: 34
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Level:206"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Level:211"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Level:210"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Level:213"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Level:216"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Level:215"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Level:216"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Level:219"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Level:218"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Level:219"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Level:222"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Level:221"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Level:222"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Level:225"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Level:224"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Level:225"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Level:228"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Level:227"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Level:228"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Level:231"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Level:230"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.Level:231"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Level:234"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Level:233"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.Level:211,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.classic.Level:213,1"
      Dst: "[java.lang.String].equalsIgnoreCase(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 17
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Level].readResolve()"
    functionSourceFile: "ch.qos.logback.classic.Level"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Level].toLevel(int)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Level:244,1"
      Dst: "[ch.qos.logback.classic.Level].toLevel(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Level].toLevel(int)"
    functionSourceFile: "ch.qos.logback.classic.Level"
    linkageType: null
    functionLinenumber: 172
    functionDepth: 1
    returnType: "ch.qos.logback.classic.Level"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.Level].toLevel(int,ch.qos.logback.classic.Level)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Level:173,1"
      Dst: "[ch.qos.logback.classic.Level].toLevel(int,ch.qos.logback.classic.Level)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Level].fromLocationAwareLoggerInteger(int)"
    functionSourceFile: "ch.qos.logback.classic.Level"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.classic.Level"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 17
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.Level:275,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(int)"
    - Src: "ch.qos.logback.classic.Level:275,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 5
  - functionName: "[ch.qos.logback.classic.Level].toLocationAwareLoggerInteger(ch.qos.logback.classic.Level)"
    functionSourceFile: "ch.qos.logback.classic.Level"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "int"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.Level"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[ch.qos.logback.classic.Level].toInt()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.classic.Level)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.Level:290"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.Level:292"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.Level:291"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.Level:291,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "ch.qos.logback.classic.Level:292,1"
      Dst: "[ch.qos.logback.classic.Level].toInt()"
    - Src: "ch.qos.logback.classic.Level:304,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(ch.qos.logback.classic.Level)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 9
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.Level].toInt()"
    functionSourceFile: "ch.qos.logback.classic.Level"
    linkageType: null
    functionLinenumber: 107
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.conditional.ElseModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.conditional.ElseModel"
    linkageType: null
    functionLinenumber: 17
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.conditional.ElseModel:18,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.conditional.ElseModel].makeNewInstance()"
    functionSourceFile: "ch.qos.logback.core.model.conditional.ElseModel"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.conditional.ElseModel"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.conditional.ElseModel].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.conditional.ElseModel:24,1"
      Dst: "[ch.qos.logback.core.model.conditional.ElseModel].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.conditional.ElseModel].<init>()"
    functionSourceFile: "ch.qos.logback.core.model.conditional.ElseModel"
    linkageType: null
    functionLinenumber: 17
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.Model].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.conditional.ElseModel:18,1"
      Dst: "[ch.qos.logback.core.model.Model].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_0__87].bootstrap$(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_0__87"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Predicate"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_0__87].<init>(java.lang.String)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_0__87:-1,1"
      Dst: "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_0__87].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_0__87].<init>(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_0__87"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_0__87:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_0__87].test(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_0__87"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.ConsoleAppender].lambda$wrapWithJansi$0(java.lang.String,java.lang.reflect.Method)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ConsoleAppender$lambda_wrapWithJansi_0__87:-1,1"
      Dst: "[ch.qos.logback.core.ConsoleAppender].lambda$wrapWithJansi$0(java.lang.String,java.lang.reflect.Method)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.ConsoleAppender].lambda$wrapWithJansi$0(java.lang.String,java.lang.reflect.Method)"
    functionSourceFile: "ch.qos.logback.core.ConsoleAppender"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.reflect.Method"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.reflect.Method].getName()"
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.ConsoleAppender:107,1"
      Dst: "[java.lang.reflect.Method].getName()"
    - Src: "ch.qos.logback.core.ConsoleAppender:107,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.TokenConverter].<init>(int)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.TokenConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.rolling.helper.TokenConverter:34,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.TokenConverter].getNext()"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.TokenConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.core.rolling.helper.TokenConverter"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.TokenConverter].setNext(ch.qos.logback.core.rolling.helper.TokenConverter)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.TokenConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.rolling.helper.TokenConverter"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.TokenConverter].getType()"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.TokenConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.rolling.helper.TokenConverter].setType(int)"
    functionSourceFile: "ch.qos.logback.core.rolling.helper.TokenConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.TrivialStatusListener].<init>()"
    functionSourceFile: "ch.qos.logback.core.testUtil.TrivialStatusListener"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.ArrayList].<init>()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.TrivialStatusListener:23,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "ch.qos.logback.core.testUtil.TrivialStatusListener:25,1"
      Dst: "[java.util.ArrayList].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.TrivialStatusListener].addStatusEvent(ch.qos.logback.core.status.Status)"
    functionSourceFile: "ch.qos.logback.core.testUtil.TrivialStatusListener"
    linkageType: null
    functionLinenumber: 28
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.status.Status"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.testUtil.TrivialStatusListener].isStarted()"
    - "[ch.qos.logback.core.util.COWArrayList].add(java.lang.Object)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 8
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.testUtil.TrivialStatusListener:29"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.testUtil.TrivialStatusListener:31"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.testUtil.TrivialStatusListener:30"
        BranchSideFuncs:
        - "add(java.lang.Object)"
    Callsites:
    - Src: "ch.qos.logback.core.testUtil.TrivialStatusListener:29,1"
      Dst: "[ch.qos.logback.core.testUtil.TrivialStatusListener].isStarted()"
    - Src: "ch.qos.logback.core.testUtil.TrivialStatusListener:31,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.TrivialStatusListener].isStarted()"
    functionSourceFile: "ch.qos.logback.core.testUtil.TrivialStatusListener"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.TrivialStatusListener].start()"
    functionSourceFile: "ch.qos.logback.core.testUtil.TrivialStatusListener"
    linkageType: null
    functionLinenumber: 34
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 5
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.TrivialStatusListener].stop()"
    functionSourceFile: "ch.qos.logback.core.testUtil.TrivialStatusListener"
    linkageType: null
    functionLinenumber: 38
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.testUtil.TrivialStatusListener].isStarted()"
    functionSourceFile: "ch.qos.logback.core.testUtil.TrivialStatusListener"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ProcessingPhase].values()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ProcessingPhase"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 0
    returnType: "ch.qos.logback.core.model.processor.ProcessingPhase[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].clone()"
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ProcessingPhase:23,1"
      Dst: "[java.lang.Object].clone()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ProcessingPhase].valueOf(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ProcessingPhase"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.core.model.processor.ProcessingPhase"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ProcessingPhase:23,1"
      Dst: "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ProcessingPhase].<init>(java.lang.String,int)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ProcessingPhase"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].<init>(java.lang.String,int)"
    functionUses: 3
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ProcessingPhase:23,1"
      Dst: "[java.lang.Enum].<init>(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ProcessingPhase].$values()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ProcessingPhase"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 0
    returnType: "ch.qos.logback.core.model.processor.ProcessingPhase[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: true
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__49].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__49"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.util.function.Supplier"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__49].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__49:-1,1"
      Dst: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__49].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__49].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__49"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__49:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__49].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__49"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__49:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.JoranConfiguratorBase$init__49].get()"
    functionSourceFile: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__49"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.ParamAction].<init>()"
    functionUses: 3
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.JoranConfiguratorBase$init__49:-1,1"
      Dst: "[ch.qos.logback.core.joran.action.ParamAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.action.ParamAction].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.action.ParamAction"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.action.ParamAction:23,1"
      Dst: "[ch.qos.logback.core.joran.action.BaseModelAction].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory].<init>()"
    functionSourceFile: "ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory:19,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory].addInfo(java.lang.String,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 13
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory].addStatus(ch.qos.logback.core.status.Status)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory:22,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory:22,1"
      Dst: "[ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory].addError(java.lang.String,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 13
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory].addStatus(ch.qos.logback.core.status.Status)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory:26,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory:26,1"
      Dst: "[ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.status.ErrorStatus"
    linkageType: null
    functionLinenumber: 18
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    functionUses: 7
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.ErrorStatus:19,1"
      Dst: "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory].addStatus(ch.qos.logback.core.status.Status)"
    functionSourceFile: "ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 12
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.status.Status"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.LoggerFactory].getILoggerFactory()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory:35"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory:41"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory:40"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory:34,1"
      Dst: "[org.slf4j.LoggerFactory].getILoggerFactory()"
    - Src: "ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory:36,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - Src: "ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory:38,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory:39,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory].addError(java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 13
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory].addStatus(ch.qos.logback.core.status.Status)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory:30,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory:30,1"
      Dst: "[ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.status.ErrorStatus"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object,java.lang.Throwable)"
    functionUses: 14
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.status.ErrorStatus:23,1"
      Dst: "[ch.qos.logback.core.status.StatusBase].<init>(int,java.lang.String,java.lang.Object,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory].addStatus(ch.qos.logback.core.status.Status)"
    functionSourceFile: "ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 12
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.status.Status"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.LoggerFactory].getILoggerFactory()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory:35"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory:41"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory:40"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory:34,1"
      Dst: "[org.slf4j.LoggerFactory].getILoggerFactory()"
    - Src: "ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory:36,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - Src: "ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory:38,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory:39,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory].addStatus(ch.qos.logback.core.status.Status)"
    functionSourceFile: "ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 12
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.status.Status"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.LoggerFactory].getILoggerFactory()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory:35"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory:41"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory:40"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory:34,1"
      Dst: "[org.slf4j.LoggerFactory].getILoggerFactory()"
    - Src: "ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory:36,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].<init>()"
    - Src: "ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory:38,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory:39,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__80].bootstrap$()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__80"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.ModelHandlerFactoryMethod"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__80].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__80:-1,1"
      Dst: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__80].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__80].<init>()"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__80"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__80:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__80].make(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__80"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.StatusListenerModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase$makeInstance__80:-1,1"
      Dst: "[ch.qos.logback.core.model.processor.StatusListenerModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.StatusListenerModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.StatusListenerModelHandler"
    linkageType: null
    functionLinenumber: 21
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.StatusListenerModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.StatusListenerModelHandler:22,1"
      Dst: "[ch.qos.logback.core.model.processor.StatusListenerModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].<init>()"
    functionSourceFile: "ch.qos.logback.core.encoder.LayoutWrappingEncoder"
    linkageType: null
    functionLinenumber: 22
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.encoder.EncoderBase].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:23,1"
      Dst: "[ch.qos.logback.core.encoder.EncoderBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].getLayout()"
    functionSourceFile: "ch.qos.logback.core.encoder.LayoutWrappingEncoder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.core.Layout"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].setLayout(ch.qos.logback.core.Layout)"
    functionSourceFile: "ch.qos.logback.core.encoder.LayoutWrappingEncoder"
    linkageType: null
    functionLinenumber: 42
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Layout"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].getCharset()"
    functionSourceFile: "ch.qos.logback.core.encoder.LayoutWrappingEncoder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.nio.charset.Charset"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].setCharset(java.nio.charset.Charset)"
    functionSourceFile: "ch.qos.logback.core.encoder.LayoutWrappingEncoder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.nio.charset.Charset"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].setImmediateFlush(boolean)"
    functionSourceFile: "ch.qos.logback.core.encoder.LayoutWrappingEncoder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[java.lang.Boolean].valueOf(boolean)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:72,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:74,1"
      Dst: "[java.lang.Boolean].valueOf(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 96
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].headerBytes()"
    functionSourceFile: "ch.qos.logback.core.encoder.LayoutWrappingEncoder"
    linkageType: null
    functionLinenumber: 78
    functionDepth: 1
    returnType: "byte[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].appendIfNotNull(java.lang.StringBuilder,java.lang.String)"
    - "[ch.qos.logback.core.html.HTMLLayoutBase].getFileHeader()"
    - "[ch.qos.logback.core.LayoutBase].getFileHeader()"
    - "[ch.qos.logback.core.html.HTMLLayoutBase].getPresentationHeader()"
    - "[ch.qos.logback.core.pattern.PatternLayoutBase].getPresentationHeader()"
    - "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].convertToBytes(java.lang.String)"
    - "[java.lang.StringBuilder].<init>()"
    - "[ch.qos.logback.core.Layout].getFileHeader()"
    - "[ch.qos.logback.core.Layout].getPresentationHeader()"
    - "[java.lang.StringBuilder].length()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 19
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:79"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:82"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:81"
        BranchSideFuncs:
        - "appendIfNotNull(java.lang.StringBuilder,java.lang.String)"
        - "getFileHeader()"
        - "getPresentationHeader()"
    - Branch String: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:85"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:90"
        BranchSideFuncs:
        - "convertToBytes(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:82,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:83,1"
      Dst: "[ch.qos.logback.core.Layout].getFileHeader()"
    - Src: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:83,1"
      Dst: "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].appendIfNotNull(java.lang.StringBuilder,java.lang.String)"
    - Src: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:84,1"
      Dst: "[ch.qos.logback.core.Layout].getPresentationHeader()"
    - Src: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:85,1"
      Dst: "[java.lang.StringBuilder].length()"
    - Src: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:89,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:91,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:91,1"
      Dst: "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].convertToBytes(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].appendIfNotNull(java.lang.StringBuilder,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.encoder.LayoutWrappingEncoder"
    linkageType: null
    functionLinenumber: 140
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 4
    ICount: 6
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:141"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:144"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:143"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:142,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].convertToBytes(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.encoder.LayoutWrappingEncoder"
    linkageType: null
    functionLinenumber: 105
    functionDepth: 0
    returnType: "byte[]"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].getBytes()"
    - "[java.lang.String].getBytes(java.nio.charset.Charset)"
    functionUses: 3
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:106"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:109"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:108"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:107,1"
      Dst: "[java.lang.String].getBytes()"
    - Src: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:109,1"
      Dst: "[java.lang.String].getBytes(java.nio.charset.Charset)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].footerBytes()"
    functionSourceFile: "ch.qos.logback.core.encoder.LayoutWrappingEncoder"
    linkageType: null
    functionLinenumber: 95
    functionDepth: 1
    returnType: "byte[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].appendIfNotNull(java.lang.StringBuilder,java.lang.String)"
    - "[ch.qos.logback.core.html.HTMLLayoutBase].getPresentationFooter()"
    - "[ch.qos.logback.core.LayoutBase].getPresentationFooter()"
    - "[ch.qos.logback.core.html.HTMLLayoutBase].getFileFooter()"
    - "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].convertToBytes(java.lang.String)"
    - "[java.lang.StringBuilder].<init>()"
    - "[ch.qos.logback.core.Layout].getPresentationFooter()"
    - "[ch.qos.logback.core.Layout].getFileFooter()"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 15
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:96"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:99"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:98"
        BranchSideFuncs:
        - "getPresentationFooter()"
        - "appendIfNotNull(java.lang.StringBuilder,java.lang.String)"
        - "convertToBytes(java.lang.String)"
        - "getFileFooter()"
    Callsites:
    - Src: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:99,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:100,1"
      Dst: "[ch.qos.logback.core.Layout].getPresentationFooter()"
    - Src: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:100,1"
      Dst: "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].appendIfNotNull(java.lang.StringBuilder,java.lang.String)"
    - Src: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:101,1"
      Dst: "[ch.qos.logback.core.Layout].getFileFooter()"
    - Src: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:102,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:102,1"
      Dst: "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].convertToBytes(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].appendIfNotNull(java.lang.StringBuilder,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.encoder.LayoutWrappingEncoder"
    linkageType: null
    functionLinenumber: 140
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 4
    ICount: 6
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:141"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:144"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:143"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:142,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].convertToBytes(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.encoder.LayoutWrappingEncoder"
    linkageType: null
    functionLinenumber: 105
    functionDepth: 0
    returnType: "byte[]"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].getBytes()"
    - "[java.lang.String].getBytes(java.nio.charset.Charset)"
    functionUses: 3
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:106"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:109"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:108"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:107,1"
      Dst: "[java.lang.String].getBytes()"
    - Src: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:109,1"
      Dst: "[java.lang.String].getBytes(java.nio.charset.Charset)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].convertToBytes(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.encoder.LayoutWrappingEncoder"
    linkageType: null
    functionLinenumber: 105
    functionDepth: 0
    returnType: "byte[]"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].getBytes()"
    - "[java.lang.String].getBytes(java.nio.charset.Charset)"
    functionUses: 3
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:106"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:109"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:108"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:107,1"
      Dst: "[java.lang.String].getBytes()"
    - Src: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:109,1"
      Dst: "[java.lang.String].getBytes(java.nio.charset.Charset)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].encode(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.encoder.LayoutWrappingEncoder"
    linkageType: null
    functionLinenumber: 113
    functionDepth: 1
    returnType: "byte[]"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.layout.TTLLLayout].doLayout(java.lang.Object)"
    - "[ch.qos.logback.classic.PatternLayout].doLayout(java.lang.Object)"
    - "[ch.qos.logback.core.layout.EchoLayout].doLayout(java.lang.Object)"
    - "[ch.qos.logback.classic.html.HTMLLayout].doLayout(java.lang.Object)"
    - "[ch.qos.logback.classic.log4j.XMLLayout].doLayout(java.lang.Object)"
    - "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].convertToBytes(java.lang.String)"
    - "[ch.qos.logback.core.Layout].doLayout(java.lang.Object)"
    functionUses: 2
    ICount: 6
    EdgeCount: 6
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:114,1"
      Dst: "[ch.qos.logback.core.Layout].doLayout(java.lang.Object)"
    - Src: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:115,1"
      Dst: "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].convertToBytes(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].convertToBytes(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.encoder.LayoutWrappingEncoder"
    linkageType: null
    functionLinenumber: 105
    functionDepth: 0
    returnType: "byte[]"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].getBytes()"
    - "[java.lang.String].getBytes(java.nio.charset.Charset)"
    functionUses: 3
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:106"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:109"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:108"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:107,1"
      Dst: "[java.lang.String].getBytes()"
    - Src: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:109,1"
      Dst: "[java.lang.String].getBytes(java.nio.charset.Charset)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].isStarted()"
    functionSourceFile: "ch.qos.logback.core.encoder.LayoutWrappingEncoder"
    linkageType: null
    functionLinenumber: 118
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].start()"
    functionSourceFile: "ch.qos.logback.core.encoder.LayoutWrappingEncoder"
    linkageType: null
    functionLinenumber: 122
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.OutputStreamAppender].setImmediateFlush(boolean)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Boolean)"
    - "[java.lang.Boolean].booleanValue()"
    functionUses: 6
    ICount: 18
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:123"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:133"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:132"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:124"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:130"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
        - "setImmediateFlush(boolean)"
      - BranchSide: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:129"
        BranchSideFuncs:
        - "addError(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:125,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Boolean)"
    - Src: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:125,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:128,1"
      Dst: "[java.lang.Boolean].booleanValue()"
    - Src: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:128,1"
      Dst: "[ch.qos.logback.core.OutputStreamAppender].setImmediateFlush(boolean)"
    - Src: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:130,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 96
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.OutputStreamAppender].setImmediateFlush(boolean)"
    functionSourceFile: "ch.qos.logback.core.OutputStreamAppender"
    linkageType: null
    functionLinenumber: 259
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 100
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 147
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:101,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].stop()"
    functionSourceFile: "ch.qos.logback.core.encoder.LayoutWrappingEncoder"
    linkageType: null
    functionLinenumber: 136
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].appendIfNotNull(java.lang.StringBuilder,java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.encoder.LayoutWrappingEncoder"
    linkageType: null
    functionLinenumber: 140
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.StringBuilder"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 4
    ICount: 6
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:141"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:144"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:143"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:142,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].setParent(ch.qos.logback.core.spi.ContextAware)"
    functionSourceFile: "ch.qos.logback.core.encoder.LayoutWrappingEncoder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.spi.ContextAware"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.TurboFilterList].<init>()"
    functionSourceFile: "ch.qos.logback.classic.spi.TurboFilterList"
    linkageType: null
    functionLinenumber: 29
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.CopyOnWriteArrayList].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.TurboFilterList:30,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.spi.TurboFilterList].getTurboFilterChainDecision(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.classic.spi.TurboFilterList"
    linkageType: null
    functionLinenumber: 41
    functionDepth: 0
    returnType: "ch.qos.logback.core.spi.FilterReply"
    argCount: 6
    argTypes:
    - "org.slf4j.Marker"
    - "ch.qos.logback.classic.Logger"
    - "ch.qos.logback.classic.Level"
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.turbo.DynamicThresholdFilter].decide(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter].decide(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[ch.qos.logback.classic.turbo.DuplicateMessageFilter].decide(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[ch.qos.logback.classic.turbo.MDCFilter].decide(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[ch.qos.logback.classic.turbo.MarkerFilter].decide(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[java.util.concurrent.CopyOnWriteArrayList].size()"
    - "[java.util.concurrent.CopyOnWriteArrayList].get(int)"
    - "[ch.qos.logback.classic.turbo.TurboFilter].decide(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - "[java.util.concurrent.CopyOnWriteArrayList].toArray()"
    functionUses: 2
    ICount: 32
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.spi.TurboFilterList:46"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.TurboFilterList:54"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.TurboFilterList:57"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.TurboFilterList:64"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.TurboFilterList:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.TurboFilterList:62"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.TurboFilterList:61"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.spi.TurboFilterList:61"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.spi.TurboFilterList:55"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.spi.TurboFilterList:54"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.spi.TurboFilterList:42,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].size()"
    - Src: "ch.qos.logback.classic.spi.TurboFilterList:48,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].get(int)"
    - Src: "ch.qos.logback.classic.spi.TurboFilterList:49,1"
      Dst: "[ch.qos.logback.classic.turbo.TurboFilter].decide(org.slf4j.Marker,ch.qos.logback.classic.Logger,ch.qos.logback.classic.Level,java.lang.String,java.lang.Object[],java.lang.Throwable)"
    - Src: "ch.qos.logback.classic.spi.TurboFilterList:55,1"
      Dst: "[java.util.concurrent.CopyOnWriteArrayList].toArray()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 10
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.pattern.ClassOfCallerConverter].<init>()"
    functionSourceFile: "ch.qos.logback.classic.pattern.ClassOfCallerConverter"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.pattern.NamedConverter].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.ClassOfCallerConverter:20,1"
      Dst: "[ch.qos.logback.classic.pattern.NamedConverter].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.pattern.ClassOfCallerConverter].getFullyQualifiedName(ch.qos.logback.classic.spi.ILoggingEvent)"
    functionSourceFile: "ch.qos.logback.classic.pattern.ClassOfCallerConverter"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "ch.qos.logback.classic.spi.ILoggingEvent"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.spi.LoggingEvent].getCallerData()"
    - "[ch.qos.logback.classic.spi.LoggingEventVO].getCallerData()"
    - "[ch.qos.logback.classic.spi.ILoggingEvent].getCallerData()"
    - "[java.lang.StackTraceElement].getClassName()"
    functionUses: 1
    ICount: 10
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "ch.qos.logback.classic.pattern.ClassOfCallerConverter:25"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ClassOfCallerConverter:28"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.ClassOfCallerConverter:27"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.classic.pattern.ClassOfCallerConverter:25"
      Branch Sides:
      - BranchSide: "ch.qos.logback.classic.pattern.ClassOfCallerConverter:28"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.classic.pattern.ClassOfCallerConverter:27"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.classic.pattern.ClassOfCallerConverter:24,1"
      Dst: "[ch.qos.logback.classic.spi.ILoggingEvent].getCallerData()"
    - Src: "ch.qos.logback.classic.pattern.ClassOfCallerConverter:26,1"
      Dst: "[java.lang.StackTraceElement].getClassName()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.classic.encoder.PatternLayoutEncoder].<init>()"
    functionSourceFile: "ch.qos.logback.classic.encoder.PatternLayoutEncoder"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.PatternLayoutEncoderBase].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.encoder.PatternLayoutEncoder:20,1"
      Dst: "[ch.qos.logback.core.pattern.PatternLayoutEncoderBase].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.encoder.PatternLayoutEncoder].start()"
    functionSourceFile: "ch.qos.logback.classic.encoder.PatternLayoutEncoder"
    linkageType: null
    functionLinenumber: 23
    functionDepth: 3
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.classic.PatternLayout].<init>()"
    - "[ch.qos.logback.core.LayoutBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.pattern.PatternLayoutEncoderBase].getPattern()"
    - "[ch.qos.logback.core.pattern.PatternLayoutBase].setPattern(java.lang.String)"
    - "[ch.qos.logback.core.pattern.PatternLayoutBase].setOutputPatternAsHeader(boolean)"
    - "[ch.qos.logback.core.pattern.PatternLayoutBase].start()"
    - "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].start()"
    functionUses: 5
    ICount: 13
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.encoder.PatternLayoutEncoder:24,1"
      Dst: "[ch.qos.logback.classic.PatternLayout].<init>()"
    - Src: "ch.qos.logback.classic.encoder.PatternLayoutEncoder:25,1"
      Dst: "[ch.qos.logback.core.LayoutBase].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.classic.encoder.PatternLayoutEncoder:26,1"
      Dst: "[ch.qos.logback.core.pattern.PatternLayoutEncoderBase].getPattern()"
    - Src: "ch.qos.logback.classic.encoder.PatternLayoutEncoder:26,1"
      Dst: "[ch.qos.logback.core.pattern.PatternLayoutBase].setPattern(java.lang.String)"
    - Src: "ch.qos.logback.classic.encoder.PatternLayoutEncoder:27,1"
      Dst: "[ch.qos.logback.core.pattern.PatternLayoutBase].setOutputPatternAsHeader(boolean)"
    - Src: "ch.qos.logback.classic.encoder.PatternLayoutEncoder:28,1"
      Dst: "[ch.qos.logback.core.pattern.PatternLayoutBase].start()"
    - Src: "ch.qos.logback.classic.encoder.PatternLayoutEncoder:30,1"
      Dst: "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.classic.PatternLayout].<init>()"
    functionSourceFile: "ch.qos.logback.classic.PatternLayout"
    linkageType: null
    functionLinenumber: 163
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.pattern.PatternLayoutBase].<init>()"
    - "[ch.qos.logback.classic.pattern.EnsureExceptionHandling].<init>()"
    functionUses: 4
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.classic.PatternLayout:164,1"
      Dst: "[ch.qos.logback.core.pattern.PatternLayoutBase].<init>()"
    - Src: "ch.qos.logback.classic.PatternLayout:165,1"
      Dst: "[ch.qos.logback.classic.pattern.EnsureExceptionHandling].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.pattern.PatternLayoutEncoderBase].getPattern()"
    functionSourceFile: "ch.qos.logback.core.pattern.PatternLayoutEncoderBase"
    linkageType: null
    functionLinenumber: 26
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.encoder.LayoutWrappingEncoder].start()"
    functionSourceFile: "ch.qos.logback.core.encoder.LayoutWrappingEncoder"
    linkageType: null
    functionLinenumber: 122
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.OutputStreamAppender].setImmediateFlush(boolean)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Boolean)"
    - "[java.lang.Boolean].booleanValue()"
    functionUses: 6
    ICount: 18
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:123"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:133"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:132"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:124"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:130"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
        - "setImmediateFlush(boolean)"
      - BranchSide: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:129"
        BranchSideFuncs:
        - "addError(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:125,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.Boolean)"
    - Src: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:125,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:128,1"
      Dst: "[java.lang.Boolean].booleanValue()"
    - Src: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:128,1"
      Dst: "[ch.qos.logback.core.OutputStreamAppender].setImmediateFlush(boolean)"
    - Src: "ch.qos.logback.core.encoder.LayoutWrappingEncoder:130,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.model.processor.ShutdownHookModelHandler].<init>(ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ShutdownHookModelHandler"
    linkageType: null
    functionLinenumber: 33
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ShutdownHookModelHandler:34,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelHandlerBase].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ShutdownHookModelHandler].makeInstance(ch.qos.logback.core.Context,ch.qos.logback.core.model.processor.ModelInterpretationContext)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ShutdownHookModelHandler"
    linkageType: null
    functionLinenumber: 39
    functionDepth: 1
    returnType: "ch.qos.logback.core.model.processor.ModelHandlerBase"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.Context"
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ShutdownHookModelHandler].<init>(ch.qos.logback.core.Context)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ShutdownHookModelHandler:40,1"
      Dst: "[ch.qos.logback.core.model.processor.ShutdownHookModelHandler].<init>(ch.qos.logback.core.Context)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ShutdownHookModelHandler].getSupportedModelClass()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ShutdownHookModelHandler"
    linkageType: null
    functionLinenumber: 44
    functionDepth: 0
    returnType: "java.lang.Class"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ShutdownHookModelHandler].handle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ShutdownHookModelHandler"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.ComponentModel].getClassName()"
    - "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getImport(java.lang.String)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].setContext(ch.qos.logback.core.Context)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].pushObject(java.lang.Object)"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAware].setContext(ch.qos.logback.core.Context)"
    functionUses: 3
    ICount: 37
    EdgeCount: 11
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.ShutdownHookModelHandler:54"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ShutdownHookModelHandler:58"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ShutdownHookModelHandler:57"
        BranchSideFuncs:
        - "getImport(java.lang.String)"
    - Branch String: "ch.qos.logback.core.model.processor.ShutdownHookModelHandler:59"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ShutdownHookModelHandler:66"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.model.processor.ShutdownHookModelHandler:65"
        BranchSideFuncs:
        - "setContext(ch.qos.logback.core.Context)"
        - "instantiateByClassName(java.lang.String,java.lang.Class,ch.qos.logback.core.Context)"
        - "addError(java.lang.String,java.lang.Throwable)"
        - "addInfo(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ShutdownHookModelHandler:53,1"
      Dst: "[ch.qos.logback.core.model.ComponentModel].getClassName()"
    - Src: "ch.qos.logback.core.model.processor.ShutdownHookModelHandler:54,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ShutdownHookModelHandler:56,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ShutdownHookModelHandler:56,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ShutdownHookModelHandler:58,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getImport(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ShutdownHookModelHandler:59,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "ch.qos.logback.core.model.processor.ShutdownHookModelHandler:61,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ShutdownHookModelHandler:69,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.model.processor.ShutdownHookModelHandler:70,1"
      Dst: "[ch.qos.logback.core.spi.ContextAware].setContext(ch.qos.logback.core.Context)"
    - Src: "ch.qos.logback.core.model.processor.ShutdownHookModelHandler:72,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.model.processor.ShutdownHookModelHandler:77,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].pushObject(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 7
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.model.ComponentModel].getClassName()"
    functionSourceFile: "ch.qos.logback.core.model.ComponentModel"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 11
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].isNullOrEmptyOrAllSpaces(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 282
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].trim()"
    - "[java.lang.String].length()"
    functionUses: 62
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.util.OptionHelper:283"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.util.OptionHelper:282"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].trim()"
    - Src: "ch.qos.logback.core.util.OptionHelper:283,1"
      Dst: "[java.lang.String].length()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].getImport(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 287
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map].get(java.lang.Object)"
    functionUses: 9
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:288"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:291"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:290"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.model.processor.ModelInterpretationContext:292"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:295"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ModelInterpretationContext:294"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:291,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 96
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,ch.qos.logback.core.Context)"
    functionSourceFile: "ch.qos.logback.core.util.OptionHelper"
    linkageType: null
    functionLinenumber: 31
    functionDepth: 3
    returnType: "java.lang.Object"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Class"
    - "ch.qos.logback.core.Context"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.util.Loader].getClassLoaderOfObject(java.lang.Object)"
    - "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,java.lang.ClassLoader)"
    functionUses: 12
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.util.OptionHelper:32,1"
      Dst: "[ch.qos.logback.core.util.Loader].getClassLoaderOfObject(java.lang.Object)"
    - Src: "ch.qos.logback.core.util.OptionHelper:33,1"
      Dst: "[ch.qos.logback.core.util.OptionHelper].instantiateByClassName(java.lang.String,java.lang.Class,java.lang.ClassLoader)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addError(java.lang.String,java.lang.Throwable)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 104
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 74
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.status.ErrorStatus].<init>(java.lang.String,java.lang.Object,java.lang.Throwable)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:105,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].pushObject(java.lang.Object)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 126
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].push(java.lang.Object)"
    functionUses: 12
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:127,1"
      Dst: "[java.util.Stack].push(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ShutdownHookModelHandler].postHandle(ch.qos.logback.core.model.processor.ModelInterpretationContext,ch.qos.logback.core.model.Model)"
    functionSourceFile: "ch.qos.logback.core.model.processor.ShutdownHookModelHandler"
    linkageType: null
    functionLinenumber: 81
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    - "ch.qos.logback.core.model.Model"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekObject()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - "[ch.qos.logback.core.ContextBase].getName()"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - "[ch.qos.logback.core.ContextBase].putObject(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.model.processor.ModelInterpretationContext].popObject()"
    - "[ch.qos.logback.core.Context].getName()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - "[java.lang.Thread].<init>(java.lang.Runnable,java.lang.String)"
    - "[ch.qos.logback.core.Context].putObject(java.lang.String,java.lang.Object)"
    - "[java.lang.Runtime].getRuntime()"
    - "[java.lang.Runtime].addShutdownHook(java.lang.Thread)"
    functionUses: 3
    ICount: 24
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.model.processor.ShutdownHookModelHandler:82"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ShutdownHookModelHandler:85"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.model.processor.ShutdownHookModelHandler:84"
        BranchSideFuncs:
        - "peekObject()"
    - Branch String: "ch.qos.logback.core.model.processor.ShutdownHookModelHandler:87"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.model.processor.ShutdownHookModelHandler:90"
        BranchSideFuncs:
        - "addWarn(java.lang.String)"
      - BranchSide: "ch.qos.logback.core.model.processor.ShutdownHookModelHandler:89"
        BranchSideFuncs:
        - "putObject(java.lang.String,java.lang.Object)"
        - "getName()"
        - "popObject()"
        - "addInfo(java.lang.String)"
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ShutdownHookModelHandler:85,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekObject()"
    - Src: "ch.qos.logback.core.model.processor.ShutdownHookModelHandler:88,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ShutdownHookModelHandler:90,1"
      Dst: "[ch.qos.logback.core.Context].getName()"
    - Src: "ch.qos.logback.core.model.processor.ShutdownHookModelHandler:90,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ShutdownHookModelHandler:90,1"
      Dst: "[java.lang.Thread].<init>(java.lang.Runnable,java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ShutdownHookModelHandler:91,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    - Src: "ch.qos.logback.core.model.processor.ShutdownHookModelHandler:92,1"
      Dst: "[ch.qos.logback.core.Context].putObject(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.model.processor.ShutdownHookModelHandler:93,1"
      Dst: "[java.lang.Runtime].getRuntime()"
    - Src: "ch.qos.logback.core.model.processor.ShutdownHookModelHandler:93,1"
      Dst: "[java.lang.Runtime].addShutdownHook(java.lang.Thread)"
    - Src: "ch.qos.logback.core.model.processor.ShutdownHookModelHandler:95,1"
      Dst: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].popObject()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].peekObject()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 122
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].peek()"
    functionUses: 16
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:123,1"
      Dst: "[java.util.Stack].peek()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addWarn(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 92
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 96
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.status.WarnStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:93,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.spi.ContextAwareBase].addInfo(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.spi.ContextAwareBase"
    linkageType: null
    functionLinenumber: 84
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    - "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    functionUses: 155
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].getDeclaredOrigin()"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.status.InfoStatus].<init>(java.lang.String,java.lang.Object)"
    - Src: "ch.qos.logback.core.spi.ContextAwareBase:85,1"
      Dst: "[ch.qos.logback.core.spi.ContextAwareBase].addStatus(ch.qos.logback.core.status.Status)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.model.processor.ModelInterpretationContext].popObject()"
    functionSourceFile: "ch.qos.logback.core.model.processor.ModelInterpretationContext"
    linkageType: null
    functionLinenumber: 130
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Stack].pop()"
    functionUses: 12
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.model.processor.ModelInterpretationContext:131,1"
      Dst: "[java.util.Stack].pop()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.CoreConstants].<init>()"
    functionSourceFile: "ch.qos.logback.core.CoreConstants"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.CoreConstants:19,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.stax.StartEvent].<init>(ch.qos.logback.core.joran.spi.ElementPath,java.lang.String,java.util.Iterator,javax.xml.stream.Location)"
    functionSourceFile: "ch.qos.logback.core.joran.event.stax.StartEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 1
    returnType: "void"
    argCount: 4
    argTypes:
    - "ch.qos.logback.core.joran.spi.ElementPath"
    - "java.lang.String"
    - "java.util.Iterator"
    - "javax.xml.stream.Location"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.event.stax.StaxEvent].<init>(java.lang.String,javax.xml.stream.Location)"
    - "[ch.qos.logback.core.joran.event.stax.StartEvent].populateAttributes(java.util.Iterator)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.stax.StartEvent:30,1"
      Dst: "[ch.qos.logback.core.joran.event.stax.StaxEvent].<init>(java.lang.String,javax.xml.stream.Location)"
    - Src: "ch.qos.logback.core.joran.event.stax.StartEvent:31,1"
      Dst: "[ch.qos.logback.core.joran.event.stax.StartEvent].populateAttributes(java.util.Iterator)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.stax.StartEvent].populateAttributes(java.util.Iterator)"
    functionSourceFile: "ch.qos.logback.core.joran.event.stax.StartEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.Iterator"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Iterator].hasNext()"
    - "[java.util.ArrayList].<init>(int)"
    - "[java.util.Iterator].next()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.event.stax.StartEvent:36"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.event.stax.StartEvent:42"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.event.stax.StartEvent:41"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.event.stax.StartEvent:37"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.event.stax.StartEvent:40"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.event.stax.StartEvent:39"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.stax.StartEvent:36,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.joran.event.stax.StartEvent:38,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    - Src: "ch.qos.logback.core.joran.event.stax.StartEvent:40,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.joran.event.stax.StartEvent:40,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[ch.qos.logback.core.joran.event.stax.StartEvent].getElementPath()"
    functionSourceFile: "ch.qos.logback.core.joran.event.stax.StartEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "ch.qos.logback.core.joran.spi.ElementPath"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.stax.StartEvent].getAttributeList()"
    functionSourceFile: "ch.qos.logback.core.joran.event.stax.StartEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.stax.StartEvent].getAttributeByName(java.lang.String)"
    functionSourceFile: "ch.qos.logback.core.joran.event.stax.StartEvent"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "javax.xml.stream.events.Attribute"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[javax.xml.stream.events.Attribute].getName()"
    - "[javax.xml.namespace.QName].getLocalPart()"
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 0
    ICount: 18
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "ch.qos.logback.core.joran.event.stax.StartEvent:53"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.event.stax.StartEvent:56"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.event.stax.StartEvent:55"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.event.stax.StartEvent:56"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.event.stax.StartEvent:60"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.event.stax.StartEvent:59"
        BranchSideFuncs: []
    - Branch String: "ch.qos.logback.core.joran.event.stax.StartEvent:57"
      Branch Sides:
      - BranchSide: "ch.qos.logback.core.joran.event.stax.StartEvent:59"
        BranchSideFuncs: []
      - BranchSide: "ch.qos.logback.core.joran.event.stax.StartEvent:58"
        BranchSideFuncs: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.stax.StartEvent:56,1"
      Dst: "[java.util.List].iterator()"
    - Src: "ch.qos.logback.core.joran.event.stax.StartEvent:56,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "ch.qos.logback.core.joran.event.stax.StartEvent:56,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "ch.qos.logback.core.joran.event.stax.StartEvent:57,1"
      Dst: "[javax.xml.stream.events.Attribute].getName()"
    - Src: "ch.qos.logback.core.joran.event.stax.StartEvent:57,1"
      Dst: "[javax.xml.namespace.QName].getLocalPart()"
    - Src: "ch.qos.logback.core.joran.event.stax.StartEvent:57,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[ch.qos.logback.core.joran.event.stax.StartEvent].toString()"
    functionSourceFile: "ch.qos.logback.core.joran.event.stax.StartEvent"
    linkageType: null
    functionLinenumber: 64
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[ch.qos.logback.core.joran.event.stax.StaxEvent].getName()"
    - "[javax.xml.stream.Location].getLineNumber()"
    - "[javax.xml.stream.Location].getColumnNumber()"
    - "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int,int)"
    functionUses: 3
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "ch.qos.logback.core.joran.event.stax.StartEvent:65,1"
      Dst: "[ch.qos.logback.core.joran.event.stax.StaxEvent].getName()"
    - Src: "ch.qos.logback.core.joran.event.stax.StartEvent:65,1"
      Dst: "[javax.xml.stream.Location].getLineNumber()"
    - Src: "ch.qos.logback.core.joran.event.stax.StartEvent:65,1"
      Dst: "[javax.xml.stream.Location].getColumnNumber()"
    - Src: "ch.qos.logback.core.joran.event.stax.StartEvent:65,1"
      Dst: "[soot.dummy.InvokeDynamic].makeConcatWithConstants(java.lang.String,int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[ch.qos.logback.core.joran.event.stax.StaxEvent].getName()"
    functionSourceFile: "ch.qos.logback.core.joran.event.stax.StaxEvent"
    linkageType: null
    functionLinenumber: 29
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.FormattingTuple].<init>(java.lang.String)"
    functionSourceFile: "org.slf4j.helpers.FormattingTuple"
    linkageType: null
    functionLinenumber: 40
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.helpers.FormattingTuple].<init>(java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.FormattingTuple:41,1"
      Dst: "[org.slf4j.helpers.FormattingTuple].<init>(java.lang.String,java.lang.Object[],java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.FormattingTuple].<init>(java.lang.String,java.lang.Object[],java.lang.Throwable)"
    functionSourceFile: "org.slf4j.helpers.FormattingTuple"
    linkageType: null
    functionLinenumber: 43
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 5
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.slf4j.helpers.FormattingTuple:44,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.FormattingTuple].getMessage()"
    functionSourceFile: "org.slf4j.helpers.FormattingTuple"
    linkageType: null
    functionLinenumber: 50
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.FormattingTuple].getArgArray()"
    functionSourceFile: "org.slf4j.helpers.FormattingTuple"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.Object[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.slf4j.helpers.FormattingTuple].getThrowable()"
    functionSourceFile: "org.slf4j.helpers.FormattingTuple"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.Throwable"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[java.io.File].<init>(java.lang.String,int)"
    functionSourceFile: "java.io.File"
    linkageType: null
    functionLinenumber: 249
    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: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.File].<init>(java.lang.String,java.io.File)"
    functionSourceFile: "java.io.File"
    linkageType: null
    functionLinenumber: 259
    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: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.File].<init>(java.lang.String)"
    functionSourceFile: "java.io.File"
    linkageType: null
    functionLinenumber: 275
    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: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.File].<init>(java.lang.String,java.lang.String)"
    functionSourceFile: "java.io.File"
    linkageType: null
    functionLinenumber: 315
    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: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.File].<init>(java.io.File,java.lang.String)"
    functionSourceFile: "java.io.File"
    linkageType: null
    functionLinenumber: 358
    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: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.File].<init>(java.net.URI)"
    functionSourceFile: "java.io.File"
    linkageType: null
    functionLinenumber: 413
    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: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.File].createNewFile()"
    functionSourceFile: "java.io.File"
    linkageType: null
    functionLinenumber: 1029
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.File].delete()"
    functionSourceFile: "java.io.File"
    linkageType: null
    functionLinenumber: 1056
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.File].deleteOnExit()"
    functionSourceFile: "java.io.File"
    linkageType: null
    functionLinenumber: 1094
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.File].renameTo(java.io.File)"
    functionSourceFile: "java.io.File"
    linkageType: null
    functionLinenumber: 1436
    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: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.File].createTempFile(java.lang.String,java.lang.String,java.io.File)"
    functionSourceFile: "java.io.File"
    linkageType: null
    functionLinenumber: 2102
    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: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.File].createTempFile(java.lang.String,java.lang.String)"
    functionSourceFile: "java.io.File"
    linkageType: null
    functionLinenumber: 2174
    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: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.util.concurrent.Callable].call()"
    functionSourceFile: "java.util.concurrent.Callable"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: false
      classConcrete: false
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].command(java.util.List)"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: null
    functionLinenumber: 243
    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: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].command(java.lang.String[])"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: null
    functionLinenumber: 261
    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: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].command()"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: null
    functionLinenumber: 276
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].directory()"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: null
    functionLinenumber: 401
    functionDepth: 0
    returnType: "java.io.File"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].directory(java.io.File)"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: null
    functionLinenumber: 418
    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: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].redirectInput(java.lang.ProcessBuilder$Redirect)"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: null
    functionLinenumber: 759
    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: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].redirectOutput(java.lang.ProcessBuilder$Redirect)"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: null
    functionLinenumber: 790
    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: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].redirectError(java.lang.ProcessBuilder$Redirect)"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: null
    functionLinenumber: 824
    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: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].redirectInput(java.io.File)"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: null
    functionLinenumber: 845
    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: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].redirectOutput(java.io.File)"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: null
    functionLinenumber: 862
    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: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].redirectError(java.io.File)"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: null
    functionLinenumber: 879
    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: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].redirectInput()"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: null
    functionLinenumber: 893
    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: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].redirectOutput()"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: null
    functionLinenumber: 907
    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: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].redirectError()"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: null
    functionLinenumber: 921
    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: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].inheritIO()"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: null
    functionLinenumber: 947
    functionDepth: 0
    returnType: "java.lang.ProcessBuilder"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].redirectErrorStream()"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: null
    functionLinenumber: 966
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].redirectErrorStream(boolean)"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: null
    functionLinenumber: 984
    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: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].start()"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: null
    functionLinenumber: 1070
    functionDepth: 0
    returnType: "java.lang.Process"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].start(java.lang.ProcessBuilder$Redirect[])"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: null
    functionLinenumber: 1084
    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: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.OutputStream].write(int)"
    functionSourceFile: "java.io.OutputStream"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: false
      classConcrete: false
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.OutputStream].write(byte[])"
    functionSourceFile: "java.io.OutputStream"
    linkageType: null
    functionLinenumber: 121
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: false
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.OutputStream].write(byte[],int,int)"
    functionSourceFile: "java.io.OutputStream"
    linkageType: null
    functionLinenumber: 153
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "byte[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: false
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.BufferedReader].<init>(java.io.Reader,int)"
    functionSourceFile: "java.io.BufferedReader"
    linkageType: null
    functionLinenumber: 100
    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: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.BufferedReader].<init>(java.io.Reader)"
    functionSourceFile: "java.io.BufferedReader"
    linkageType: null
    functionLinenumber: 115
    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: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.BufferedReader].read()"
    functionSourceFile: "java.io.BufferedReader"
    linkageType: null
    functionLinenumber: 177
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.BufferedReader].read(char[],int,int)"
    functionSourceFile: "java.io.BufferedReader"
    linkageType: null
    functionLinenumber: 277
    functionDepth: 0
    returnType: "int"
    argCount: 3
    argTypes:
    - "char[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.BufferedReader].readLine(boolean)"
    functionSourceFile: "java.io.BufferedReader"
    linkageType: null
    functionLinenumber: 314
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: false
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.BufferedReader].readLine()"
    functionSourceFile: "java.io.BufferedReader"
    linkageType: null
    functionLinenumber: 391
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    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: null
    functionLinenumber: 647
    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: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    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: null
    functionLinenumber: 689
    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: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    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: null
    functionLinenumber: 742
    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: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    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: null
    functionLinenumber: 867
    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: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    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: null
    functionLinenumber: 912
    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: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    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: null
    functionLinenumber: 965
    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: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Files].createTempDirectory(java.lang.String,java.nio.file.attribute.FileAttribute[])"
    functionSourceFile: "java.nio.file.Files"
    linkageType: null
    functionLinenumber: 1006
    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: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    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: null
    functionLinenumber: 1058
    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: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Files].createLink(java.nio.file.Path,java.nio.file.Path)"
    functionSourceFile: "java.nio.file.Files"
    linkageType: null
    functionLinenumber: 1101
    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: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Files].delete(java.nio.file.Path)"
    functionSourceFile: "java.nio.file.Files"
    linkageType: null
    functionLinenumber: 1141
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.nio.file.Path"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Files].deleteIfExists(java.nio.file.Path)"
    functionSourceFile: "java.nio.file.Files"
    linkageType: null
    functionLinenumber: 1180
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.nio.file.Path"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    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: null
    functionLinenumber: 1418
    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: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    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: null
    functionLinenumber: 3422
    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: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    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: null
    functionLinenumber: 3487
    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: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    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: null
    functionLinenumber: 3540
    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: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    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: null
    functionLinenumber: 3941
    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: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.InputStream].<init>()"
    functionSourceFile: "java.io.InputStream"
    linkageType: null
    functionLinenumber: 49
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: false
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.InputStream].read()"
    functionSourceFile: "java.io.InputStream"
    linkageType: null
    functionLinenumber: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: false
      classConcrete: false
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.InputStream].read(byte[])"
    functionSourceFile: "java.io.InputStream"
    linkageType: null
    functionLinenumber: 204
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: false
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.InputStream].read(byte[],int,int)"
    functionSourceFile: "java.io.InputStream"
    linkageType: null
    functionLinenumber: 265
    functionDepth: 0
    returnType: "int"
    argCount: 3
    argTypes:
    - "byte[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: false
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.util.concurrent.Executor].execute(java.lang.Runnable)"
    functionSourceFile: "java.util.concurrent.Executor"
    linkageType: null
    functionLinenumber: -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: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: false
      classConcrete: false
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.BufferedWriter].write(int)"
    functionSourceFile: "java.io.BufferedWriter"
    linkageType: null
    functionLinenumber: 130
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.BufferedWriter].write(char[],int,int)"
    functionSourceFile: "java.io.BufferedWriter"
    linkageType: null
    functionLinenumber: 169
    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: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.BufferedWriter].write(java.lang.String,int,int)"
    functionSourceFile: "java.io.BufferedWriter"
    linkageType: null
    functionLinenumber: 222
    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: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.Runtime].exec(java.lang.String)"
    functionSourceFile: "java.lang.Runtime"
    linkageType: null
    functionLinenumber: 312
    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: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.Runtime].exec(java.lang.String,java.lang.String[])"
    functionSourceFile: "java.lang.Runtime"
    linkageType: null
    functionLinenumber: 353
    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: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.Runtime].exec(java.lang.String,java.lang.String[],java.io.File)"
    functionSourceFile: "java.lang.Runtime"
    linkageType: null
    functionLinenumber: 408
    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: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.Runtime].exec(java.lang.String[])"
    functionSourceFile: "java.lang.Runtime"
    linkageType: null
    functionLinenumber: 450
    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: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.Runtime].exec(java.lang.String[],java.lang.String[])"
    functionSourceFile: "java.lang.Runtime"
    linkageType: null
    functionLinenumber: 493
    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: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.Runtime].exec(java.lang.String[],java.lang.String[],java.io.File)"
    functionSourceFile: "java.lang.Runtime"
    linkageType: null
    functionLinenumber: 588
    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: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].write(int)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: null
    functionLinenumber: 478
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].write(char[],int,int)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: null
    functionLinenumber: 504
    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: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].write(char[])"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: null
    functionLinenumber: 523
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "char[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].write(java.lang.String,int,int)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: null
    functionLinenumber: 539
    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: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].write(java.lang.String)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: null
    functionLinenumber: 558
    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: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].print(boolean)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: null
    functionLinenumber: 590
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].print(char)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: null
    functionLinenumber: 602
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].print(int)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: null
    functionLinenumber: 616
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].print(long)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: null
    functionLinenumber: 630
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].print(float)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: null
    functionLinenumber: 644
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "float"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].print(double)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: null
    functionLinenumber: 658
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].print(char[])"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: null
    functionLinenumber: 672
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "char[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].print(java.lang.String)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: null
    functionLinenumber: 685
    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: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].print(java.lang.Object)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: null
    functionLinenumber: 699
    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: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].println()"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: null
    functionLinenumber: 711
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].println(boolean)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: null
    functionLinenumber: 722
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].println(char)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: null
    functionLinenumber: 736
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].println(int)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: null
    functionLinenumber: 750
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].println(long)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: null
    functionLinenumber: 764
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].println(float)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: null
    functionLinenumber: 778
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "float"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].println(double)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: null
    functionLinenumber: 792
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].println(char[])"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: null
    functionLinenumber: 806
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "char[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].println(java.lang.String)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: null
    functionLinenumber: 820
    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: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].println(java.lang.Object)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: null
    functionLinenumber: 836
    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: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].printf(java.lang.String,java.lang.Object[])"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: null
    functionLinenumber: 888
    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: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].printf(java.util.Locale,java.lang.String,java.lang.Object[])"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: null
    functionLinenumber: 941
    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: []
      superClass: ""
      static: false
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.System].console()"
    functionSourceFile: "java.lang.System"
    linkageType: null
    functionLinenumber: 244
    functionDepth: 0
    returnType: "java.io.Console"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.System].getSecurityManager()"
    functionSourceFile: "java.lang.System"
    linkageType: null
    functionLinenumber: 374
    functionDepth: 0
    returnType: "java.lang.SecurityManager"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.System].getProperties()"
    functionSourceFile: "java.lang.System"
    linkageType: null
    functionLinenumber: 728
    functionDepth: 0
    returnType: "java.util.Properties"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.System].getProperty(java.lang.String)"
    functionSourceFile: "java.lang.System"
    linkageType: null
    functionLinenumber: 825
    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: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.System].getProperty(java.lang.String,java.lang.String)"
    functionSourceFile: "java.lang.System"
    linkageType: null
    functionLinenumber: 860
    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: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.System].getenv(java.lang.String)"
    functionSourceFile: "java.lang.System"
    linkageType: null
    functionLinenumber: 1009
    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: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.System].getenv()"
    functionSourceFile: "java.lang.System"
    linkageType: null
    functionLinenumber: 1058
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.System].runFinalization()"
    functionSourceFile: "java.lang.System"
    linkageType: null
    functionLinenumber: 1808
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.System].load(java.lang.String)"
    functionSourceFile: "java.lang.System"
    linkageType: null
    functionLinenumber: 1849
    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: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.System].loadLibrary(java.lang.String)"
    functionSourceFile: "java.lang.System"
    linkageType: null
    functionLinenumber: 1885
    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: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: true
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.System].mapLibraryName(java.lang.String)"
    functionSourceFile: "java.lang.System"
    linkageType: null
    functionLinenumber: -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: []
      superClass: ""
      static: true
      public: true
      classPublic: true
      concrete: false
      classConcrete: true
      classEnum: false
      javaLibraryMethod: true
    BBCount: 0
    CyclomaticComplexity: 0
